q2-tecton-elements 1.12.0-alpha.0 → 1.12.2
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/cjs/{icons-4595ee47.js → icons-9bd0febe.js} +10 -0
- package/dist/cjs/{index-a55d3c34.js → index-773c3eec.js} +25 -12
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +3 -3
- package/dist/cjs/q2-calendar.cjs.entry.js +17 -5
- package/dist/cjs/q2-card.cjs.entry.js +89 -0
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +4 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +17 -6
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +2 -2
- package/dist/cjs/q2-input.cjs.entry.js +12 -7
- package/dist/cjs/q2-loc.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +357 -0
- package/dist/cjs/q2-option.cjs.entry.js +2 -10
- package/dist/cjs/q2-pagination.cjs.entry.js +118 -0
- package/dist/cjs/q2-pill.cjs.entry.js +137 -0
- package/dist/cjs/q2-radio-group.cjs.entry.js +40 -12
- package/dist/cjs/q2-radio.cjs.entry.js +20 -3
- package/dist/cjs/q2-section.cjs.entry.js +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +28 -11
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
- package/dist/cjs/q2-tab-container.cjs.entry.js +5 -1
- package/dist/cjs/q2-tag.cjs.entry.js +94 -0
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +5 -0
- package/dist/collection/components/q2-btn/styles.css +1 -1
- package/dist/collection/components/q2-calendar/helpers.js +6 -0
- package/dist/collection/components/q2-calendar/index.js +27 -4
- package/dist/collection/components/q2-calendar/styles.css +1 -1
- package/dist/collection/components/q2-card/index.js +290 -0
- package/dist/collection/components/q2-card/styles.css +161 -0
- package/dist/collection/components/q2-checkbox/index.js +32 -4
- package/dist/collection/components/q2-checkbox/styles.css +2 -1
- package/dist/collection/components/q2-checkbox-group/index.js +21 -0
- package/dist/collection/components/q2-dropdown/styles.css +3 -3
- package/dist/collection/components/q2-icon/icons.js +10 -0
- package/dist/collection/components/q2-input/index.js +63 -6
- package/dist/collection/components/q2-input/styles.css +25 -33
- package/dist/collection/components/q2-loading/styles.css +1 -1
- package/dist/collection/components/q2-option/index.js +19 -25
- package/dist/collection/components/q2-option/styles.css +5 -0
- package/dist/collection/components/q2-option-list/index.js +646 -0
- package/dist/collection/components/q2-option-list/styles.css +128 -0
- package/dist/collection/components/q2-pagination/index.js +277 -0
- package/dist/collection/components/q2-pagination/styles.css +120 -0
- package/dist/collection/components/q2-pill/index.js +324 -0
- package/dist/collection/components/q2-pill/styles.css +227 -0
- package/dist/collection/components/q2-radio/index.js +38 -1
- package/dist/collection/components/q2-radio-group/index.js +64 -19
- package/dist/collection/components/q2-select/index.js +44 -9
- package/dist/collection/components/q2-select/styles.css +4 -4
- package/dist/collection/components/q2-stepper/styles.css +8 -8
- package/dist/collection/components/q2-tab-container/index.js +4 -0
- package/dist/collection/components/q2-tag/index.js +200 -0
- package/dist/collection/components/q2-tag/styles.css +141 -0
- package/dist/collection/utils/index.js +24 -12
- package/dist/esm/{icons-3ee662ea.js → icons-6a143c2f.js} +10 -0
- package/dist/esm/{index-ec6660af.js → index-fa32f694.js} +25 -13
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-avatar.entry.js +1 -1
- package/dist/esm/q2-btn_2.entry.js +3 -3
- package/dist/esm/q2-calendar.entry.js +17 -5
- package/dist/esm/q2-card.entry.js +85 -0
- package/dist/esm/q2-carousel-pane.entry.js +1 -1
- package/dist/esm/q2-carousel.entry.js +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +4 -1
- package/dist/esm/q2-checkbox.entry.js +17 -6
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown.entry.js +2 -2
- package/dist/esm/q2-editable-field.entry.js +1 -1
- package/dist/esm/q2-icon.entry.js +2 -2
- package/dist/esm/q2-input.entry.js +12 -7
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +1 -1
- package/dist/esm/q2-optgroup.entry.js +1 -1
- package/dist/esm/q2-option-list.entry.js +353 -0
- package/dist/esm/q2-option.entry.js +3 -11
- package/dist/esm/q2-pagination.entry.js +114 -0
- package/dist/esm/q2-pill.entry.js +133 -0
- package/dist/esm/q2-radio-group.entry.js +41 -13
- package/dist/esm/q2-radio.entry.js +20 -3
- package/dist/esm/q2-section.entry.js +1 -1
- package/dist/esm/q2-select.entry.js +28 -11
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-tab-container.entry.js +5 -1
- package/dist/esm/q2-tag.entry.js +90 -0
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +1 -1
- package/dist/q2-tecton-elements/p-08668234.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-fbf7c5e6.entry.js → p-0a7cff38.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-167a19fd.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-06fff43d.entry.js → p-2afdc922.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-07a5d703.entry.js → p-30bf5f44.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-7e030e92.entry.js → p-34415315.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-3c6f73cb.js +1 -0
- package/dist/q2-tecton-elements/p-54300d2f.entry.js +1 -0
- package/dist/q2-tecton-elements/p-54f0d64e.entry.js +1 -0
- package/dist/q2-tecton-elements/p-58d95376.entry.js +1 -0
- package/dist/q2-tecton-elements/p-5b906cf1.entry.js +1 -0
- package/dist/q2-tecton-elements/p-5effd81a.entry.js +1 -0
- package/dist/q2-tecton-elements/p-7ce98c1a.entry.js +1 -0
- package/dist/q2-tecton-elements/p-91dba21f.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-a6f8d09a.entry.js → p-9a3c37ab.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-75e87cca.entry.js → p-a0248299.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-aca8302b.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-df182f61.entry.js → p-af202624.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-c5e55b9f.entry.js → p-b9c2c1d3.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-c3d68d5c.js +1 -0
- package/dist/q2-tecton-elements/{p-bb2e110a.entry.js → p-c5199147.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-843b1ee9.entry.js → p-c5e6f7fa.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-50967020.entry.js → p-d3058002.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-d65aaed2.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-9b50c3c3.entry.js → p-d9bc6494.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-df86f160.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-9a977ee6.entry.js → p-e38080d2.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-e9d69ba8.entry.js +1 -0
- package/dist/q2-tecton-elements/p-f98dc161.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-7e6fc65d.entry.js → p-fa9e3825.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-b281c349.entry.js → p-fe6407a4.entry.js} +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/test/elements/q2-tag-test.js +151 -0
- package/dist/test/helpers.js +14 -3
- package/dist/types/components/q2-calendar/helpers.d.ts +1 -0
- package/dist/types/components/q2-calendar/index.d.ts +1 -0
- package/dist/types/components/q2-card/index.d.ts +31 -0
- package/dist/types/components/q2-checkbox/index.d.ts +3 -1
- package/dist/types/components/q2-checkbox-group/index.d.ts +1 -0
- package/dist/types/components/q2-input/index.d.ts +3 -0
- package/dist/types/components/q2-option/index.d.ts +2 -3
- package/dist/types/components/q2-option-list/index.d.ts +62 -0
- package/dist/types/components/q2-pagination/index.d.ts +30 -0
- package/dist/types/components/q2-pill/index.d.ts +39 -0
- package/dist/types/components/q2-radio/index.d.ts +4 -1
- package/dist/types/components/q2-radio-group/index.d.ts +5 -1
- package/dist/types/components/q2-select/index.d.ts +1 -0
- package/dist/types/components/q2-tag/index.d.ts +28 -0
- package/dist/types/components.d.ts +175 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/workspace/workspace/tecton-production_release_1.12.x/packages/q2-tecton-elements/.stencil/test/elements/q2-tag-test.d.ts +1 -0
- package/dist/types/workspace/workspace/{_production_release_1.11.0-alpha → tecton-production_release_1.12.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +4 -1
- package/package.json +2 -2
- package/dist/q2-tecton-elements/p-29a37091.entry.js +0 -1
- package/dist/q2-tecton-elements/p-37aba2a4.js +0 -1
- package/dist/q2-tecton-elements/p-4cd00f1a.js +0 -1
- package/dist/q2-tecton-elements/p-6702eb4d.entry.js +0 -1
- package/dist/q2-tecton-elements/p-768e3a5d.entry.js +0 -1
- package/dist/q2-tecton-elements/p-943c7745.entry.js +0 -1
- package/dist/q2-tecton-elements/p-95a73559.entry.js +0 -1
- package/dist/q2-tecton-elements/p-ac859fcc.entry.js +0 -1
- package/dist/q2-tecton-elements/p-ccbe9158.entry.js +0 -1
- package/dist/q2-tecton-elements/p-db6f90ac.entry.js +0 -1
- package/dist/q2-tecton-elements/p-fa6eea5c.entry.js +0 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { setup, getFocusedAttribute } from '../helpers';
|
|
2
|
+
describe('q2-tag', () => {
|
|
3
|
+
let page;
|
|
4
|
+
let tag;
|
|
5
|
+
let optionList;
|
|
6
|
+
let controlBtn;
|
|
7
|
+
let allOptions;
|
|
8
|
+
let optionContainer;
|
|
9
|
+
let clickSpy;
|
|
10
|
+
let changeSpy;
|
|
11
|
+
const getFocusedValue = async (page) => {
|
|
12
|
+
return await page.$eval('body', () => document.activeElement.getAttribute('value'));
|
|
13
|
+
};
|
|
14
|
+
it('does not render button or dropdown by default', async () => {
|
|
15
|
+
page = await setup({
|
|
16
|
+
html: `<q2-tag label="My tag"></q2-tag>`
|
|
17
|
+
});
|
|
18
|
+
optionList = await page.find('q2-tag >>> q2-option-list');
|
|
19
|
+
controlBtn = await page.find('q2-tag >>> button');
|
|
20
|
+
expect(controlBtn).toBeNull();
|
|
21
|
+
expect(optionList).toBeNull();
|
|
22
|
+
});
|
|
23
|
+
describe('when options are provided', () => {
|
|
24
|
+
beforeEach(async () => {
|
|
25
|
+
page = await setup({
|
|
26
|
+
html: `
|
|
27
|
+
<q2-tag label="My tag">
|
|
28
|
+
<q2-option value="1">Option 1</q2-option>
|
|
29
|
+
<q2-option value="2">Option 2</q2-option>
|
|
30
|
+
<q2-option value="3">Option 3</q2-option>
|
|
31
|
+
</q2-tag>
|
|
32
|
+
`
|
|
33
|
+
});
|
|
34
|
+
tag = await page.find('q2-tag');
|
|
35
|
+
allOptions = await page.findAll('q2-option');
|
|
36
|
+
optionList = await page.find('q2-tag >>> q2-option-list');
|
|
37
|
+
optionContainer = await page.find('q2-tag >>> q2-option-list >>> .options');
|
|
38
|
+
controlBtn = await page.find('q2-tag >>> button');
|
|
39
|
+
clickSpy = await tag.spyOnEvent('click');
|
|
40
|
+
changeSpy = await tag.spyOnEvent('change');
|
|
41
|
+
});
|
|
42
|
+
it('can select option via keyboard', async () => {
|
|
43
|
+
const tagWrapper = await page.find('q2-tag >>> .tag-wrapper');
|
|
44
|
+
expect(tagWrapper.classList.contains('has-options')).toBe(true);
|
|
45
|
+
expect(optionList).not.toHaveAttribute('open');
|
|
46
|
+
await controlBtn.press('ArrowDown');
|
|
47
|
+
await page.waitForChanges();
|
|
48
|
+
expect(tag).toHaveAttribute('open');
|
|
49
|
+
expect(optionList).toHaveAttribute('open');
|
|
50
|
+
expect(await getFocusedValue(page)).toEqual('1');
|
|
51
|
+
await optionContainer.press('ArrowDown');
|
|
52
|
+
await page.waitForChanges();
|
|
53
|
+
expect(await getFocusedValue(page)).toEqual('2');
|
|
54
|
+
await allOptions[1].press(' ');
|
|
55
|
+
await page.waitForChanges();
|
|
56
|
+
expect(tag).not.toHaveAttribute('open');
|
|
57
|
+
expect(optionList).not.toHaveAttribute('open');
|
|
58
|
+
expect(clickSpy).toHaveReceivedEventDetail({
|
|
59
|
+
value: '2'
|
|
60
|
+
});
|
|
61
|
+
expect(changeSpy).not.toHaveReceivedEvent();
|
|
62
|
+
});
|
|
63
|
+
it('can select option via mouse', async () => {
|
|
64
|
+
const tagWrapper = await page.find('q2-tag >>> .tag-wrapper');
|
|
65
|
+
expect(tagWrapper.classList.contains('has-options')).toBe(true);
|
|
66
|
+
expect(optionList).not.toHaveAttribute('open');
|
|
67
|
+
await controlBtn.click();
|
|
68
|
+
await page.waitForChanges();
|
|
69
|
+
expect(tag).toHaveAttribute('open');
|
|
70
|
+
expect(optionList).toHaveAttribute('open');
|
|
71
|
+
await allOptions[1].click();
|
|
72
|
+
await page.waitForChanges();
|
|
73
|
+
expect(tag).not.toHaveAttribute('open');
|
|
74
|
+
expect(optionList).not.toHaveAttribute('open');
|
|
75
|
+
expect(clickSpy).toHaveReceivedEventDetail({
|
|
76
|
+
value: '2'
|
|
77
|
+
});
|
|
78
|
+
expect(changeSpy).not.toHaveReceivedEvent();
|
|
79
|
+
});
|
|
80
|
+
describe('when keyboard is pressed', () => {
|
|
81
|
+
it('opens list and focuses first option on ArrowDown', async () => {
|
|
82
|
+
await controlBtn.press('ArrowDown');
|
|
83
|
+
await page.waitForChanges();
|
|
84
|
+
expect(tag).toHaveAttribute('open');
|
|
85
|
+
expect(optionList).toHaveAttribute('open');
|
|
86
|
+
expect(await getFocusedAttribute(page, 'value')).toEqual('1');
|
|
87
|
+
});
|
|
88
|
+
it('opens list and focuses first option on ArrowUp', async () => {
|
|
89
|
+
await controlBtn.press('ArrowUp');
|
|
90
|
+
await page.waitForChanges();
|
|
91
|
+
expect(tag).toHaveAttribute('open');
|
|
92
|
+
expect(optionList).toHaveAttribute('open');
|
|
93
|
+
expect(await getFocusedAttribute(page, 'value')).toEqual('1');
|
|
94
|
+
});
|
|
95
|
+
it('opens list and focuses first option on Enter', async () => {
|
|
96
|
+
await controlBtn.press('Enter');
|
|
97
|
+
await page.waitForChanges();
|
|
98
|
+
expect(tag).toHaveAttribute('open');
|
|
99
|
+
expect(optionList).toHaveAttribute('open');
|
|
100
|
+
expect(await getFocusedAttribute(page, 'value')).toEqual('1');
|
|
101
|
+
});
|
|
102
|
+
it('opens list and focuses first option on Space', async () => {
|
|
103
|
+
await controlBtn.press(' ');
|
|
104
|
+
await page.waitForChanges();
|
|
105
|
+
expect(tag).toHaveAttribute('open');
|
|
106
|
+
expect(optionList).toHaveAttribute('open');
|
|
107
|
+
expect(await getFocusedValue(page)).toEqual('1');
|
|
108
|
+
});
|
|
109
|
+
it('opens list and focuses last option on Home', async () => {
|
|
110
|
+
await controlBtn.press('Home');
|
|
111
|
+
await page.waitForChanges();
|
|
112
|
+
expect(tag).toHaveAttribute('open');
|
|
113
|
+
expect(optionList).toHaveAttribute('open');
|
|
114
|
+
expect(await getFocusedAttribute(page, 'value')).toEqual('1');
|
|
115
|
+
});
|
|
116
|
+
it('opens list and focuses last option on End', async () => {
|
|
117
|
+
await controlBtn.press('End');
|
|
118
|
+
await page.waitForChanges();
|
|
119
|
+
expect(tag).toHaveAttribute('open');
|
|
120
|
+
expect(optionList).toHaveAttribute('open');
|
|
121
|
+
expect(await getFocusedAttribute(page, 'value')).toEqual('3');
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
describe('focus', () => {
|
|
126
|
+
let page;
|
|
127
|
+
let tag;
|
|
128
|
+
beforeEach(async () => {
|
|
129
|
+
page = await setup({
|
|
130
|
+
html: `
|
|
131
|
+
<q2-tag label="My tag">
|
|
132
|
+
<q2-option value="1">Option 1</q2-option>
|
|
133
|
+
<q2-option value="2">Option 2</q2-option>
|
|
134
|
+
<q2-option value="3">Option 3</q2-option>
|
|
135
|
+
</q2-tag>
|
|
136
|
+
`
|
|
137
|
+
});
|
|
138
|
+
tag = await page.find('q2-tag');
|
|
139
|
+
});
|
|
140
|
+
it('focuses active option and opens the list when focus event is dispatched', async function () {
|
|
141
|
+
await tag.triggerEvent('focus');
|
|
142
|
+
await page.waitForChanges();
|
|
143
|
+
expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');
|
|
144
|
+
});
|
|
145
|
+
it('focuses active option and opens the list when element.focus() is called', async function () {
|
|
146
|
+
await tag.focus();
|
|
147
|
+
await page.waitForChanges();
|
|
148
|
+
expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
package/dist/test/helpers.js
CHANGED
|
@@ -69,14 +69,17 @@ export async function setup(pageOptions) {
|
|
|
69
69
|
const page = await newE2EPage(pageOptions);
|
|
70
70
|
await page.evaluate(function () {
|
|
71
71
|
this.TectonElements = this.TectonElements || {};
|
|
72
|
-
this.TectonElements.loc = (key,
|
|
72
|
+
this.TectonElements.loc = (key, subs) => {
|
|
73
73
|
const string = (this.TEST_STRINGS && this.TEST_STRINGS[key]) || key;
|
|
74
|
-
if (Array.isArray(
|
|
74
|
+
if (Array.isArray(subs)) {
|
|
75
75
|
const regex = /({[0-9]})/g;
|
|
76
76
|
return string.replace(regex, match => {
|
|
77
|
-
return
|
|
77
|
+
return subs[parseInt(match[1])];
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
+
else if (typeof subs === 'object') {
|
|
81
|
+
return Object.entries(subs).reduce((accum, [key, value]) => accum.replace(`{${key}}`, value), string);
|
|
82
|
+
}
|
|
80
83
|
return string;
|
|
81
84
|
};
|
|
82
85
|
});
|
|
@@ -105,6 +108,14 @@ export function makeDomRect(customAttributes) {
|
|
|
105
108
|
};
|
|
106
109
|
return Object.assign(Object.assign({}, defaults), customAttributes);
|
|
107
110
|
}
|
|
111
|
+
export const base64Image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=';
|
|
108
112
|
export async function getActiveElementTestId(page) {
|
|
109
113
|
return await page.$eval('body', () => { var _a, _b; return (_b = (_a = document.activeElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement.getAttribute('test-id')) !== null && _b !== void 0 ? _b : null; });
|
|
110
114
|
}
|
|
115
|
+
export async function getFocusedAttribute(page, attribute) {
|
|
116
|
+
return await page.$eval('body', (_, attribute) => {
|
|
117
|
+
var _a, _b, _c;
|
|
118
|
+
const activeElement = (_b = (_a = document.activeElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) !== null && _b !== void 0 ? _b : document.activeElement;
|
|
119
|
+
return (_c = activeElement === null || activeElement === void 0 ? void 0 : activeElement.getAttribute(attribute)) !== null && _c !== void 0 ? _c : null;
|
|
120
|
+
}, attribute);
|
|
121
|
+
}
|
|
@@ -14,6 +14,7 @@ export declare function validateInput(input: string, validDays: number[], validD
|
|
|
14
14
|
invalidDates: string[], // black list
|
|
15
15
|
startDate: string, endDate: string, formatString: string, assume: string): InputValidation;
|
|
16
16
|
export declare function handleMissingZeros(input: any): string;
|
|
17
|
+
export declare function reorderDateString(input: string): string;
|
|
17
18
|
export declare function firstDayOfWeekInMonth(month: number, year: number): number;
|
|
18
19
|
export declare function getDays(): string[];
|
|
19
20
|
export declare function getDaysOfWeek(): string[];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class Q2Card implements ComponentInterface {
|
|
3
|
+
title: string;
|
|
4
|
+
description: string;
|
|
5
|
+
avatarName: string;
|
|
6
|
+
avatarInitials: string;
|
|
7
|
+
avatarIcon: string;
|
|
8
|
+
avatarSrc: string;
|
|
9
|
+
isSmall: boolean;
|
|
10
|
+
isTouch: boolean;
|
|
11
|
+
url: string;
|
|
12
|
+
target: '_self' | '_blank' | '_parent' | '_top';
|
|
13
|
+
isAutoTouch: boolean;
|
|
14
|
+
isAutoSmall: boolean;
|
|
15
|
+
hostElement: HTMLElement;
|
|
16
|
+
click: EventEmitter;
|
|
17
|
+
clickableElement: HTMLElement;
|
|
18
|
+
containerElement: HTMLElement;
|
|
19
|
+
avatarElement: HTMLElement;
|
|
20
|
+
resizeObserver: ResizeObserver;
|
|
21
|
+
componentDidLoad(): void;
|
|
22
|
+
willDestroyElement(): void;
|
|
23
|
+
handleClick: (event: MouseEvent) => boolean;
|
|
24
|
+
onHostElementFocus(event: any): void;
|
|
25
|
+
determineAutoTouch(): void;
|
|
26
|
+
determineAutoSmall(): void;
|
|
27
|
+
generateAvatar(): any;
|
|
28
|
+
generateContent(): any;
|
|
29
|
+
generateContainerClasses(): string;
|
|
30
|
+
render(): any;
|
|
31
|
+
}
|
|
@@ -7,6 +7,7 @@ export declare class Q2Checkbox implements ComponentInterface {
|
|
|
7
7
|
ariaLabel: string;
|
|
8
8
|
indeterminate: boolean;
|
|
9
9
|
disabled: boolean;
|
|
10
|
+
readonly: boolean;
|
|
10
11
|
value: string;
|
|
11
12
|
name: string;
|
|
12
13
|
hasError: boolean;
|
|
@@ -21,8 +22,9 @@ export declare class Q2Checkbox implements ComponentInterface {
|
|
|
21
22
|
delegateFocus(event: FocusEvent): void;
|
|
22
23
|
ariaLabelObserver(): void;
|
|
23
24
|
change: EventEmitter;
|
|
24
|
-
|
|
25
|
+
onInputClick: (event: Event) => void;
|
|
25
26
|
onControlClick: (event: Event) => void;
|
|
27
|
+
onKeyDown: (event: KeyboardEvent) => void;
|
|
26
28
|
render(): any;
|
|
27
29
|
generateCheckboxSVG(): any;
|
|
28
30
|
generateCheckBoxSVGFill(): any;
|
|
@@ -16,6 +16,8 @@ export declare class Q2Input {
|
|
|
16
16
|
readonly: boolean;
|
|
17
17
|
clearable: boolean;
|
|
18
18
|
optional: boolean;
|
|
19
|
+
min: number;
|
|
20
|
+
max: number;
|
|
19
21
|
formatModifier: string;
|
|
20
22
|
maxlength: number;
|
|
21
23
|
pseudo: boolean;
|
|
@@ -28,6 +30,7 @@ export declare class Q2Input {
|
|
|
28
30
|
ariaHaspopup: string;
|
|
29
31
|
ariaExpanded: boolean;
|
|
30
32
|
ariaActivedescendant: any;
|
|
33
|
+
current: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
|
|
31
34
|
errors: string[];
|
|
32
35
|
hints: string[];
|
|
33
36
|
formattedValueObject: IFormatterValueObject;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentInterface
|
|
1
|
+
import { ComponentInterface } from '../../stencil-public-runtime';
|
|
2
2
|
export declare class Q2Option implements ComponentInterface {
|
|
3
3
|
role: string;
|
|
4
4
|
tabindex: string;
|
|
@@ -11,9 +11,8 @@ export declare class Q2Option implements ComponentInterface {
|
|
|
11
11
|
hidden: boolean;
|
|
12
12
|
multiline: boolean;
|
|
13
13
|
active: boolean;
|
|
14
|
+
noSelect: boolean;
|
|
14
15
|
_multiSelectHidden: boolean;
|
|
15
16
|
hostElement: HTMLElement;
|
|
16
|
-
click: EventEmitter;
|
|
17
|
-
onClick: (event: MouseEvent) => void;
|
|
18
17
|
render(): any;
|
|
19
18
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Event, ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export interface IOptionValue {
|
|
3
|
+
value: string;
|
|
4
|
+
display?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class Q2OptionList implements ComponentInterface {
|
|
7
|
+
role: 'listbox' | 'menu';
|
|
8
|
+
direction: 'up' | 'down';
|
|
9
|
+
open: boolean;
|
|
10
|
+
customSearch: boolean;
|
|
11
|
+
noSelect: boolean;
|
|
12
|
+
align: 'left' | 'right';
|
|
13
|
+
selectedOptions: IOptionValue[];
|
|
14
|
+
multiple: boolean;
|
|
15
|
+
disabled: boolean;
|
|
16
|
+
type: 'menu' | 'listbox';
|
|
17
|
+
change: EventEmitter<{
|
|
18
|
+
value: string;
|
|
19
|
+
values: IOptionValue[];
|
|
20
|
+
}>;
|
|
21
|
+
optionListState: EventEmitter<{
|
|
22
|
+
open: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
hasOptions: boolean;
|
|
25
|
+
contentElement: HTMLElement;
|
|
26
|
+
activeIndex: number;
|
|
27
|
+
scheduledAfterRender: Array<() => void>;
|
|
28
|
+
searchString: string;
|
|
29
|
+
searchStringTimer: number;
|
|
30
|
+
hostElement: HTMLElement;
|
|
31
|
+
componentWillLoad(): void;
|
|
32
|
+
componentDidLoad(): void;
|
|
33
|
+
componentDidRender(): void;
|
|
34
|
+
get allOptions(): HTMLQ2OptionElement[];
|
|
35
|
+
checkOptions(): void;
|
|
36
|
+
getRootSlot(element: Element): any;
|
|
37
|
+
scrollToActiveOption(): void;
|
|
38
|
+
resizeIframe(): void;
|
|
39
|
+
openDropdownWithActiveElement(activeIndex: number): void;
|
|
40
|
+
getDefaultActiveIndex(): number;
|
|
41
|
+
updateSingleOptionAttrs(): void;
|
|
42
|
+
updateMultipleOptionAttrs(): void;
|
|
43
|
+
setActiveOption(): void;
|
|
44
|
+
setFocusedOption(): void;
|
|
45
|
+
getNextVisibleIndex(direction: any): any;
|
|
46
|
+
selectOption(selectedValue: string): void;
|
|
47
|
+
adjustActiveOptionAndScroll(numToAdd: number): void;
|
|
48
|
+
resetTimer(): void;
|
|
49
|
+
searchAndFocus(key: string): void;
|
|
50
|
+
selectedOptionsUpdated(): void;
|
|
51
|
+
openChanged(newValue: boolean): void;
|
|
52
|
+
delegateFocus(event: FocusEvent): void;
|
|
53
|
+
handleClick(event: MouseEvent): void;
|
|
54
|
+
toggle(): void;
|
|
55
|
+
setDefaultActiveElement(): void;
|
|
56
|
+
setActiveElement(index: number): void;
|
|
57
|
+
handleExternalKeydown(event: KeyboardEvent): void;
|
|
58
|
+
keydownHandler: (event: KeyboardEvent, ignoreSelectionEvents?: boolean) => void;
|
|
59
|
+
focusoutHandler: (event: FocusEvent) => void;
|
|
60
|
+
clickHandler: (event: Event) => void;
|
|
61
|
+
render(): any;
|
|
62
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ComponentInterface } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class Q2Pagination implements ComponentInterface {
|
|
3
|
+
recordType: string;
|
|
4
|
+
perPage: number;
|
|
5
|
+
total: number;
|
|
6
|
+
page: number;
|
|
7
|
+
pages: number;
|
|
8
|
+
recordsOnly: boolean;
|
|
9
|
+
pagesOnly: boolean;
|
|
10
|
+
hostElement: HTMLElement;
|
|
11
|
+
change: any;
|
|
12
|
+
isSmall: boolean;
|
|
13
|
+
inputField: HTMLQ2InputElement;
|
|
14
|
+
containerElement: HTMLElement;
|
|
15
|
+
containerWidth: number;
|
|
16
|
+
resizeObserver: ResizeObserver;
|
|
17
|
+
componentDidLoad(): void;
|
|
18
|
+
disconnectedCallback(): void;
|
|
19
|
+
onHostElementFocus(event: any): void;
|
|
20
|
+
get isFullViewHidden(): boolean;
|
|
21
|
+
get pageWithDefault(): number;
|
|
22
|
+
get perPageWithDefault(): number;
|
|
23
|
+
get totalWithDefault(): number;
|
|
24
|
+
get recordTypeWithDefault(): string;
|
|
25
|
+
get currentRange(): string;
|
|
26
|
+
get totalPages(): number;
|
|
27
|
+
handlePageChange: (page: number) => void;
|
|
28
|
+
checkSize(): void;
|
|
29
|
+
render(): any;
|
|
30
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { IOptionValue } from '../q2-option-list';
|
|
3
|
+
export declare class Q2Pill implements ComponentInterface {
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
active: boolean;
|
|
6
|
+
open: boolean;
|
|
7
|
+
multiple: boolean;
|
|
8
|
+
label: string;
|
|
9
|
+
value: string;
|
|
10
|
+
theme: 'primary' | 'secondary' | 'tertiary';
|
|
11
|
+
selectedOptions: IOptionValue[];
|
|
12
|
+
hasOptions: boolean;
|
|
13
|
+
hostElement: HTMLElement;
|
|
14
|
+
change: EventEmitter<{
|
|
15
|
+
value: string;
|
|
16
|
+
values: IOptionValue[];
|
|
17
|
+
active: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
scheduledAfterRender: Array<() => void>;
|
|
20
|
+
primaryBtn: HTMLButtonElement;
|
|
21
|
+
optionList: HTMLQ2OptionListElement;
|
|
22
|
+
mutationObserver: MutationObserver;
|
|
23
|
+
componentWillLoad(): void;
|
|
24
|
+
componentDidLoad(): void;
|
|
25
|
+
componentDidRender(): void;
|
|
26
|
+
disconnectedCallback(): void;
|
|
27
|
+
get buttonContent(): string;
|
|
28
|
+
determineHasOptions: () => void;
|
|
29
|
+
clearSelectedOptions: () => void;
|
|
30
|
+
delegateFocus(event: FocusEvent): void;
|
|
31
|
+
optionListStateEvent({ detail: { open } }: CustomEvent): void;
|
|
32
|
+
handleClick: (event: MouseEvent) => void;
|
|
33
|
+
handleKeydown: (event: KeyboardEvent) => void;
|
|
34
|
+
handleChange: (event: any) => void;
|
|
35
|
+
handleFocusout: (event: FocusEvent) => void;
|
|
36
|
+
handleWrapperClick: () => void;
|
|
37
|
+
generateIcon(): any;
|
|
38
|
+
render(): any;
|
|
39
|
+
}
|
|
@@ -8,16 +8,19 @@ export declare class Q2Radio implements ComponentInterface {
|
|
|
8
8
|
name: string;
|
|
9
9
|
ariaLabel: string;
|
|
10
10
|
groupDisabled: boolean;
|
|
11
|
+
groupReadonly: boolean;
|
|
11
12
|
groupTileLayout: boolean;
|
|
12
13
|
hostElement: HTMLElement;
|
|
13
14
|
id: string;
|
|
14
15
|
inputField: HTMLInputElement;
|
|
16
|
+
isLoaded: boolean;
|
|
15
17
|
change: EventEmitter;
|
|
16
18
|
componentWillLoad(): void;
|
|
17
19
|
componentDidLoad(): void;
|
|
18
20
|
ariaLabelObserver(): void;
|
|
21
|
+
checkedObserver(): void;
|
|
19
22
|
onHostClick(event: Event): void;
|
|
20
23
|
delegateFocus(event: FocusEvent): void;
|
|
21
|
-
inputChange: (event: Event) =>
|
|
24
|
+
inputChange: (event: Event) => boolean;
|
|
22
25
|
render(): any;
|
|
23
26
|
}
|
|
@@ -5,6 +5,7 @@ export declare class Q2RadioGroup implements ComponentInterface {
|
|
|
5
5
|
disabled: boolean;
|
|
6
6
|
name: string;
|
|
7
7
|
optional: boolean;
|
|
8
|
+
readonly: boolean;
|
|
8
9
|
tilelayout: boolean;
|
|
9
10
|
tileAlignment: 'left' | 'center' | 'right';
|
|
10
11
|
hasError: boolean;
|
|
@@ -14,15 +15,18 @@ export declare class Q2RadioGroup implements ComponentInterface {
|
|
|
14
15
|
get radioElements(): HTMLQ2RadioElement[];
|
|
15
16
|
onMutationObserved: () => void;
|
|
16
17
|
onInnerRadioChange: (event: CustomEvent) => void;
|
|
18
|
+
componentWillLoad(): void;
|
|
17
19
|
componentDidLoad(): void;
|
|
18
|
-
valueUpdated(): void;
|
|
20
|
+
valueUpdated(newVal: any): void;
|
|
19
21
|
nameUpdated(): void;
|
|
20
22
|
disabledUpdated(): void;
|
|
23
|
+
readonlyUpdated(): void;
|
|
21
24
|
tileLayoutUpdated(): void;
|
|
22
25
|
change: EventEmitter;
|
|
23
26
|
onHostElementChange(event: CustomEvent): void;
|
|
24
27
|
delegateFocus(event: FocusEvent): void;
|
|
25
28
|
keydownHandler(event: KeyboardEvent): void;
|
|
29
|
+
labelDOM(): any;
|
|
26
30
|
render(): any;
|
|
27
31
|
inputDom(): any;
|
|
28
32
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class Q2Tag implements ComponentInterface {
|
|
3
|
+
open: boolean;
|
|
4
|
+
role: string;
|
|
5
|
+
label: string;
|
|
6
|
+
theme: 'primary' | 'secondary' | 'tertiary';
|
|
7
|
+
hasOptions: boolean;
|
|
8
|
+
hostElement: HTMLElement;
|
|
9
|
+
click: EventEmitter<{
|
|
10
|
+
value: string;
|
|
11
|
+
}>;
|
|
12
|
+
dropdownBtn: HTMLButtonElement;
|
|
13
|
+
optionList: HTMLQ2OptionListElement;
|
|
14
|
+
mutationObserver: MutationObserver;
|
|
15
|
+
componentWillLoad(): void;
|
|
16
|
+
componentDidLoad(): void;
|
|
17
|
+
disconnectedCallback(): void;
|
|
18
|
+
determineHasOptions: () => void;
|
|
19
|
+
delegateFocus(event: FocusEvent): void;
|
|
20
|
+
optionListStateEvent({ detail: { open } }: CustomEvent): void;
|
|
21
|
+
handleChange: (event: any) => void;
|
|
22
|
+
handleClick: (event: MouseEvent) => void;
|
|
23
|
+
handleKeydown: (event: KeyboardEvent) => void;
|
|
24
|
+
handleButtonFocusout: (event: FocusEvent) => void;
|
|
25
|
+
handleOptionListFocusout: (event: FocusEvent) => void;
|
|
26
|
+
handleWrapperClick: () => void;
|
|
27
|
+
render(): any;
|
|
28
|
+
}
|