@haiilo/catalyst 6.1.0 → 6.1.3
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.
- package/dist/catalyst/catalyst.esm.js +1 -1
- package/dist/catalyst/catalyst.esm.js.map +1 -1
- package/dist/catalyst/index.esm.js +2 -2
- package/dist/catalyst/index.esm.js.map +1 -1
- package/dist/catalyst/{p-d7dc291a.js → p-42e63e08.js} +1 -1
- package/dist/catalyst/p-42e63e08.js.map +1 -0
- package/dist/catalyst/p-570a1382.entry.js +10 -0
- package/dist/catalyst/p-570a1382.entry.js.map +1 -0
- package/dist/catalyst/p-897412f2.js +3 -0
- package/dist/catalyst/p-897412f2.js.map +1 -0
- package/dist/cjs/cat-alert_25.cjs.entry.js +15 -19
- package/dist/cjs/cat-alert_25.cjs.entry.js.map +1 -1
- package/dist/cjs/{cat-icon-registry-6161e2ee.js → cat-icon-registry-5c292d3f.js} +1 -1
- package/dist/cjs/cat-icon-registry-5c292d3f.js.map +1 -0
- package/dist/cjs/catalyst.cjs.js +3 -6
- package/dist/cjs/catalyst.cjs.js.map +1 -1
- package/dist/cjs/{index-4258b31e.js → index-8d1f4d8e.js} +89 -32
- package/dist/cjs/index-8d1f4d8e.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -11
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +27 -27
- package/dist/collection/components/cat-alert/cat-alert.e2e.js +11 -0
- package/dist/collection/components/cat-alert/cat-alert.e2e.js.map +1 -0
- package/dist/collection/components/cat-alert/cat-alert.js +2 -2
- package/dist/collection/components/cat-alert/cat-alert.spec.js +21 -0
- package/dist/collection/components/cat-alert/cat-alert.spec.js.map +1 -0
- package/dist/collection/components/cat-avatar/cat-avatar.e2e.js +10 -0
- package/dist/collection/components/cat-avatar/cat-avatar.e2e.js.map +1 -0
- package/dist/collection/components/cat-avatar/cat-avatar.js +3 -3
- package/dist/collection/components/cat-avatar/cat-avatar.spec.js +18 -0
- package/dist/collection/components/cat-avatar/cat-avatar.spec.js.map +1 -0
- package/dist/collection/components/cat-badge/cat-badge.e2e.js +10 -0
- package/dist/collection/components/cat-badge/cat-badge.e2e.js.map +1 -0
- package/dist/collection/components/cat-badge/cat-badge.js +1 -1
- package/dist/collection/components/cat-badge/cat-badge.spec.js +18 -0
- package/dist/collection/components/cat-badge/cat-badge.spec.js.map +1 -0
- package/dist/collection/components/cat-button/cat-button.e2e.js +10 -0
- package/dist/collection/components/cat-button/cat-button.e2e.js.map +1 -0
- package/dist/collection/components/cat-button/cat-button.js +20 -12
- package/dist/collection/components/cat-button/cat-button.js.map +1 -1
- package/dist/collection/components/cat-button/cat-button.spec.js +18 -0
- package/dist/collection/components/cat-button/cat-button.spec.js.map +1 -0
- package/dist/collection/components/cat-button-group/cat-button-group.e2e.js +10 -0
- package/dist/collection/components/cat-button-group/cat-button-group.e2e.js.map +1 -0
- package/dist/collection/components/cat-button-group/cat-button-group.js +1 -1
- package/dist/collection/components/cat-button-group/cat-button-group.spec.js +18 -0
- package/dist/collection/components/cat-button-group/cat-button-group.spec.js.map +1 -0
- package/dist/collection/components/cat-card/cat-card.e2e.js +10 -0
- package/dist/collection/components/cat-card/cat-card.e2e.js.map +1 -0
- package/dist/collection/components/cat-card/cat-card.js +1 -1
- package/dist/collection/components/cat-card/cat-card.spec.js +18 -0
- package/dist/collection/components/cat-card/cat-card.spec.js.map +1 -0
- package/dist/collection/components/cat-checkbox/cat-checkbox.css +3 -0
- package/dist/collection/components/cat-checkbox/cat-checkbox.e2e.js +10 -0
- package/dist/collection/components/cat-checkbox/cat-checkbox.e2e.js.map +1 -0
- package/dist/collection/components/cat-checkbox/cat-checkbox.js +34 -33
- package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +1 -1
- package/dist/collection/components/cat-checkbox/cat-checkbox.spec.js +29 -0
- package/dist/collection/components/cat-checkbox/cat-checkbox.spec.js.map +1 -0
- package/dist/collection/components/cat-datepicker/cat-datepicker.e2e.js +11 -0
- package/dist/collection/components/cat-datepicker/cat-datepicker.e2e.js.map +1 -0
- package/dist/collection/components/cat-datepicker/cat-datepicker.js +18 -12
- package/dist/collection/components/cat-datepicker/cat-datepicker.js.map +1 -1
- package/dist/collection/components/cat-datepicker/cat-datepicker.locale.js +1 -1
- package/dist/collection/components/cat-datepicker/cat-datepicker.spec.js +19 -0
- package/dist/collection/components/cat-datepicker/cat-datepicker.spec.js.map +1 -0
- package/dist/collection/components/cat-dropdown/cat-dropdown.e2e.js +10 -0
- package/dist/collection/components/cat-dropdown/cat-dropdown.e2e.js.map +1 -0
- package/dist/collection/components/cat-dropdown/cat-dropdown.js +17 -11
- package/dist/collection/components/cat-dropdown/cat-dropdown.js.map +1 -1
- package/dist/collection/components/cat-dropdown/cat-dropdown.spec.js +26 -0
- package/dist/collection/components/cat-dropdown/cat-dropdown.spec.js.map +1 -0
- package/dist/collection/components/cat-form-group/cat-form-group.e2e.js +10 -0
- package/dist/collection/components/cat-form-group/cat-form-group.e2e.js.map +1 -0
- package/dist/collection/components/cat-form-group/cat-form-group.js +1 -1
- package/dist/collection/components/cat-form-group/cat-form-group.spec.js +18 -0
- package/dist/collection/components/cat-form-group/cat-form-group.spec.js.map +1 -0
- package/dist/collection/components/cat-form-hint/cat-form-hint.js +2 -2
- package/dist/collection/components/cat-form-hint/cat-form-hint.spec.js +15 -0
- package/dist/collection/components/cat-form-hint/cat-form-hint.spec.js.map +1 -0
- package/dist/collection/components/cat-i18n/cat-i18n-registry.js +1 -1
- package/dist/collection/components/cat-i18n/cat-i18n-registry.spec.js +7 -0
- package/dist/collection/components/cat-i18n/cat-i18n-registry.spec.js.map +1 -0
- package/dist/collection/components/cat-icon/cat-icon-registry.js +13 -13
- package/dist/collection/components/cat-icon/cat-icon-registry.spec.js +7 -0
- package/dist/collection/components/cat-icon/cat-icon-registry.spec.js.map +1 -0
- package/dist/collection/components/cat-icon/cat-icon.e2e.js +11 -0
- package/dist/collection/components/cat-icon/cat-icon.e2e.js.map +1 -0
- package/dist/collection/components/cat-icon/cat-icon.js +2 -2
- package/dist/collection/components/cat-icon/cat-icon.spec.js +15 -0
- package/dist/collection/components/cat-icon/cat-icon.spec.js.map +1 -0
- package/dist/collection/components/cat-input/cat-input.e2e.js +11 -0
- package/dist/collection/components/cat-input/cat-input.e2e.js.map +1 -0
- package/dist/collection/components/cat-input/cat-input.js +21 -13
- package/dist/collection/components/cat-input/cat-input.js.map +1 -1
- package/dist/collection/components/cat-input/cat-input.spec.js +36 -0
- package/dist/collection/components/cat-input/cat-input.spec.js.map +1 -0
- package/dist/collection/components/cat-notification/cat-notification.js +4 -3
- package/dist/collection/components/cat-notification/cat-notification.js.map +1 -1
- package/dist/collection/components/cat-notification/cat-notification.spec.js +7 -0
- package/dist/collection/components/cat-notification/cat-notification.spec.js.map +1 -0
- package/dist/collection/components/cat-pagination/cat-pagination.e2e.js +14 -0
- package/dist/collection/components/cat-pagination/cat-pagination.e2e.js.map +1 -0
- package/dist/collection/components/cat-pagination/cat-pagination.js +2 -2
- package/dist/collection/components/cat-pagination/cat-pagination.spec.js +31 -0
- package/dist/collection/components/cat-pagination/cat-pagination.spec.js.map +1 -0
- package/dist/collection/components/cat-radio/cat-radio.e2e.js +10 -0
- package/dist/collection/components/cat-radio/cat-radio.e2e.js.map +1 -0
- package/dist/collection/components/cat-radio/cat-radio.js +13 -8
- package/dist/collection/components/cat-radio/cat-radio.js.map +1 -1
- package/dist/collection/components/cat-radio/cat-radio.spec.js +24 -0
- package/dist/collection/components/cat-radio/cat-radio.spec.js.map +1 -0
- package/dist/collection/components/cat-radio-group/cat-radio-group.e2e.js +10 -0
- package/dist/collection/components/cat-radio-group/cat-radio-group.e2e.js.map +1 -0
- package/dist/collection/components/cat-radio-group/cat-radio-group.js +5 -3
- package/dist/collection/components/cat-radio-group/cat-radio-group.js.map +1 -1
- package/dist/collection/components/cat-radio-group/cat-radio-group.spec.js +20 -0
- package/dist/collection/components/cat-radio-group/cat-radio-group.spec.js.map +1 -0
- package/dist/collection/components/cat-scrollable/cat-scrollable.e2e.js +10 -0
- package/dist/collection/components/cat-scrollable/cat-scrollable.e2e.js.map +1 -0
- package/dist/collection/components/cat-scrollable/cat-scrollable.js +6 -4
- package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
- package/dist/collection/components/cat-scrollable/cat-scrollable.spec.js +25 -0
- package/dist/collection/components/cat-scrollable/cat-scrollable.spec.js.map +1 -0
- package/dist/collection/components/cat-select/cat-select.e2e.js +14 -0
- package/dist/collection/components/cat-select/cat-select.e2e.js.map +1 -0
- package/dist/collection/components/cat-select/cat-select.js +39 -23
- package/dist/collection/components/cat-select/cat-select.js.map +1 -1
- package/dist/collection/components/cat-select/cat-select.spec.js +41 -0
- package/dist/collection/components/cat-select/cat-select.spec.js.map +1 -0
- package/dist/collection/components/cat-select-demo/cat-select-demo.js +2 -2
- package/dist/collection/components/cat-skeleton/cat-skeleton.e2e.js +10 -0
- package/dist/collection/components/cat-skeleton/cat-skeleton.e2e.js.map +1 -0
- package/dist/collection/components/cat-skeleton/cat-skeleton.js +1 -1
- package/dist/collection/components/cat-skeleton/cat-skeleton.spec.js +18 -0
- package/dist/collection/components/cat-skeleton/cat-skeleton.spec.js.map +1 -0
- package/dist/collection/components/cat-spinner/cat-spinner.e2e.js +10 -0
- package/dist/collection/components/cat-spinner/cat-spinner.e2e.js.map +1 -0
- package/dist/collection/components/cat-spinner/cat-spinner.js +1 -1
- package/dist/collection/components/cat-spinner/cat-spinner.spec.js +18 -0
- package/dist/collection/components/cat-spinner/cat-spinner.spec.js.map +1 -0
- package/dist/collection/components/cat-tab/cat-tab.e2e.js +10 -0
- package/dist/collection/components/cat-tab/cat-tab.e2e.js.map +1 -0
- package/dist/collection/components/cat-tab/cat-tab.js +5 -3
- package/dist/collection/components/cat-tab/cat-tab.js.map +1 -1
- package/dist/collection/components/cat-tab/cat-tab.spec.js +17 -0
- package/dist/collection/components/cat-tab/cat-tab.spec.js.map +1 -0
- package/dist/collection/components/cat-tabs/cat-tabs.e2e.js +10 -0
- package/dist/collection/components/cat-tabs/cat-tabs.e2e.js.map +1 -0
- package/dist/collection/components/cat-tabs/cat-tabs.js +1 -1
- package/dist/collection/components/cat-tabs/cat-tabs.spec.js +17 -0
- package/dist/collection/components/cat-tabs/cat-tabs.spec.js.map +1 -0
- package/dist/collection/components/cat-textarea/cat-textarea.e2e.js +11 -0
- package/dist/collection/components/cat-textarea/cat-textarea.e2e.js.map +1 -0
- package/dist/collection/components/cat-textarea/cat-textarea.js +20 -13
- package/dist/collection/components/cat-textarea/cat-textarea.js.map +1 -1
- package/dist/collection/components/cat-textarea/cat-textarea.spec.js +34 -0
- package/dist/collection/components/cat-textarea/cat-textarea.spec.js.map +1 -0
- package/dist/collection/components/cat-toggle/cat-toggle.e2e.js +10 -0
- package/dist/collection/components/cat-toggle/cat-toggle.e2e.js.map +1 -0
- package/dist/collection/components/cat-toggle/cat-toggle.js +13 -8
- package/dist/collection/components/cat-toggle/cat-toggle.js.map +1 -1
- package/dist/collection/components/cat-toggle/cat-toggle.spec.js +22 -0
- package/dist/collection/components/cat-toggle/cat-toggle.spec.js.map +1 -0
- package/dist/collection/components/cat-tooltip/cat-tooltip.e2e.js +10 -0
- package/dist/collection/components/cat-tooltip/cat-tooltip.e2e.js.map +1 -0
- package/dist/collection/components/cat-tooltip/cat-tooltip.js +8 -5
- package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +1 -1
- package/dist/collection/components/cat-tooltip/cat-tooltip.spec.js +24 -0
- package/dist/collection/components/cat-tooltip/cat-tooltip.spec.js.map +1 -0
- package/dist/collection/utils/first-tabbable.js +1 -1
- package/dist/collection/utils/media-matcher.js +2 -2
- package/dist/collection/utils/media-matcher.spec.js +39 -0
- package/dist/collection/utils/media-matcher.spec.js.map +1 -0
- package/dist/components/cat-alert.js +1 -1
- package/dist/components/cat-alert.js.map +1 -1
- package/dist/components/cat-avatar2.js +1 -1
- package/dist/components/cat-avatar2.js.map +1 -1
- package/dist/components/cat-badge.js +1 -1
- package/dist/components/cat-badge.js.map +1 -1
- package/dist/components/cat-button-group.js +1 -1
- package/dist/components/cat-button-group.js.map +1 -1
- package/dist/components/cat-button2.js +1 -1
- package/dist/components/cat-button2.js.map +1 -1
- package/dist/components/cat-card.js +1 -1
- package/dist/components/cat-card.js.map +1 -1
- package/dist/components/cat-checkbox2.js +6 -10
- package/dist/components/cat-checkbox2.js.map +1 -1
- package/dist/components/cat-datepicker.js +1 -1
- package/dist/components/cat-datepicker.js.map +1 -1
- package/dist/components/cat-dropdown2.js +1 -1
- package/dist/components/cat-dropdown2.js.map +1 -1
- package/dist/components/cat-form-group.js +1 -1
- package/dist/components/cat-form-group.js.map +1 -1
- package/dist/components/cat-form-hint.js.map +1 -1
- package/dist/components/cat-i18n-registry.js.map +1 -1
- package/dist/components/cat-icon-registry.js.map +1 -1
- package/dist/components/cat-icon2.js +1 -1
- package/dist/components/cat-icon2.js.map +1 -1
- package/dist/components/cat-input2.js +1 -1
- package/dist/components/cat-input2.js.map +1 -1
- package/dist/components/cat-pagination.js +1 -1
- package/dist/components/cat-pagination.js.map +1 -1
- package/dist/components/cat-radio-group.js +1 -1
- package/dist/components/cat-radio-group.js.map +1 -1
- package/dist/components/cat-radio.js +1 -1
- package/dist/components/cat-radio.js.map +1 -1
- package/dist/components/cat-scrollable2.js +5 -7
- package/dist/components/cat-scrollable2.js.map +1 -1
- package/dist/components/cat-select-demo.js +3 -3
- package/dist/components/cat-select-demo.js.map +1 -1
- package/dist/components/cat-select2.js +5 -3
- package/dist/components/cat-select2.js.map +1 -1
- package/dist/components/cat-skeleton2.js +1 -1
- package/dist/components/cat-skeleton2.js.map +1 -1
- package/dist/components/cat-spinner2.js +1 -1
- package/dist/components/cat-spinner2.js.map +1 -1
- package/dist/components/cat-tab.js +1 -1
- package/dist/components/cat-tab.js.map +1 -1
- package/dist/components/cat-tabs.js +1 -1
- package/dist/components/cat-tabs.js.map +1 -1
- package/dist/components/cat-textarea.js +1 -1
- package/dist/components/cat-textarea.js.map +1 -1
- package/dist/components/cat-toggle.js +1 -1
- package/dist/components/cat-toggle.js.map +1 -1
- package/dist/components/cat-tooltip.js +2 -2
- package/dist/components/cat-tooltip.js.map +1 -1
- package/dist/components/coerce.js.map +1 -1
- package/dist/components/floating-ui.dom.esm.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/loglevel.js.map +1 -1
- package/dist/esm/cat-alert_25.entry.js +15 -19
- package/dist/esm/cat-alert_25.entry.js.map +1 -1
- package/dist/esm/{cat-icon-registry-f15b29d9.js → cat-icon-registry-4fc73466.js} +1 -1
- package/dist/esm/cat-icon-registry-4fc73466.js.map +1 -0
- package/dist/esm/catalyst.js +4 -7
- package/dist/esm/catalyst.js.map +1 -1
- package/dist/esm/{index-636ce8d6.js → index-16bd9531.js} +89 -32
- package/dist/esm/index-16bd9531.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -12
- package/dist/esm/loader.js.map +1 -1
- package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +4 -5
- package/dist/types/stencil-public-runtime.d.ts +3 -0
- package/loader/index.d.ts +1 -1
- package/package.json +15 -13
- package/dist/catalyst/p-b218a2b0.entry.js +0 -10
- package/dist/catalyst/p-b218a2b0.entry.js.map +0 -1
- package/dist/catalyst/p-ce6a1db2.js +0 -3
- package/dist/catalyst/p-ce6a1db2.js.map +0 -1
- package/dist/catalyst/p-d7dc291a.js.map +0 -1
- package/dist/cjs/cat-icon-registry-6161e2ee.js.map +0 -1
- package/dist/cjs/index-4258b31e.js.map +0 -1
- package/dist/esm/cat-icon-registry-f15b29d9.js.map +0 -1
- package/dist/esm/index-636ce8d6.js.map +0 -1
- package/dist/esm/polyfills/css-shim.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { catI18nRegistry as i18n } from
|
|
1
|
+
import { catI18nRegistry as i18n } from "../cat-i18n/cat-i18n-registry";
|
|
2
2
|
export function getHour12(language) {
|
|
3
3
|
const dateStr = new Intl.DateTimeFormat(language, { hour: '2-digit', minute: '2-digit' })
|
|
4
4
|
.format(new Date())
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
jest.mock('../cat-i18n/cat-i18n-registry');
|
|
2
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
3
|
+
import { CatDatepickerFlat } from "./cat-datepicker";
|
|
4
|
+
describe('cat-datepicker', () => {
|
|
5
|
+
it('renders', async () => {
|
|
6
|
+
const page = await newSpecPage({
|
|
7
|
+
components: [CatDatepickerFlat],
|
|
8
|
+
html: `<cat-datepicker label="Label"></cat-datepicker>`
|
|
9
|
+
});
|
|
10
|
+
expect(page.root).toEqualHtml(`
|
|
11
|
+
<cat-datepicker label="Label">
|
|
12
|
+
<mock:shadow-root>
|
|
13
|
+
<cat-input errorupdate="0" label="Label" requiredmarker="optional"></cat-input>
|
|
14
|
+
</mock:shadow-root>
|
|
15
|
+
</cat-datepicker>
|
|
16
|
+
`);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=cat-datepicker.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-datepicker.spec.js","sourceRoot":"","sources":["../../../src/components/cat-datepicker/cat-datepicker.spec.tsx"],"names":[],"mappings":"AAAA,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;EAC9B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,iBAAiB,CAAC;MAC/B,IAAI,EAAE,iDAAiD;KACxD,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;KAM7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["jest.mock('../cat-i18n/cat-i18n-registry');\n\nimport { newSpecPage } from '@stencil/core/testing';\nimport { CatDatepickerFlat } from './cat-datepicker';\n\ndescribe('cat-datepicker', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [CatDatepickerFlat],\n html: `<cat-datepicker label=\"Label\"></cat-datepicker>`\n });\n expect(page.root).toEqualHtml(`\n <cat-datepicker label=\"Label\">\n <mock:shadow-root>\n <cat-input errorupdate=\"0\" label=\"Label\" requiredmarker=\"optional\"></cat-input>\n </mock:shadow-root>\n </cat-datepicker>\n `);\n });\n});\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
+
describe('cat-dropdown', () => {
|
|
3
|
+
it('renders', async () => {
|
|
4
|
+
const page = await newE2EPage();
|
|
5
|
+
await page.setContent('<cat-dropdown><button slot="trigger"></button><nav slot="content"></nav></cat-dropdown>');
|
|
6
|
+
const element = await page.find('cat-dropdown');
|
|
7
|
+
expect(element).toHaveClass('hydrated');
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=cat-dropdown.e2e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-dropdown.e2e.js","sourceRoot":"","sources":["../../../src/components/cat-dropdown/cat-dropdown.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;EAC5B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,MAAM,IAAI,CAAC,UAAU,CAAC,yFAAyF,CAAC,CAAC;IAEjH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;EAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\n\ndescribe('cat-dropdown', () => {\n it('renders', async () => {\n const page = await newE2EPage();\n await page.setContent('<cat-dropdown><button slot=\"trigger\"></button><nav slot=\"content\"></nav></cat-dropdown>');\n\n const element = await page.find('cat-dropdown');\n expect(element).toHaveClass('hydrated');\n });\n});\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { autoUpdate, computePosition, flip, offset, size } from
|
|
2
|
-
import { timeTransitionS } from
|
|
3
|
-
import { h, Host } from
|
|
4
|
-
import * as focusTrap from
|
|
5
|
-
import { tabbable } from
|
|
6
|
-
import firstTabbable from
|
|
1
|
+
import { autoUpdate, computePosition, flip, offset, size } from "@floating-ui/dom";
|
|
2
|
+
import { timeTransitionS } from "@haiilo/catalyst-tokens";
|
|
3
|
+
import { h, Host } from "@stencil/core";
|
|
4
|
+
import * as focusTrap from "focus-trap";
|
|
5
|
+
import { tabbable } from "tabbable";
|
|
6
|
+
import firstTabbable from "../../utils/first-tabbable";
|
|
7
7
|
let nextUniqueId = 0;
|
|
8
|
-
|
|
8
|
+
class CatDropdown {
|
|
9
9
|
constructor() {
|
|
10
10
|
this.id = nextUniqueId++;
|
|
11
11
|
this.isOpen = false;
|
|
@@ -188,7 +188,8 @@ export class CatDropdown {
|
|
|
188
188
|
"references": {
|
|
189
189
|
"Placement": {
|
|
190
190
|
"location": "import",
|
|
191
|
-
"path": "@floating-ui/dom"
|
|
191
|
+
"path": "@floating-ui/dom",
|
|
192
|
+
"id": "../node_modules/.pnpm/@floating-ui+dom@1.3.0/node_modules/@floating-ui/dom/index.d.ts::Placement"
|
|
192
193
|
}
|
|
193
194
|
}
|
|
194
195
|
},
|
|
@@ -256,7 +257,8 @@ export class CatDropdown {
|
|
|
256
257
|
"resolved": "FocusEvent",
|
|
257
258
|
"references": {
|
|
258
259
|
"FocusEvent": {
|
|
259
|
-
"location": "global"
|
|
260
|
+
"location": "global",
|
|
261
|
+
"id": "global::FocusEvent"
|
|
260
262
|
}
|
|
261
263
|
}
|
|
262
264
|
}
|
|
@@ -275,7 +277,8 @@ export class CatDropdown {
|
|
|
275
277
|
"resolved": "FocusEvent",
|
|
276
278
|
"references": {
|
|
277
279
|
"FocusEvent": {
|
|
278
|
-
"location": "global"
|
|
280
|
+
"location": "global",
|
|
281
|
+
"id": "global::FocusEvent"
|
|
279
282
|
}
|
|
280
283
|
}
|
|
281
284
|
}
|
|
@@ -289,7 +292,8 @@ export class CatDropdown {
|
|
|
289
292
|
"parameters": [],
|
|
290
293
|
"references": {
|
|
291
294
|
"Promise": {
|
|
292
|
-
"location": "global"
|
|
295
|
+
"location": "global",
|
|
296
|
+
"id": "global::Promise"
|
|
293
297
|
}
|
|
294
298
|
},
|
|
295
299
|
"return": "Promise<void>"
|
|
@@ -310,6 +314,8 @@ export class CatDropdown {
|
|
|
310
314
|
"passive": false
|
|
311
315
|
}];
|
|
312
316
|
}
|
|
317
|
+
static get stencilHasStaticMembersWithInit() { return true; }
|
|
313
318
|
}
|
|
314
319
|
CatDropdown.OFFSET = 4;
|
|
320
|
+
export { CatDropdown };
|
|
315
321
|
//# sourceMappingURL=cat-dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat-dropdown.js","sourceRoot":"","sources":["../../../src/components/cat-dropdown/cat-dropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import { autoUpdate, computePosition, flip, offset, Placement, size } from '@floating-ui/dom';\nimport { timeTransitionS } from '@haiilo/catalyst-tokens';\nimport { Component, Event, EventEmitter, h, Host, Listen, Method, Prop } from '@stencil/core';\nimport * as focusTrap from 'focus-trap';\nimport { FocusableElement, tabbable } from 'tabbable';\nimport firstTabbable from '../../utils/first-tabbable';\n\nlet nextUniqueId = 0;\n\n@Component({\n tag: 'cat-dropdown',\n styleUrl: 'cat-dropdown.scss',\n shadow: true\n})\nexport class CatDropdown {\n private static readonly OFFSET = 4;\n private readonly id = nextUniqueId++;\n private triggerSlot!: HTMLSlotElement;\n private trigger?: FocusableElement;\n private content!: HTMLElement;\n private trap?: focusTrap.FocusTrap;\n private keyListener?: (event: KeyboardEvent) => void;\n private isOpen: boolean | null = false;\n\n /**\n * The placement of the dropdown.\n */\n @Prop() placement: Placement = 'bottom-start';\n\n /**\n * Do not close the dropdown on outside clicks.\n */\n @Prop() noAutoClose = false;\n\n /**\n * Allow overflow when dropdown is open.\n */\n @Prop() overflow = false;\n\n /**\n * Emitted when the dropdown is opened.\n */\n @Event() catOpen!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the dropdown is closed.\n */\n @Event() catClose!: EventEmitter<FocusEvent>;\n\n @Listen('catClick')\n clickHandler(event: CustomEvent<MouseEvent>) {\n // we need to delay the initialization of the trigger until first,\n // interaction because the element might still be hidden (and thus not\n // tabbable) if contained in another Stencil web component\n if (!this.trigger) {\n this.initTrigger();\n this.toggle();\n }\n\n const button = event.target as HTMLButtonElement;\n\n // hide dropdown on button click\n if (!this.noAutoClose && event.composedPath().includes(this.content) && button.slot !== 'trigger') {\n this.close();\n }\n }\n\n /**\n * Toggles the dropdown.\n */\n async toggle(): Promise<void> {\n this.isOpen ? this.close() : this.open();\n }\n\n /**\n * Opens the dropdown.\n */\n async open(): Promise<void> {\n if (this.isOpen === null) {\n return; // busy\n }\n\n this.isOpen = null;\n this.content.style.display = 'block';\n // give CSS transition time to apply\n setTimeout(() => {\n this.isOpen = true;\n this.content.classList.add('show');\n this.trigger?.setAttribute('aria-expanded', 'true');\n this.catOpen.emit();\n this.trap = this.trap\n ? this.trap.updateContainerElements(this.content)\n : focusTrap.createFocusTrap(this.content, {\n tabbableOptions: {\n getShadowRoot: true\n },\n allowOutsideClick: true,\n clickOutsideDeactivates: event => {\n const shouldClose =\n !this.noAutoClose &&\n !event.composedPath().includes(this.content) &&\n (!this.trigger || !event.composedPath().includes(this.trigger));\n if (shouldClose) {\n this.close();\n }\n return shouldClose;\n },\n onPostDeactivate: () => this.close()\n });\n this.trap.activate();\n });\n }\n\n /**\n * Closes the dropdown.\n */\n @Method()\n async close(): Promise<void> {\n if (this.isOpen === null || !this.isOpen) {\n return; // busy\n }\n\n this.isOpen = null;\n this.content.classList.remove('show');\n // give CSS transition time to apply\n setTimeout(() => {\n this.isOpen = false;\n this.content.classList.remove('show');\n this.content.style.display = '';\n this.trigger?.setAttribute('aria-expanded', 'false');\n this.trap?.deactivate();\n this.catClose.emit();\n }, timeTransitionS);\n }\n\n componentDidLoad(): void {\n this.keyListener = event => {\n if (this.isOpen && ['ArrowDown', 'ArrowUp'].includes(event.key)) {\n const targetElements = tabbable(this.content, { includeContainer: false, getShadowRoot: true });\n const activeElement = firstTabbable(document.activeElement);\n const activeIdx = activeElement ? targetElements.indexOf(activeElement) : -1;\n const activeOff = event.key === 'ArrowDown' ? 1 : -1;\n const targetIdx = activeIdx < 0 ? 0 : (activeIdx + activeOff + targetElements.length) % targetElements.length;\n targetElements[targetIdx].focus();\n event.preventDefault();\n }\n };\n document.addEventListener('keydown', this.keyListener);\n }\n\n disconnectedCallback(): void {\n if (this.keyListener) {\n document.removeEventListener('keydown', this.keyListener);\n }\n }\n\n render() {\n return (\n <Host>\n <slot name=\"trigger\" ref={el => (this.triggerSlot = el as HTMLSlotElement)}></slot>\n <div\n id={this.contentId}\n class={{ content: true, 'overflow-auto': !this.overflow }}\n ref={el => (this.content = el as HTMLElement)}\n >\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n\n private get contentId() {\n return `cat-dropdown-${this.id}`;\n }\n\n private initTrigger() {\n this.trigger = this.findTrigger();\n this.trigger.setAttribute('aria-haspopup', 'true');\n this.trigger.setAttribute('aria-expanded', 'false');\n this.trigger.setAttribute('aria-controls', this.contentId);\n this.trigger.addEventListener('click', () => this.toggle());\n autoUpdate(this.trigger, this.content, () => this.update());\n }\n\n private findTrigger() {\n let trigger: FocusableElement | undefined;\n const elems = this.triggerSlot?.assignedElements?.() || [];\n while (!trigger && elems.length) {\n const elem = elems.shift();\n trigger = elem?.hasAttribute('data-trigger')\n ? (elem as HTMLElement)\n : elem?.querySelector('[data-trigger]') ?? undefined;\n }\n if (!trigger) {\n trigger = firstTabbable(this.triggerSlot);\n }\n if (!trigger) {\n throw new Error('Cannot find tabbable element. Use [data-trigger] to set the trigger.');\n }\n return trigger;\n }\n\n private update() {\n if (this.trigger) {\n computePosition(this.trigger, this.content, {\n strategy: 'fixed',\n placement: this.placement,\n middleware: [\n offset(CatDropdown.OFFSET),\n flip(),\n size({\n padding: CatDropdown.OFFSET,\n apply({ availableWidth, availableHeight, elements }) {\n Object.assign(elements.floating.style, {\n maxWidth: `${availableWidth}px`,\n maxHeight: `${availableHeight}px`\n });\n }\n })\n ]\n }).then(({ x, y, placement }) => {\n this.content.dataset.placement = placement;\n Object.assign(this.content.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n });\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"cat-dropdown.js","sourceRoot":"","sources":["../../../src/components/cat-dropdown/cat-dropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import { autoUpdate, computePosition, flip, offset, Placement, size } from '@floating-ui/dom';\nimport { timeTransitionS } from '@haiilo/catalyst-tokens';\nimport { Component, Event, EventEmitter, h, Host, Listen, Method, Prop } from '@stencil/core';\nimport * as focusTrap from 'focus-trap';\nimport { FocusableElement, tabbable } from 'tabbable';\nimport firstTabbable from '../../utils/first-tabbable';\n\nlet nextUniqueId = 0;\n\n@Component({\n tag: 'cat-dropdown',\n styleUrl: 'cat-dropdown.scss',\n shadow: true\n})\nexport class CatDropdown {\n private static readonly OFFSET = 4;\n private readonly id = nextUniqueId++;\n private triggerSlot!: HTMLSlotElement;\n private trigger?: FocusableElement;\n private content!: HTMLElement;\n private trap?: focusTrap.FocusTrap;\n private keyListener?: (event: KeyboardEvent) => void;\n private isOpen: boolean | null = false;\n\n /**\n * The placement of the dropdown.\n */\n @Prop() placement: Placement = 'bottom-start';\n\n /**\n * Do not close the dropdown on outside clicks.\n */\n @Prop() noAutoClose = false;\n\n /**\n * Allow overflow when dropdown is open.\n */\n @Prop() overflow = false;\n\n /**\n * Emitted when the dropdown is opened.\n */\n @Event() catOpen!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the dropdown is closed.\n */\n @Event() catClose!: EventEmitter<FocusEvent>;\n\n @Listen('catClick')\n clickHandler(event: CustomEvent<MouseEvent>) {\n // we need to delay the initialization of the trigger until first,\n // interaction because the element might still be hidden (and thus not\n // tabbable) if contained in another Stencil web component\n if (!this.trigger) {\n this.initTrigger();\n this.toggle();\n }\n\n const button = event.target as HTMLButtonElement;\n\n // hide dropdown on button click\n if (!this.noAutoClose && event.composedPath().includes(this.content) && button.slot !== 'trigger') {\n this.close();\n }\n }\n\n /**\n * Toggles the dropdown.\n */\n async toggle(): Promise<void> {\n this.isOpen ? this.close() : this.open();\n }\n\n /**\n * Opens the dropdown.\n */\n async open(): Promise<void> {\n if (this.isOpen === null) {\n return; // busy\n }\n\n this.isOpen = null;\n this.content.style.display = 'block';\n // give CSS transition time to apply\n setTimeout(() => {\n this.isOpen = true;\n this.content.classList.add('show');\n this.trigger?.setAttribute('aria-expanded', 'true');\n this.catOpen.emit();\n this.trap = this.trap\n ? this.trap.updateContainerElements(this.content)\n : focusTrap.createFocusTrap(this.content, {\n tabbableOptions: {\n getShadowRoot: true\n },\n allowOutsideClick: true,\n clickOutsideDeactivates: event => {\n const shouldClose =\n !this.noAutoClose &&\n !event.composedPath().includes(this.content) &&\n (!this.trigger || !event.composedPath().includes(this.trigger));\n if (shouldClose) {\n this.close();\n }\n return shouldClose;\n },\n onPostDeactivate: () => this.close()\n });\n this.trap.activate();\n });\n }\n\n /**\n * Closes the dropdown.\n */\n @Method()\n async close(): Promise<void> {\n if (this.isOpen === null || !this.isOpen) {\n return; // busy\n }\n\n this.isOpen = null;\n this.content.classList.remove('show');\n // give CSS transition time to apply\n setTimeout(() => {\n this.isOpen = false;\n this.content.classList.remove('show');\n this.content.style.display = '';\n this.trigger?.setAttribute('aria-expanded', 'false');\n this.trap?.deactivate();\n this.catClose.emit();\n }, timeTransitionS);\n }\n\n componentDidLoad(): void {\n this.keyListener = event => {\n if (this.isOpen && ['ArrowDown', 'ArrowUp'].includes(event.key)) {\n const targetElements = tabbable(this.content, { includeContainer: false, getShadowRoot: true });\n const activeElement = firstTabbable(document.activeElement);\n const activeIdx = activeElement ? targetElements.indexOf(activeElement) : -1;\n const activeOff = event.key === 'ArrowDown' ? 1 : -1;\n const targetIdx = activeIdx < 0 ? 0 : (activeIdx + activeOff + targetElements.length) % targetElements.length;\n targetElements[targetIdx].focus();\n event.preventDefault();\n }\n };\n document.addEventListener('keydown', this.keyListener);\n }\n\n disconnectedCallback(): void {\n if (this.keyListener) {\n document.removeEventListener('keydown', this.keyListener);\n }\n }\n\n render() {\n return (\n <Host>\n <slot name=\"trigger\" ref={el => (this.triggerSlot = el as HTMLSlotElement)}></slot>\n <div\n id={this.contentId}\n class={{ content: true, 'overflow-auto': !this.overflow }}\n ref={el => (this.content = el as HTMLElement)}\n >\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n\n private get contentId() {\n return `cat-dropdown-${this.id}`;\n }\n\n private initTrigger() {\n this.trigger = this.findTrigger();\n this.trigger.setAttribute('aria-haspopup', 'true');\n this.trigger.setAttribute('aria-expanded', 'false');\n this.trigger.setAttribute('aria-controls', this.contentId);\n this.trigger.addEventListener('click', () => this.toggle());\n autoUpdate(this.trigger, this.content, () => this.update());\n }\n\n private findTrigger() {\n let trigger: FocusableElement | undefined;\n const elems = this.triggerSlot?.assignedElements?.() || [];\n while (!trigger && elems.length) {\n const elem = elems.shift();\n trigger = elem?.hasAttribute('data-trigger')\n ? (elem as HTMLElement)\n : elem?.querySelector('[data-trigger]') ?? undefined;\n }\n if (!trigger) {\n trigger = firstTabbable(this.triggerSlot);\n }\n if (!trigger) {\n throw new Error('Cannot find tabbable element. Use [data-trigger] to set the trigger.');\n }\n return trigger;\n }\n\n private update() {\n if (this.trigger) {\n computePosition(this.trigger, this.content, {\n strategy: 'fixed',\n placement: this.placement,\n middleware: [\n offset(CatDropdown.OFFSET),\n flip(),\n size({\n padding: CatDropdown.OFFSET,\n apply({ availableWidth, availableHeight, elements }) {\n Object.assign(elements.floating.style, {\n maxWidth: `${availableWidth}px`,\n maxHeight: `${availableHeight}px`\n });\n }\n })\n ]\n }).then(({ x, y, placement }) => {\n this.content.dataset.placement = placement;\n Object.assign(this.content.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n });\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
+
import { CatDropdown } from "./cat-dropdown";
|
|
3
|
+
describe('cat-dropdown', () => {
|
|
4
|
+
it('renders', async () => {
|
|
5
|
+
const page = await newSpecPage({
|
|
6
|
+
components: [CatDropdown],
|
|
7
|
+
html: `<cat-dropdown>
|
|
8
|
+
<button slot="trigger"></button>
|
|
9
|
+
<nav slot="content"></nav>
|
|
10
|
+
</cat-dropdown>`
|
|
11
|
+
});
|
|
12
|
+
expect(page.root).toEqualHtml(`
|
|
13
|
+
<cat-dropdown>
|
|
14
|
+
<mock:shadow-root>
|
|
15
|
+
<slot name="trigger"></slot>
|
|
16
|
+
<div class="content overflow-auto" id="cat-dropdown-0">
|
|
17
|
+
<slot name="content"></slot>
|
|
18
|
+
</div>
|
|
19
|
+
</mock:shadow-root>
|
|
20
|
+
<button slot="trigger"></button>
|
|
21
|
+
<nav slot="content"></nav>
|
|
22
|
+
</cat-dropdown>
|
|
23
|
+
`);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=cat-dropdown.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-dropdown.spec.js","sourceRoot":"","sources":["../../../src/components/cat-dropdown/cat-dropdown.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;EAC5B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;MACzB,IAAI,EAAE;;;sBAGU;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;KAW7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { CatDropdown } from './cat-dropdown';\n\ndescribe('cat-dropdown', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [CatDropdown],\n html: `<cat-dropdown>\n <button slot=\"trigger\"></button>\n <nav slot=\"content\"></nav>\n </cat-dropdown>`\n });\n expect(page.root).toEqualHtml(`\n <cat-dropdown>\n <mock:shadow-root>\n <slot name=\"trigger\"></slot>\n <div class=\"content overflow-auto\" id=\"cat-dropdown-0\">\n <slot name=\"content\"></slot>\n </div>\n </mock:shadow-root>\n <button slot=\"trigger\"></button>\n <nav slot=\"content\"></nav>\n </cat-dropdown>\n `);\n });\n});\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
+
describe('cat-form-group', () => {
|
|
3
|
+
it('renders', async () => {
|
|
4
|
+
const page = await newE2EPage();
|
|
5
|
+
await page.setContent('<cat-form-group></cat-form-group>');
|
|
6
|
+
const element = await page.find('cat-form-group');
|
|
7
|
+
expect(element).toHaveClass('hydrated');
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=cat-form-group.e2e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-form-group.e2e.js","sourceRoot":"","sources":["../../../src/components/cat-form-group/cat-form-group.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;EAC9B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,MAAM,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;EAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\n\ndescribe('cat-form-group', () => {\n it('renders', async () => {\n const page = await newE2EPage();\n await page.setContent('<cat-form-group></cat-form-group>');\n\n const element = await page.find('cat-form-group');\n expect(element).toHaveClass('hydrated');\n });\n});\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
+
import { CatFormGroup } from "./cat-form-group";
|
|
3
|
+
describe('cat-form-group', () => {
|
|
4
|
+
it('renders', async () => {
|
|
5
|
+
const page = await newSpecPage({
|
|
6
|
+
components: [CatFormGroup],
|
|
7
|
+
html: `<cat-form-group></cat-form-group>`
|
|
8
|
+
});
|
|
9
|
+
expect(page.root).toEqualHtml(`
|
|
10
|
+
<cat-form-group>
|
|
11
|
+
<mock:shadow-root>
|
|
12
|
+
<slot></slot>
|
|
13
|
+
</mock:shadow-root>
|
|
14
|
+
</cat-form-group>
|
|
15
|
+
`);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=cat-form-group.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-form-group.spec.js","sourceRoot":"","sources":["../../../src/components/cat-form-group/cat-form-group.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;EAC9B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,YAAY,CAAC;MAC1B,IAAI,EAAE,mCAAmC;KAC1C,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;KAM7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { CatFormGroup } from './cat-form-group';\n\ndescribe('cat-form-group', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [CatFormGroup],\n html: `<cat-form-group></cat-form-group>`\n });\n expect(page.root).toEqualHtml(`\n <cat-form-group>\n <mock:shadow-root>\n <slot></slot>\n </mock:shadow-root>\n </cat-form-group>\n `);\n });\n});\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h } from
|
|
2
|
-
import { catI18nRegistry as i18n } from
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { catI18nRegistry as i18n } from "../cat-i18n/cat-i18n-registry";
|
|
3
3
|
/**
|
|
4
4
|
* CatFormHint is a functional component that represents the hint area of form elements.
|
|
5
5
|
*
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
3
|
+
import { CatFormHint } from "./cat-form-hint";
|
|
4
|
+
describe('CatFormHint', () => {
|
|
5
|
+
it('renders', async () => {
|
|
6
|
+
const page = await newSpecPage({
|
|
7
|
+
components: [],
|
|
8
|
+
template: () => h(CatFormHint, { id: "host-id" })
|
|
9
|
+
});
|
|
10
|
+
expect(page.root).toEqualHtml(`
|
|
11
|
+
<div class="hint-section" id="host-id-hint"></div>
|
|
12
|
+
`);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=cat-form-hint.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-form-hint.spec.js","sourceRoot":"","sources":["../../../src/components/cat-form-hint/cat-form-hint.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;EAC3B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,EAAE;MACd,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAC,WAAW,IAAC,EAAE,EAAC,SAAS,GAAe;KACzD,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;KAE7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport { newSpecPage } from '@stencil/core/testing';\nimport { CatFormHint } from './cat-form-hint';\n\ndescribe('CatFormHint', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [],\n template: () => <CatFormHint id=\"host-id\"></CatFormHint>\n });\n expect(page.root).toEqualHtml(`\n <div class=\"hint-section\" id=\"host-id-hint\"></div>\n `);\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-i18n-registry.spec.js","sourceRoot":"","sources":["../../../src/components/cat-i18n/cat-i18n-registry.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;EAC/B,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IACtB,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;EACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { catI18nRegistry } from './cat-i18n-registry';\n\ndescribe('CatI18nRegistry', () => {\n it('exists', async () => {\n expect(catI18nRegistry).toBeTruthy();\n });\n});\n"]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import cross16 from
|
|
2
|
-
import alertCircleOutlined from
|
|
3
|
-
import checkCircleFilled from
|
|
4
|
-
import chevronDownOutlined from
|
|
5
|
-
import chevronLeftOutlined from
|
|
6
|
-
import chevronRightOutlined from
|
|
7
|
-
import clockFilled from
|
|
8
|
-
import crossCircleFilled from
|
|
9
|
-
import crossCircleOutlined from
|
|
10
|
-
import crossOutlined from
|
|
11
|
-
import dangerFilled from
|
|
12
|
-
import starCircleFilled from
|
|
13
|
-
import log from
|
|
1
|
+
import cross16 from "@haiilo/catalyst-icons/tmp/assets/16-cross.svg";
|
|
2
|
+
import alertCircleOutlined from "@haiilo/catalyst-icons/tmp/assets/alert-circle-outlined.svg";
|
|
3
|
+
import checkCircleFilled from "@haiilo/catalyst-icons/tmp/assets/check-circle-filled.svg";
|
|
4
|
+
import chevronDownOutlined from "@haiilo/catalyst-icons/tmp/assets/chevron-down-outlined.svg";
|
|
5
|
+
import chevronLeftOutlined from "@haiilo/catalyst-icons/tmp/assets/chevron-left-outlined.svg";
|
|
6
|
+
import chevronRightOutlined from "@haiilo/catalyst-icons/tmp/assets/chevron-right-outlined.svg";
|
|
7
|
+
import clockFilled from "@haiilo/catalyst-icons/tmp/assets/clock-filled.svg";
|
|
8
|
+
import crossCircleFilled from "@haiilo/catalyst-icons/tmp/assets/cross-circle-filled.svg";
|
|
9
|
+
import crossCircleOutlined from "@haiilo/catalyst-icons/tmp/assets/cross-circle-outlined.svg";
|
|
10
|
+
import crossOutlined from "@haiilo/catalyst-icons/tmp/assets/cross-outlined.svg";
|
|
11
|
+
import dangerFilled from "@haiilo/catalyst-icons/tmp/assets/danger-filled.svg";
|
|
12
|
+
import starCircleFilled from "@haiilo/catalyst-icons/tmp/assets/star-circle-filled.svg";
|
|
13
|
+
import log from "loglevel";
|
|
14
14
|
export class CatIconRegistry {
|
|
15
15
|
constructor() {
|
|
16
16
|
// hide constructor
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-icon-registry.spec.js","sourceRoot":"","sources":["../../../src/components/cat-icon/cat-icon-registry.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;EAC/B,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IACtB,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;EACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { catIconRegistry } from './cat-icon-registry';\n\ndescribe('CatIconRegistry', () => {\n it('exists', async () => {\n expect(catIconRegistry).toBeTruthy();\n });\n});\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
+
describe('cat-icon', () => {
|
|
3
|
+
beforeAll(() => (console.error = jest.fn()));
|
|
4
|
+
it('renders', async () => {
|
|
5
|
+
const page = await newE2EPage();
|
|
6
|
+
await page.setContent('<cat-icon icon="icon"></cat-icon>');
|
|
7
|
+
const element = await page.find('cat-icon');
|
|
8
|
+
expect(element).toHaveClass('hydrated');
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=cat-icon.e2e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-icon.e2e.js","sourceRoot":"","sources":["../../../src/components/cat-icon/cat-icon.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;EACxB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;EAE7C,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,MAAM,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;EAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\n\ndescribe('cat-icon', () => {\n beforeAll(() => (console.error = jest.fn()));\n\n it('renders', async () => {\n const page = await newE2EPage();\n await page.setContent('<cat-icon icon=\"icon\"></cat-icon>');\n\n const element = await page.find('cat-icon');\n expect(element).toHaveClass('hydrated');\n });\n});\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h } from
|
|
2
|
-
import { catIconRegistry as icons } from
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { catIconRegistry as icons } from "./cat-icon-registry";
|
|
3
3
|
/**
|
|
4
4
|
* Icons are used to provide additional meaning or in places where text label
|
|
5
5
|
* doesn't fit.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
jest.mock('./cat-icon-registry');
|
|
2
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
3
|
+
import { CatIcon } from "./cat-icon";
|
|
4
|
+
describe('cat-icon', () => {
|
|
5
|
+
it('renders', async () => {
|
|
6
|
+
const page = await newSpecPage({
|
|
7
|
+
components: [CatIcon],
|
|
8
|
+
html: `<cat-icon icon="icon"></cat-icon>`
|
|
9
|
+
});
|
|
10
|
+
expect(page.root?.shadowRoot).toEqualHtml(`
|
|
11
|
+
<span aria-hidden="true" class="icon icon-m" part="icon"></span>
|
|
12
|
+
`);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=cat-icon.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-icon.spec.js","sourceRoot":"","sources":["../../../src/components/cat-icon/cat-icon.spec.tsx"],"names":[],"mappings":"AAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;EACxB,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,mCAAmC;KAC1C,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC;;KAEzC,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["jest.mock('./cat-icon-registry');\nimport { newSpecPage } from '@stencil/core/testing';\nimport { CatIcon } from './cat-icon';\n\ndescribe('cat-icon', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [CatIcon],\n html: `<cat-icon icon=\"icon\"></cat-icon>`\n });\n expect(page.root?.shadowRoot).toEqualHtml(`\n <span aria-hidden=\"true\" class=\"icon icon-m\" part=\"icon\"></span>\n `);\n });\n});\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
+
describe('cat-input', () => {
|
|
3
|
+
beforeAll(() => (console.error = jest.fn()));
|
|
4
|
+
it('renders', async () => {
|
|
5
|
+
const page = await newE2EPage();
|
|
6
|
+
await page.setContent('<cat-input label="Label"></cat-input>');
|
|
7
|
+
const element = await page.find('cat-input');
|
|
8
|
+
expect(element).toHaveClass('hydrated');
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=cat-input.e2e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-input.e2e.js","sourceRoot":"","sources":["../../../src/components/cat-input/cat-input.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;EACzB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;EAE7C,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,MAAM,IAAI,CAAC,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAE/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;EAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\n\ndescribe('cat-input', () => {\n beforeAll(() => (console.error = jest.fn()));\n\n it('renders', async () => {\n const page = await newE2EPage();\n await page.setContent('<cat-input label=\"Label\"></cat-input>');\n\n const element = await page.find('cat-input');\n expect(element).toHaveClass('hydrated');\n });\n});\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { h } from
|
|
2
|
-
import log from
|
|
3
|
-
import { coerceBoolean, coerceNumber } from
|
|
4
|
-
import { CatFormHint } from
|
|
5
|
-
import { catI18nRegistry as i18n } from
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import log from "loglevel";
|
|
3
|
+
import { coerceBoolean, coerceNumber } from "../../utils/coerce";
|
|
4
|
+
import { CatFormHint } from "../cat-form-hint/cat-form-hint";
|
|
5
|
+
import { catI18nRegistry as i18n } from "../cat-i18n/cat-i18n-registry";
|
|
6
6
|
let nextUniqueId = 0;
|
|
7
7
|
/**
|
|
8
8
|
* Inputs are used to allow users to provide text input when the expected input
|
|
@@ -555,7 +555,8 @@ export class CatInput {
|
|
|
555
555
|
"references": {
|
|
556
556
|
"InputType": {
|
|
557
557
|
"location": "import",
|
|
558
|
-
"path": "./input-type"
|
|
558
|
+
"path": "./input-type",
|
|
559
|
+
"id": "src/components/cat-input/input-type.ts::InputType"
|
|
559
560
|
}
|
|
560
561
|
}
|
|
561
562
|
},
|
|
@@ -595,7 +596,8 @@ export class CatInput {
|
|
|
595
596
|
"references": {
|
|
596
597
|
"ErrorMap": {
|
|
597
598
|
"location": "import",
|
|
598
|
-
"path": "../cat-form-hint/cat-form-hint"
|
|
599
|
+
"path": "../cat-form-hint/cat-form-hint",
|
|
600
|
+
"id": "src/components/cat-form-hint/cat-form-hint.tsx::ErrorMap"
|
|
599
601
|
}
|
|
600
602
|
}
|
|
601
603
|
},
|
|
@@ -681,7 +683,8 @@ export class CatInput {
|
|
|
681
683
|
"resolved": "FocusEvent",
|
|
682
684
|
"references": {
|
|
683
685
|
"FocusEvent": {
|
|
684
|
-
"location": "global"
|
|
686
|
+
"location": "global",
|
|
687
|
+
"id": "global::FocusEvent"
|
|
685
688
|
}
|
|
686
689
|
}
|
|
687
690
|
}
|
|
@@ -700,7 +703,8 @@ export class CatInput {
|
|
|
700
703
|
"resolved": "FocusEvent",
|
|
701
704
|
"references": {
|
|
702
705
|
"FocusEvent": {
|
|
703
|
-
"location": "global"
|
|
706
|
+
"location": "global",
|
|
707
|
+
"id": "global::FocusEvent"
|
|
704
708
|
}
|
|
705
709
|
}
|
|
706
710
|
}
|
|
@@ -720,10 +724,12 @@ export class CatInput {
|
|
|
720
724
|
}],
|
|
721
725
|
"references": {
|
|
722
726
|
"Promise": {
|
|
723
|
-
"location": "global"
|
|
727
|
+
"location": "global",
|
|
728
|
+
"id": "global::Promise"
|
|
724
729
|
},
|
|
725
730
|
"FocusOptions": {
|
|
726
|
-
"location": "global"
|
|
731
|
+
"location": "global",
|
|
732
|
+
"id": "global::FocusOptions"
|
|
727
733
|
}
|
|
728
734
|
},
|
|
729
735
|
"return": "Promise<void>"
|
|
@@ -742,7 +748,8 @@ export class CatInput {
|
|
|
742
748
|
"parameters": [],
|
|
743
749
|
"references": {
|
|
744
750
|
"Promise": {
|
|
745
|
-
"location": "global"
|
|
751
|
+
"location": "global",
|
|
752
|
+
"id": "global::Promise"
|
|
746
753
|
}
|
|
747
754
|
},
|
|
748
755
|
"return": "Promise<void>"
|
|
@@ -758,7 +765,8 @@ export class CatInput {
|
|
|
758
765
|
"parameters": [],
|
|
759
766
|
"references": {
|
|
760
767
|
"Promise": {
|
|
761
|
-
"location": "global"
|
|
768
|
+
"location": "global",
|
|
769
|
+
"id": "global::Promise"
|
|
762
770
|
}
|
|
763
771
|
},
|
|
764
772
|
"return": "Promise<void>"
|