@gov-design-system-ce/components 4.0.8-rc16 → 4.0.8-rc17

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 (112) hide show
  1. package/dist/cjs/{array.utils-fcdab10c.js → array.utils-96eadde3.js} +5 -7
  2. package/dist/cjs/array.utils-96eadde3.js.map +1 -0
  3. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +2 -1
  4. package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gov-form-checkbox-group.cjs.entry.js +2 -1
  6. package/dist/cjs/gov-form-checkbox-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/gov-form-multi-select.cjs.entry.js +2 -1
  8. package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gov-form-select.cjs.entry.js +2 -1
  10. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gov-icon.cjs.entry.js +1 -1
  12. package/dist/cjs/gov-pagination.cjs.entry.js +2 -1
  13. package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gov-tabs.cjs.entry.js +16 -3
  15. package/dist/cjs/gov-tabs.cjs.entry.js.map +1 -1
  16. package/dist/cjs/helpers.types-ff60c9bd.js +14 -0
  17. package/dist/cjs/helpers.types-ff60c9bd.js.map +1 -0
  18. package/dist/collection/components/gov-tabs/gov-tabs.js +16 -3
  19. package/dist/collection/components/gov-tabs/gov-tabs.js.map +1 -1
  20. package/dist/components/gov-accordion-item.js +1 -1
  21. package/dist/components/gov-attachments-item.js +1 -1
  22. package/dist/components/gov-breadcrumbs.js +1 -1
  23. package/dist/components/gov-button.js +1 -1
  24. package/dist/components/gov-card.js +1 -1
  25. package/dist/components/gov-chip.js +1 -1
  26. package/dist/components/gov-form-autocomplete.js +1 -1
  27. package/dist/components/gov-form-checkbox-group.js +1 -1
  28. package/dist/components/gov-form-checkbox.js +1 -1
  29. package/dist/components/gov-form-file.js +1 -1
  30. package/dist/components/gov-form-input.js +1 -1
  31. package/dist/components/gov-form-multi-select.js +1 -1
  32. package/dist/components/gov-form-select.js +1 -1
  33. package/dist/components/gov-icon.js +1 -1
  34. package/dist/components/gov-infobar.js +1 -1
  35. package/dist/components/gov-loading.js +1 -1
  36. package/dist/components/gov-modal.js +1 -1
  37. package/dist/components/gov-pagination.js +1 -1
  38. package/dist/components/gov-prompt.js +1 -1
  39. package/dist/components/gov-side-nav-item.js +1 -1
  40. package/dist/components/gov-tabs.js +1 -1
  41. package/dist/components/gov-tabs.js.map +1 -1
  42. package/dist/components/gov-tag.js +1 -1
  43. package/dist/components/gov-toast.js +1 -1
  44. package/dist/components/gov-tooltip-content.js +1 -1
  45. package/dist/components/gov-wizard-item.js +1 -1
  46. package/dist/components/{p-73b7a376.js → p-3248435d.js} +2 -2
  47. package/dist/components/p-3f704a40.js +2 -0
  48. package/dist/components/p-3f704a40.js.map +1 -0
  49. package/dist/components/{p-68d5f793.js → p-44c731a0.js} +2 -2
  50. package/dist/components/{p-86aa4e6c.js → p-483d079f.js} +2 -2
  51. package/dist/components/{p-7fe30d5d.js → p-57bc98b3.js} +2 -2
  52. package/dist/components/{p-31fe0e76.js → p-8ac22724.js} +2 -2
  53. package/dist/components/{p-4c6666ce.js → p-e35fdedd.js} +2 -2
  54. package/dist/components/{p-95ac62b9.js → p-fd554fb4.js} +2 -2
  55. package/dist/core/core.esm.js +1 -1
  56. package/dist/core/p-065b396a.entry.js +2 -0
  57. package/dist/core/{p-58c875bb.entry.js.map → p-065b396a.entry.js.map} +1 -1
  58. package/dist/core/p-2aedc81e.js +2 -0
  59. package/dist/core/p-2aedc81e.js.map +1 -0
  60. package/dist/core/p-2db35d0f.entry.js +2 -0
  61. package/dist/core/{p-7b598f56.entry.js.map → p-2db35d0f.entry.js.map} +1 -1
  62. package/dist/core/{p-006d67fe.entry.js → p-98e89c46.entry.js} +2 -2
  63. package/dist/core/p-a50b306f.entry.js +2 -0
  64. package/dist/core/{p-4978aa0a.entry.js.map → p-a50b306f.entry.js.map} +1 -1
  65. package/dist/core/p-afb86442.entry.js +2 -0
  66. package/dist/core/{p-aa9b5731.entry.js.map → p-afb86442.entry.js.map} +1 -1
  67. package/dist/core/p-b18be1d6.entry.js +2 -0
  68. package/dist/core/p-b18be1d6.entry.js.map +1 -0
  69. package/dist/core/p-d0446df9.entry.js +2 -0
  70. package/dist/core/{p-332a43c7.entry.js.map → p-d0446df9.entry.js.map} +1 -1
  71. package/dist/core/p-ded281e6.js +2 -0
  72. package/dist/core/p-ded281e6.js.map +1 -0
  73. package/dist/esm/{array.utils-5ce9a471.js → array.utils-85696abd.js} +2 -4
  74. package/dist/esm/array.utils-85696abd.js.map +1 -0
  75. package/dist/esm/gov-form-autocomplete.entry.js +2 -1
  76. package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
  77. package/dist/esm/gov-form-checkbox-group.entry.js +2 -1
  78. package/dist/esm/gov-form-checkbox-group.entry.js.map +1 -1
  79. package/dist/esm/gov-form-multi-select.entry.js +2 -1
  80. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  81. package/dist/esm/gov-form-select.entry.js +2 -1
  82. package/dist/esm/gov-form-select.entry.js.map +1 -1
  83. package/dist/esm/gov-icon.entry.js +1 -1
  84. package/dist/esm/gov-pagination.entry.js +2 -1
  85. package/dist/esm/gov-pagination.entry.js.map +1 -1
  86. package/dist/esm/gov-tabs.entry.js +16 -3
  87. package/dist/esm/gov-tabs.entry.js.map +1 -1
  88. package/dist/esm/helpers.types-43ddbdb8.js +10 -0
  89. package/dist/{cjs/array.utils-fcdab10c.js.map → esm/helpers.types-43ddbdb8.js.map} +1 -1
  90. package/dist/hydrate/index.js +18 -3
  91. package/dist/hydrate/index.mjs +18 -3
  92. package/package.json +1 -1
  93. package/dist/components/p-0a6a373e.js +0 -2
  94. package/dist/components/p-0a6a373e.js.map +0 -1
  95. package/dist/core/p-0a6a373e.js +0 -2
  96. package/dist/core/p-0a6a373e.js.map +0 -1
  97. package/dist/core/p-332a43c7.entry.js +0 -2
  98. package/dist/core/p-4978aa0a.entry.js +0 -2
  99. package/dist/core/p-58c875bb.entry.js +0 -2
  100. package/dist/core/p-7b598f56.entry.js +0 -2
  101. package/dist/core/p-aa9b5731.entry.js +0 -2
  102. package/dist/core/p-e5817de9.entry.js +0 -2
  103. package/dist/core/p-e5817de9.entry.js.map +0 -1
  104. package/dist/esm/array.utils-5ce9a471.js.map +0 -1
  105. /package/dist/components/{p-73b7a376.js.map → p-3248435d.js.map} +0 -0
  106. /package/dist/components/{p-68d5f793.js.map → p-44c731a0.js.map} +0 -0
  107. /package/dist/components/{p-86aa4e6c.js.map → p-483d079f.js.map} +0 -0
  108. /package/dist/components/{p-7fe30d5d.js.map → p-57bc98b3.js.map} +0 -0
  109. /package/dist/components/{p-31fe0e76.js.map → p-8ac22724.js.map} +0 -0
  110. /package/dist/components/{p-4c6666ce.js.map → p-e35fdedd.js.map} +0 -0
  111. /package/dist/components/{p-95ac62b9.js.map → p-fd554fb4.js.map} +0 -0
  112. /package/dist/core/{p-006d67fe.entry.js.map → p-98e89c46.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["govTabsCss","GovTabsStyle0","GovTabs","constructor","hostRef","this","triggerRefs","h","govHost","host","formSelectId","createID","validateType","newValue","validateProp","TabTypes","TabsClass","root","validateVariant","TabVariants","componentWillLoad","prepareControllers","componentDidRender","canValidateWcagOnRender","delay","validateWcag","ignoreIndexing","controllers","promises","querySelectorAll","TabsItemClass","forEach","tab","controlItem","Promise","all","getIdentifier","getTriggerIdentifier","getDisableState","then","identifier","triggerIdentifier","disabled","isDefault","getAttribute","label","contentIdentifier","element","active","default","push","defaultTabIndex","findIndex","controller","focusIndex","reRender","setActiveByIdentifier","temp","map","item","control","setActiveStatus","catch","render","Host","key","class","classes","variant","type","role","wcagLabel","wcagLabelledBy","onKeyDown","onKeydownHandler","bind","tabs","toBoolAttr","compactControls","list","btn","id","onClick","onSelectHandler","tabindex","ref","el","tag","focusable","inverse","hidden","wcagSelectLabel","onChangeHandler","value","selected","getCurrentTab","find","index","t","govChange","emit","e","triggerId","target","stopPropagation","keyCode","goToPrevNext","includes","length","current","trigger","nodeName","toLowerCase","setFocus","focus","refresh","currentTab","setActiveTab","rerender","validateWcagProp","validateWcagLabel"],"sources":["../../../packages/core/src/components/gov-tabs/gov-tabs.scss?tag=gov-tabs","../../../packages/core/src/components/gov-tabs/gov-tabs.tsx"],"sourcesContent":["/*\n * Tabs\n */\n\n$class: \".gov-tabs\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@extend %reset-ul;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmargin: rem-calc(0 0 20);\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tdisplay: flex;\n\t\tmargin: 0;\n\t}\n\t&__btn {\n\t\t@include typography($font-size-s);\n\t\t@include button-core();\n\t\t@include focus-outline();\n\t\tmargin: 0;\n\t\tpadding: rem-calc(12 0 10);\n\t\tborder-bottom: rem-calc(2) solid transparent;\n\t\tfont-weight: 700;\n\t\ttext-align: center;\n\t\ttransition: $t linear color, $t linear border-color;\n\t\t&[disabled] {\n\t\t\tcursor: not-allowed;\n\t\t}\n\t}\n\n\t// VARIANTS\n\t@each $type, $definitions in $tabs-types {\n\t\t&[type=\"#{$type}\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__list {\n\t\t\t\t\tgap: get(\"item-spacing\", $definitions);\n\t\t\t\t\t@if deep-map-check($definitions, \"border\") {\n\t\t\t\t\t\tborder-bottom: $tabs-list-border;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t@each $variant, $definitions in $tabs-variants {\n\t\t&[variant=\"#{$variant}\"][type=\"text\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__btn:not([disabled]) {\n\t\t\t\t\tcolor: get(\"color\", $definitions);\n\t\t\t\t\t@include hover() {\n\t\t\t\t\t\tcolor: get(\"color-hover\", $definitions);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// STATES\n\t\t\t\t&__btn[aria-selected=\"true\"] {\n\t\t\t\t\tborder-bottom-color: get(\"color-active\", $definitions);\n\t\t\t\t\tcolor: get(\"color-active\", $definitions);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t&[orientation=\"vertical\"] {\n\t\t#{$class}__btn {\n\t\t\ttext-align: left;\n\t\t}\n\t}\n\n\t// MQ\n\t@include mq($from: xl) {\n\t\t&[orientation=\"vertical\"] {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\n\t\t\t#{$class}__list {\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t\tflex-direction: column;\n\t\t\t\twidth: max-content;\n\t\t\t\tmax-width: 30vw;\n\t\t\t\tmargin-right: rem-calc(20);\n\t\t\t\tpadding: rem-calc(0 8);\n\t\t\t\tborder-bottom: none;\n\t\t\t\tborder-right: $tabs-list-border;\n\t\t\t}\n\n\t\t\t#{$class}__item {\n\t\t\t\tjustify-content: flex-end;\n\t\t\t}\n\n\t\t\t#{$class}__btn {\n\t\t\t\tpadding: rem-calc(8 12);\n\t\t\t\ttext-align: right;\n\t\t\t}\n\t\t}\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\n\nimport {govHost, toBoolAttr} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {canValidateWcagOnRender} from \"../../helpers/Dom/win\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {validateWcagLabel, validateWcagProp} from \"../../helpers/Validate/wcag\"\nimport {Nullable} from \"../../types/interfaces\"\nimport {createID} from \"../../utils/string.utils\"\nimport {delay} from \"../../utils/utils\"\nimport {TabOrientationType, TabsClass, TabsItemClass, TabType, TabTypes, TabVariants, VariantType} from \"./constants\"\nimport {GovTabControllerItem} from \"./gov-tabs.types\"\n\n@Component({\n\ttag: \"gov-tabs\",\n\tstyleUrl: \"gov-tabs.scss\",\n})\nexport class GovTabs {\n\tprivate h: GovHost\n\tprivate triggerRefs: Record<string, HTMLButtonElement | HTMLGovChipElement> = {}\n\n\tprivate readonly formSelectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.formSelectId = createID(\"GovFormSelect\")\n\t}\n\n\t@Element() host: HTMLGovTabsElement\n\t@State() controllers: GovTabControllerItem[] = []\n\t@State() focusIndex = 0\n\t@State() compactControls = false\n\t/**\n\t * Tabs type\n\t */\n\t@Prop() readonly type: TabType = \"text\"\n\t/**\n\t * Style variation of the tab chips.\n\t */\n\t@Prop() readonly variant?: VariantType = \"primary\"\n\t/**\n\t * Tabs orientation\n\t */\n\t@Prop() readonly orientation: TabOrientationType = \"horizontal\"\n\t/**\n\t * Adds accessible label for the tabs that is only shown for screen readers.\n\t */\n\t@Prop({attribute: \"wcag-label\"}) readonly wcagLabel: string\n\t/**\n\t * Adds accessible label for the tabs select\n\t */\n\t@Prop({attribute: \"wcag-select-label\"}) readonly wcagSelectLabel: string\n\t/**\n\t * Indicates the id of a component that labels the tabs.\n\t */\n\t@Prop({attribute: \"wcag-labelled-by\"}) readonly wcagLabelledBy: string\n\t/**\n\t * Emitted when the tab is changed.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<HTMLGovTabsItemElement>\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(TabTypes, newValue, TabsClass.root)\n\t}\n\n\t@Watch(\"variant\")\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(TabVariants, newValue, TabsClass.root)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.prepareControllers()\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\tprivate prepareControllers(ignoreIndexing = false): void {\n\t\tthis.controllers = []\n\t\tconst promises: Promise<GovTabControllerItem>[] = []\n\t\tthis.host.querySelectorAll(TabsItemClass.root).forEach((tab: HTMLGovTabsItemElement) => {\n\t\t\tconst controlItem = Promise.all([\n\t\t\t\ttab.getIdentifier(),\n\t\t\t\ttab.getTriggerIdentifier(),\n\t\t\t\ttab.getDisableState()\n\t\t\t]).then(([identifier, triggerIdentifier, disabled]) => {\n\t\t\t\tconst isDefault = typeof tab.getAttribute(\"default\") === \"string\"\n\t\t\t\treturn {\n\t\t\t\t\tlabel: tab.getAttribute(\"label\"),\n\t\t\t\t\tcontentIdentifier: identifier,\n\t\t\t\t\tdisabled: disabled,\n\t\t\t\t\ttriggerIdentifier: triggerIdentifier,\n\t\t\t\t\telement: tab,\n\t\t\t\t\tactive: false,\n\t\t\t\t\tdefault: isDefault,\n\t\t\t\t}\n\t\t\t})\n\t\t\tpromises.push(controlItem)\n\t\t});\n\t\tPromise.all(promises).then(controllers => {\n\t\t\tif (ignoreIndexing) {\n\t\t\t\tlet defaultTabIndex = controllers.findIndex(controller => controller.default)\n\t\t\t\tif (defaultTabIndex === -1) defaultTabIndex = 0\n\t\t\t\tthis.focusIndex = defaultTabIndex\n\t\t\t\tcontrollers[defaultTabIndex].active = true\n\t\t\t}\n\t\t\tthis.controllers = [...controllers]\n\t\t\tthis.reRender()\n\t\t})\n\t}\n\n\tprivate setActiveByIdentifier(identifier: string) {\n\t\tconst temp = []\n\t\tthis.controllers.map(item => {\n\t\t\titem.active = identifier === item.triggerIdentifier || identifier === item.contentIdentifier\n\t\t\ttemp.push(item)\n\t\t})\n\t\tthis.controllers = [...temp]\n\t}\n\n\tprivate reRender() {\n\t\tthis.controllers.map(control => {\n\t\t\tcontrol.element.setActiveStatus(control.active).catch()\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TabsClass.root)}\n\t\t\t\tvariant={this.variant}\n\t\t\t\ttype={this.type}\n\t\t\t\trole=\"tablist\"\n\t\t\t\taria-label={this.wcagLabel}\n\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\tonKeyDown={this.onKeydownHandler.bind(this)}\n\t\t\t>\n\t\t\t\t<div class={TabsClass.tabs} aria-hidden={toBoolAttr(this.compactControls)}>\n\t\t\t\t\t<ul class={TabsClass.list}>\n\t\t\t\t\t\t{this.controllers.map(control => (\n\t\t\t\t\t\t\t<li class={TabsClass.item}>\n\t\t\t\t\t\t\t\t{this.type == \"text\" ? (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={TabsClass.btn}\n\t\t\t\t\t\t\t\t\t\tid={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\taria-disabled={toBoolAttr(control.disabled)}\n\t\t\t\t\t\t\t\t\t\taria-selected={toBoolAttr(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\ttabindex={control.active && !control.disabled ? 0 : -1}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLButtonElement)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<gov-chip\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\ttag={'button'}\n\t\t\t\t\t\t\t\t\t\tidentifier={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\twcag-selected={control.active}\n\t\t\t\t\t\t\t\t\t\twcag-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\tfocusable={control.active}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\t\t\t\t\t\tinverse={!control.active}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLGovChipElement)}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t</gov-chip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\t\t\t\t<span id={this.formSelectId} hidden>\n\t\t\t\t\t{this.wcagSelectLabel}\n\t\t\t\t</span>\n\t\t\t\t{this.compactControls ? (\n\t\t\t\t\t<gov-form-select wcag-labelled-by={this.formSelectId} onGov-change={this.onChangeHandler.bind(this)}>\n\t\t\t\t\t\t{this.controllers.map(control => (\n\t\t\t\t\t\t\t<option value={control.triggerIdentifier} selected={control.active}>\n\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</gov-form-select>\n\t\t\t\t) : null}\n\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate getCurrentTab(): GovTabControllerItem | null {\n\t\treturn this.controllers.find(control => control.active) || null\n\t}\n\n\tprivate onSelectHandler(control: GovTabControllerItem) {\n\t\tconst index = this.controllers.findIndex(t => t.triggerIdentifier === control.triggerIdentifier);\n\t\tthis.focusIndex = index\n\t\tthis.setActiveByIdentifier(control.triggerIdentifier)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onChangeHandler(e: CustomEvent) {\n\t\tconst triggerId = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.setActiveByIdentifier(triggerId)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onKeydownHandler(e: KeyboardEvent) {\n\t\tconst keyCode = e.keyCode\n\n\t\te.stopPropagation()\n\t\tthis.goToPrevNext(keyCode)\n\t}\n\n\tprivate goToPrevNext(keyCode: number) {\n\t\tif ([37, 38, 39, 40].includes(keyCode)) {\n\t\t\tif (false === (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.controllers[this.focusIndex].active = false\n\n\t\t\tif (keyCode === 39 || keyCode === 40) {\n\t\t\t\tthis.focusIndex++\n\t\t\t\tif (this.focusIndex >= this.controllers.length) {\n\t\t\t\t\tthis.focusIndex = 0\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(40)\n\t\t\t\t}\n\t\t\t} else if (keyCode === 37 || keyCode === 38) {\n\t\t\t\tthis.focusIndex--\n\t\t\t\tif (this.focusIndex < 0) {\n\t\t\t\t\tthis.focusIndex = this.controllers.length - 1\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(38)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1) {\n\t\t\t\tconst current = this.controllers[this.focusIndex]\n\t\t\t\tcurrent.active = true\n\t\t\t\tconst trigger = this.triggerRefs[current.triggerIdentifier]\n\t\t\t\tif (trigger.nodeName.toLowerCase() === 'gov-chip') {\n\t\t\t\t\t(this.triggerRefs[current.triggerIdentifier] as HTMLGovChipElement).setFocus()\n\t\t\t\t} else {\n\t\t\t\t\tthis.triggerRefs[current.triggerIdentifier].focus()\n\t\t\t\t}\n\n\t\t\t\tthis.controllers = [...this.controllers]\n\t\t\t\tthis.reRender()\n\t\t\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync refresh(): Promise<void> {\n\t\tthis.prepareControllers()\n\t}\n\n\t/**\n\t * Returns the currently selected tabs-item\n\t */\n\t@Method()\n\tasync currentTab(): Promise<Nullable<HTMLGovTabsItemElement>> {\n\t\treturn this.getCurrentTab().element || null\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync setActiveTab(identifier: string): Promise<void> {\n\t\tthis.setActiveByIdentifier(identifier)\n\t\tthis.reRender()\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync rerender(): Promise<void> {\n\t\tthis.prepareControllers(true);\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagProp(this.wcagSelectLabel, \"wcag-select-label\", TabsClass.root)\n\t\tvalidateWcagLabel(this.wcagLabel, this.wcagLabelledBy, TabsClass.root)\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"file":"array.utils-5ce9a471.js","mappings":"AAyDO,MAAM,EAAE,GAAG,CAAI,KAA2B,KAAiB,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AA6BjG,MAAM,QAAQ,GAAG,CAAmB,GAAY,KAAe,OAAO,GAAG,KAAK,QAAQ,CAAC;AACvF,MAAM,QAAQ,GAAG,CAAC,KAAc,KAAsB,EAAE,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ;;ACrF5F,MAAM,eAAe,GAAG,CAAC,KAAc;IAC7C,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;QACpC,IAAI;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9C,OAAO,MAAM,CAAC;aACd;SACD;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,IAAI,CAAA;SACX;KACD;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;;MCbY,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAU;IACxD,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;QACnD,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;KAC5C;IACD,OAAO,EAAE,CAAA;AACV,EAAC;MAEY,iBAAiB,GAAG,CAAI,KAAc;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,OAAO,KAAU,CAAC;KAClB;SAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC1B,OAAO,MAAW,CAAC;SACnB;KACD;IACD,OAAO,EAAO,CAAC;AAChB;;;;","names":[],"sources":["../../../packages/core/src/utils/helpers.types.ts","../../../packages/core/src/utils/object.utils.ts","../../../packages/core/src/utils/array.utils.ts"],"sourcesContent":["\nexport type Optional<T> = T | undefined;\nexport type Nullable<T> = T | null;\nexport type OptionalProperty<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\nexport type ValueOf<T> = T[keyof T];\n\nexport type DeepPartial<T> = {\n\t[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport type ObjectOrArrayType<T> = T | T[];\nexport const ObjectOrArray = {\n\tfirst: <T>(item: ObjectOrArrayType<T>): T => (Array.isArray(item) ? item[0] : item),\n\tarray: <T>(item: ObjectOrArrayType<T>): T[] => (Array.isArray(item) ? item : [item]),\n};\n\nexport const Omit = <T extends object, P extends keyof T, R extends Omit<T, P>>(properties: P[], object: T): R =>\n\tObject.entries(object).reduce(\n\t\t(all, [key, value]) => (properties.includes(key as P) ? all : { ...all, [key]: value }),\n\t\t{} as R\n\t);\n\nexport const whenDefined =\n\t<I, O>(fn: (input: I) => O) =>\n\t(value?: I): O | undefined =>\n\t\tvalue ? fn(value) : undefined;\n\n/**\n * Comparator function which defines the sort order\n * @example\n * ```\n * // sorts objects by `id` property\n * [{ id: 3 }, { id: 2 }, { id: 1 }].sort(compare(['id']))\n *\n * // sorts objects by `id` and `name` properties\n * [{ id: 3, name: 'b' }, { id: 2, name: 'a' }, { id: 1, name: 'b' }].sort(compare(['id', 'name']))\n * ```\n *\n * @param {Array<keyof T>} properties\n * @return {number}\n */\nexport const compare =\n\t<T extends object>(properties: Array<keyof T>) =>\n\t(a: T, b: T): number => {\n\t\tconst [property, ...rest] = properties;\n\t\tif (!property) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (a[property] < b[property]) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (a[property] > b[property]) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn rest.length > 0 ? compare(rest)(a, b) : 0;\n\t};\n\nexport const is = <T>(value: T | undefined | null): value is T => value !== undefined && value !== null;\n\nexport const has =\n\t<T extends object, P extends keyof T>(property: P) =>\n\t(object: OptionalProperty<T, P>): object is T => {\n\t\treturn !!object[property];\n\t};\n\nexport const equals =\n\t<A>(a?: A) =>\n\t(b?: A): boolean =>\n\t\ta === b;\nexport const prop =\n\t<T, P extends keyof T>(property: P) =>\n\t(object: T): T[P] =>\n\t\tobject[property];\n\nexport const propOptional =\n\t<T, P extends keyof T>(property: P) =>\n\t(object?: T): Optional<T[P]> =>\n\t\tobject ? object[property] : undefined;\n\nexport const hasOwnProperty = <X extends object, Y extends PropertyKey>(\n\tobj: X,\n\tprop: Y\n): obj is X & Record<Y, ValueOf<X>> => {\n\treturn Object.prototype.hasOwnProperty.call(obj, prop);\n};\n\nexport const isObject = <T extends object>(obj: unknown): obj is T => typeof obj === 'object';\nexport const isString = (input: unknown): input is string => is(input) && typeof input === 'string';\nexport const isNumber = (input: unknown): input is string => is(input) && typeof input === 'number';\n\ntype Entries<T> = {\n\t[K in keyof T]: [K, T[K]];\n}[keyof T][];\nexport const getEntries = <T extends object>(obj: T) => Object.entries(obj) as Entries<T>;\n\nexport const getKeys = <T extends object>(obj: T) => Object.keys(obj) as Array<keyof T>;\nexport const getValues = <T extends object>(obj: T) => Object.values(obj) as Array<ValueOf<T>>;\n\nexport const first = <T>(array: T[]): Optional<T> => array[0];\n\nexport const pairs = <T>(arr: T[]): Array<[string, string]> =>\n\tarr.flatMap((item1, index1) => arr.flatMap((item2, index2) => (index1 > index2 ? [[item1, item2]] : []))) as any;\n\nexport const find =\n\t<T, S extends T>(predicate: (item: T) => item is S) =>\n\t(array?: T[]): Optional<S> =>\n\t\t(array || []).find(predicate);\nexport const filter =\n\t<T, S extends T>(predicate: (item: T) => item is S) =>\n\t(array?: T[]): S[] =>\n\t\t(array || []).filter(predicate);\n","import {isObject, isString} from \"./helpers.types\";\n\nexport const parseJSONString = (value: unknown): object | [] | null => {\n\tif (isString(value) && value.length) {\n\t\ttry {\n\t\t\tconsole.log(value);\n\t\t\tconst parsed = JSON.parse(value);\n\t\t\tif (Array.isArray(parsed) || isObject(parsed)) {\n\t\t\t\treturn parsed;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.log(e);\n\t\t\treturn null\n\t\t}\n\t}\n\treturn null\n}\n","import {parseJSONString} from \"./object.utils\";\nimport {isString} from \"./helpers.types\";\n\nexport const createArrayRange = (from: number, to: number): number[] => {\n\tif (Number.isInteger(from) && Number.isInteger(to)) {\n\t\treturn [...Array(to + 1).keys()].slice(from)\n\t}\n\treturn []\n}\n\nexport const propsValueToArray = <T>(value: unknown): T => {\n\tif (Array.isArray(value)) {\n\t\treturn value as T;\n\t} else if (isString(value)) {\n\t\tconst parsed = parseJSONString(value)\n\t\tif (Array.isArray(parsed)) {\n\t\t\treturn parsed as T;\n\t\t}\n\t}\n\treturn [] as T;\n}\n"],"version":3}