UNPKG

@hashicorp/design-system-components

Version:
45 lines (41 loc) 1.84 kB
import Component from '@glimmer/component'; import { action } from '@ember/object'; import { assert } from '@ember/debug'; import { precompileTemplate } from '@ember/template-compilation'; import { n } from 'decorator-transforms/runtime'; import { setComponentTemplate } from '@ember/component'; var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::Interactive\n class={{this.classNames}}\n @route={{@route}}\n @query={{hds-link-to-query @query}}\n @models={{hds-link-to-models @model @models}}\n @replace={{@replace}}\n {{on \"click\" this.onClick}}\n ...attributes\n aria-current={{if @isSelected \"page\" null}}\n>\n <Hds::Text::Body @tag=\"span\" @size=\"100\" @weight=\"medium\">\n <span class=\"sr-only\">{{hds-t \"hds.components.pagination.nav.number.screen-reader-label\" default=\"page\"}}</span>\n {{this.page}}\n </Hds::Text::Body>\n</Hds::Interactive>"); /** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ class HdsPaginationControlNumber extends Component { get page() { const { page } = this.args; assert('@page for "Pagination::Nav::Number" must have a valid value', page !== undefined); return page; } get classNames() { const classes = ['hds-pagination-nav__control', 'hds-pagination-nav__number']; if (this.args.isSelected) { classes.push(`hds-pagination-nav__number--is-selected`); } return classes.join(' '); } onClick() { const { onClick } = this.args; if (typeof onClick === 'function') { onClick(this.args.page); } } static { n(this.prototype, "onClick", [action]); } } setComponentTemplate(TEMPLATE, HdsPaginationControlNumber); export { HdsPaginationControlNumber as default }; //# sourceMappingURL=number.js.map