haya-select 1.0.89 → 1.0.91
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/README.md +46 -0
- package/build/select/index.d.ts +17 -1
- package/build/select/index.d.ts.map +1 -1
- package/build/select/index.js +353 -20
- package/build/system-test-helpers.d.ts +39 -0
- package/build/system-test-helpers.d.ts.map +1 -0
- package/build/system-test-helpers.js +108 -0
- package/package.json +5 -4
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** @typedef {{systemTest: object, testId: string}} HayaSelectSystemTestHelperOptions */
|
|
2
|
+
/**
|
|
3
|
+
* System test helper for interacting with HayaSelect instances.
|
|
4
|
+
*/
|
|
5
|
+
export default class HayaSelectSystemTestHelper {
|
|
6
|
+
/** @param {HayaSelectSystemTestHelperOptions} options */
|
|
7
|
+
constructor(options: HayaSelectSystemTestHelperOptions);
|
|
8
|
+
systemTest: any;
|
|
9
|
+
testId: string;
|
|
10
|
+
rootSelector: string;
|
|
11
|
+
componentSelector: string;
|
|
12
|
+
selectContainerSelector: string;
|
|
13
|
+
searchInputSelector: string;
|
|
14
|
+
/** @returns {Promise<void>} */
|
|
15
|
+
open(): Promise<void>;
|
|
16
|
+
/** @returns {Promise<void>} */
|
|
17
|
+
close(): Promise<void>;
|
|
18
|
+
/** @returns {Promise<boolean>} */
|
|
19
|
+
isOpen(): Promise<boolean>;
|
|
20
|
+
/** @returns {Promise<string>} */
|
|
21
|
+
optionsContainerSelector(): Promise<string>;
|
|
22
|
+
_optionsContainerSelector: any;
|
|
23
|
+
/** @returns {Promise<string[]>} */
|
|
24
|
+
optionTexts(): Promise<string[]>;
|
|
25
|
+
/**
|
|
26
|
+
* @param {{index?: number, text?: string, value?: string|number}} criteria
|
|
27
|
+
* @returns {Promise<void>}
|
|
28
|
+
*/
|
|
29
|
+
selectOption({ index, text, value, ...restArgs }?: {
|
|
30
|
+
index?: number;
|
|
31
|
+
text?: string;
|
|
32
|
+
value?: string | number;
|
|
33
|
+
}, ...args: any[]): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
export type HayaSelectSystemTestHelperOptions = {
|
|
36
|
+
systemTest: object;
|
|
37
|
+
testId: string;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=system-test-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-test-helpers.d.ts","sourceRoot":"","sources":["../src/system-test-helpers.js"],"names":[],"mappings":"AAEA,wFAAwF;AAExF;;GAEG;AACH;IACE,yDAAyD;IACzD,qBADY,iCAAiC,EAmB5C;IANC,gBAA4B;IAC5B,eAAoB;IACpB,qBAA+C;IAC/C,0BAA8E;IAC9E,gCAAqF;IACrF,4BAAkF;IAGpF,+BAA+B;IAC/B,QADc,OAAO,CAAC,IAAI,CAAC,CAI1B;IAED,+BAA+B;IAC/B,SADc,OAAO,CAAC,IAAI,CAAC,CAU1B;IAED,kCAAkC;IAClC,UADc,OAAO,CAAC,OAAO,CAAC,CAO7B;IAED,iCAAiC;IACjC,4BADc,OAAO,CAAC,MAAM,CAAC,CAe5B;IAHC,+BAA+E;IAKjF,mCAAmC;IACnC,eADc,OAAO,CAAC,MAAM,EAAE,CAAC,CAM9B;IAED;;;OAGG;IACH,mDAHW;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAC,MAAM,CAAA;KAAC,mBACpD,OAAO,CAAC,IAAI,CAAC,CAmDzB;CACF;gDArIa;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import waitFor from "awaitery/build/wait-for.js";
|
|
2
|
+
/** @typedef {{systemTest: object, testId: string}} HayaSelectSystemTestHelperOptions */
|
|
3
|
+
/**
|
|
4
|
+
* System test helper for interacting with HayaSelect instances.
|
|
5
|
+
*/
|
|
6
|
+
export default class HayaSelectSystemTestHelper {
|
|
7
|
+
/** @param {HayaSelectSystemTestHelperOptions} options */
|
|
8
|
+
constructor(options) {
|
|
9
|
+
if (!options) {
|
|
10
|
+
throw new Error(`Expected options for HayaSelectSystemTestHelper, got: ${options}`);
|
|
11
|
+
}
|
|
12
|
+
const { systemTest, testId, ...restArgs } = options;
|
|
13
|
+
const extraKeys = Object.keys(restArgs);
|
|
14
|
+
if (extraKeys.length > 0) {
|
|
15
|
+
throw new Error(`Unexpected options for HayaSelectSystemTestHelper: ${extraKeys.join(", ")}`);
|
|
16
|
+
}
|
|
17
|
+
this.systemTest = systemTest;
|
|
18
|
+
this.testId = testId;
|
|
19
|
+
this.rootSelector = `[data-testid='${testId}']`;
|
|
20
|
+
this.componentSelector = `${this.rootSelector} [data-component='haya-select']`;
|
|
21
|
+
this.selectContainerSelector = `${this.rootSelector} [data-class='select-container']`;
|
|
22
|
+
this.searchInputSelector = `${this.rootSelector} [data-class='search-text-input']`;
|
|
23
|
+
}
|
|
24
|
+
/** @returns {Promise<void>} */
|
|
25
|
+
async open() {
|
|
26
|
+
await this.systemTest.click(this.selectContainerSelector);
|
|
27
|
+
await this.systemTest.find(this.searchInputSelector);
|
|
28
|
+
}
|
|
29
|
+
/** @returns {Promise<void>} */
|
|
30
|
+
async close() {
|
|
31
|
+
await this.systemTest.click(this.selectContainerSelector);
|
|
32
|
+
await waitFor({ timeout: 5000 }, async () => {
|
|
33
|
+
const searchInputs = await this.systemTest.all(this.searchInputSelector, { timeout: 0, visible: false });
|
|
34
|
+
if (searchInputs.length > 0) {
|
|
35
|
+
throw new Error("Search input is still visible");
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/** @returns {Promise<boolean>} */
|
|
40
|
+
async isOpen() {
|
|
41
|
+
const scoundrel = await this.systemTest.getScoundrelClient();
|
|
42
|
+
return await scoundrel.evalResult(`
|
|
43
|
+
return Boolean(document.querySelector(${JSON.stringify(this.searchInputSelector)}))
|
|
44
|
+
`);
|
|
45
|
+
}
|
|
46
|
+
/** @returns {Promise<string>} */
|
|
47
|
+
async optionsContainerSelector() {
|
|
48
|
+
if (this._optionsContainerSelector)
|
|
49
|
+
return this._optionsContainerSelector;
|
|
50
|
+
const scoundrel = await this.systemTest.getScoundrelClient();
|
|
51
|
+
const selector = await scoundrel.evalResult(`
|
|
52
|
+
const root = document.querySelector(${JSON.stringify(this.componentSelector)}) ||
|
|
53
|
+
document.querySelector(${JSON.stringify(this.rootSelector)})
|
|
54
|
+
const id = root?.dataset?.id
|
|
55
|
+
return id ? "[data-class='options-container'][data-id='" + id + "']" : null
|
|
56
|
+
`);
|
|
57
|
+
this._optionsContainerSelector = selector || "[data-class='options-container']";
|
|
58
|
+
return this._optionsContainerSelector;
|
|
59
|
+
}
|
|
60
|
+
/** @returns {Promise<string[]>} */
|
|
61
|
+
async optionTexts() {
|
|
62
|
+
const optionsContainerSelector = await this.optionsContainerSelector();
|
|
63
|
+
const options = await this.systemTest.all(`${optionsContainerSelector} [data-class='select-option']`, { useBaseSelector: false });
|
|
64
|
+
return await Promise.all(options.map(async (option) => (await option.getText()).trim()));
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @param {{index?: number, text?: string, value?: string|number}} criteria
|
|
68
|
+
* @returns {Promise<void>}
|
|
69
|
+
*/
|
|
70
|
+
async selectOption({ index, text, value, ...restArgs } = {}) {
|
|
71
|
+
if (arguments.length === 0) {
|
|
72
|
+
throw new Error("Expected criteria for selectOption, got: undefined");
|
|
73
|
+
}
|
|
74
|
+
const extraKeys = Object.keys(restArgs);
|
|
75
|
+
if (extraKeys.length > 0) {
|
|
76
|
+
throw new Error(`Unexpected selectOption criteria: ${extraKeys.join(", ")}`);
|
|
77
|
+
}
|
|
78
|
+
if (typeof value != "undefined") {
|
|
79
|
+
const optionsContainerSelector = await this.optionsContainerSelector();
|
|
80
|
+
const option = await this.systemTest.find(`${optionsContainerSelector} [data-class='select-option'][data-value='${value}']`, { useBaseSelector: false });
|
|
81
|
+
await this.systemTest.click(option);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (typeof index == "number") {
|
|
85
|
+
const optionsContainerSelector = await this.optionsContainerSelector();
|
|
86
|
+
const options = await this.systemTest.all(`${optionsContainerSelector} [data-class='select-option']`, { useBaseSelector: false });
|
|
87
|
+
const option = options[index];
|
|
88
|
+
if (!option)
|
|
89
|
+
throw new Error(`No option at index: ${index}`);
|
|
90
|
+
await this.systemTest.click(option);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (text) {
|
|
94
|
+
const optionsContainerSelector = await this.optionsContainerSelector();
|
|
95
|
+
const options = await this.systemTest.all(`${optionsContainerSelector} [data-class='select-option']`, { useBaseSelector: false });
|
|
96
|
+
for (const option of options) {
|
|
97
|
+
const optionText = (await option.getText()).trim();
|
|
98
|
+
if (optionText === text) {
|
|
99
|
+
await this.systemTest.click(option);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
throw new Error(`No option found with text: ${text}`);
|
|
104
|
+
}
|
|
105
|
+
throw new Error("Expected value, text, or index when selecting an option");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLXRlc3QtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zeXN0ZW0tdGVzdC1oZWxwZXJzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLDRCQUE0QixDQUFBO0FBRWhELHdGQUF3RjtBQUV4Rjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sMEJBQTBCO0lBQzdDLHlEQUF5RDtJQUN6RCxZQUFZLE9BQU87UUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUNyRixDQUFDO1FBRUQsTUFBTSxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxRQUFRLEVBQUMsR0FBRyxPQUFPLENBQUE7UUFDakQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDL0YsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsaUJBQWlCLE1BQU0sSUFBSSxDQUFBO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLGlDQUFpQyxDQUFBO1FBQzlFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLGtDQUFrQyxDQUFBO1FBQ3JGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLG1DQUFtQyxDQUFBO0lBQ3BG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SSxFQUFFLENBQUM7WUFDVCxNQUFNLHdCQUF3QixHQUFHLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUE7WUFDdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLHdCQUF3QiwrQkFBK0IsRUFBRSxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO1lBRS9ILEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFFbEQsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ3hCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7b0JBQ25DLE9BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7WUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZELENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUE7SUFDNUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHdhaXRGb3IgZnJvbSBcImF3YWl0ZXJ5L2J1aWxkL3dhaXQtZm9yLmpzXCJcblxuLyoqIEB0eXBlZGVmIHt7c3lzdGVtVGVzdDogb2JqZWN0LCB0ZXN0SWQ6IHN0cmluZ319IEhheWFTZWxlY3RTeXN0ZW1UZXN0SGVscGVyT3B0aW9ucyAqL1xuXG4vKipcbiAqIFN5c3RlbSB0ZXN0IGhlbHBlciBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBIYXlhU2VsZWN0IGluc3RhbmNlcy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGF5YVNlbGVjdFN5c3RlbVRlc3RIZWxwZXIge1xuICAvKiogQHBhcmFtIHtIYXlhU2VsZWN0U3lzdGVtVGVzdEhlbHBlck9wdGlvbnN9IG9wdGlvbnMgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIGlmICghb3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBvcHRpb25zIGZvciBIYXlhU2VsZWN0U3lzdGVtVGVzdEhlbHBlciwgZ290OiAke29wdGlvbnN9YClcbiAgICB9XG5cbiAgICBjb25zdCB7c3lzdGVtVGVzdCwgdGVzdElkLCAuLi5yZXN0QXJnc30gPSBvcHRpb25zXG4gICAgY29uc3QgZXh0cmFLZXlzID0gT2JqZWN0LmtleXMocmVzdEFyZ3MpXG5cbiAgICBpZiAoZXh0cmFLZXlzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBvcHRpb25zIGZvciBIYXlhU2VsZWN0U3lzdGVtVGVzdEhlbHBlcjogJHtleHRyYUtleXMuam9pbihcIiwgXCIpfWApXG4gICAgfVxuXG4gICAgdGhpcy5zeXN0ZW1UZXN0ID0gc3lzdGVtVGVzdFxuICAgIHRoaXMudGVzdElkID0gdGVzdElkXG4gICAgdGhpcy5yb290U2VsZWN0b3IgPSBgW2RhdGEtdGVzdGlkPScke3Rlc3RJZH0nXWBcbiAgICB0aGlzLmNvbXBvbmVudFNlbGVjdG9yID0gYCR7dGhpcy5yb290U2VsZWN0b3J9IFtkYXRhLWNvbXBvbmVudD0naGF5YS1zZWxlY3QnXWBcbiAgICB0aGlzLnNlbGVjdENvbnRhaW5lclNlbGVjdG9yID0gYCR7dGhpcy5yb290U2VsZWN0b3J9IFtkYXRhLWNsYXNzPSdzZWxlY3QtY29udGFpbmVyJ11gXG4gICAgdGhpcy5zZWFyY2hJbnB1dFNlbGVjdG9yID0gYCR7dGhpcy5yb290U2VsZWN0b3J9IFtkYXRhLWNsYXNzPSdzZWFyY2gtdGV4dC1pbnB1dCddYFxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAqL1xuICBhc3luYyBvcGVuKCkge1xuICAgIGF3YWl0IHRoaXMuc3lzdGVtVGVzdC5jbGljayh0aGlzLnNlbGVjdENvbnRhaW5lclNlbGVjdG9yKVxuICAgIGF3YWl0IHRoaXMuc3lzdGVtVGVzdC5maW5kKHRoaXMuc2VhcmNoSW5wdXRTZWxlY3RvcilcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgYXN5bmMgY2xvc2UoKSB7XG4gICAgYXdhaXQgdGhpcy5zeXN0ZW1UZXN0LmNsaWNrKHRoaXMuc2VsZWN0Q29udGFpbmVyU2VsZWN0b3IpXG4gICAgYXdhaXQgd2FpdEZvcih7dGltZW91dDogNTAwMH0sIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaElucHV0cyA9IGF3YWl0IHRoaXMuc3lzdGVtVGVzdC5hbGwodGhpcy5zZWFyY2hJbnB1dFNlbGVjdG9yLCB7dGltZW91dDogMCwgdmlzaWJsZTogZmFsc2V9KVxuXG4gICAgICBpZiAoc2VhcmNoSW5wdXRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2VhcmNoIGlucHV0IGlzIHN0aWxsIHZpc2libGVcIilcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSAqL1xuICBhc3luYyBpc09wZW4oKSB7XG4gICAgY29uc3Qgc2NvdW5kcmVsID0gYXdhaXQgdGhpcy5zeXN0ZW1UZXN0LmdldFNjb3VuZHJlbENsaWVudCgpXG5cbiAgICByZXR1cm4gYXdhaXQgc2NvdW5kcmVsLmV2YWxSZXN1bHQoYFxuICAgICAgcmV0dXJuIEJvb2xlYW4oZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigke0pTT04uc3RyaW5naWZ5KHRoaXMuc2VhcmNoSW5wdXRTZWxlY3Rvcil9KSlcbiAgICBgKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59ICovXG4gIGFzeW5jIG9wdGlvbnNDb250YWluZXJTZWxlY3RvcigpIHtcbiAgICBpZiAodGhpcy5fb3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yKSByZXR1cm4gdGhpcy5fb3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yXG5cbiAgICBjb25zdCBzY291bmRyZWwgPSBhd2FpdCB0aGlzLnN5c3RlbVRlc3QuZ2V0U2NvdW5kcmVsQ2xpZW50KClcbiAgICBjb25zdCBzZWxlY3RvciA9IGF3YWl0IHNjb3VuZHJlbC5ldmFsUmVzdWx0KGBcbiAgICAgIGNvbnN0IHJvb3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCR7SlNPTi5zdHJpbmdpZnkodGhpcy5jb21wb25lbnRTZWxlY3Rvcil9KSB8fFxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCR7SlNPTi5zdHJpbmdpZnkodGhpcy5yb290U2VsZWN0b3IpfSlcbiAgICAgIGNvbnN0IGlkID0gcm9vdD8uZGF0YXNldD8uaWRcbiAgICAgIHJldHVybiBpZCA/IFwiW2RhdGEtY2xhc3M9J29wdGlvbnMtY29udGFpbmVyJ11bZGF0YS1pZD0nXCIgKyBpZCArIFwiJ11cIiA6IG51bGxcbiAgICBgKVxuXG4gICAgdGhpcy5fb3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yID0gc2VsZWN0b3IgfHwgXCJbZGF0YS1jbGFzcz0nb3B0aW9ucy1jb250YWluZXInXVwiXG5cbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8c3RyaW5nW10+fSAqL1xuICBhc3luYyBvcHRpb25UZXh0cygpIHtcbiAgICBjb25zdCBvcHRpb25zQ29udGFpbmVyU2VsZWN0b3IgPSBhd2FpdCB0aGlzLm9wdGlvbnNDb250YWluZXJTZWxlY3RvcigpXG4gICAgY29uc3Qgb3B0aW9ucyA9IGF3YWl0IHRoaXMuc3lzdGVtVGVzdC5hbGwoYCR7b3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yfSBbZGF0YS1jbGFzcz0nc2VsZWN0LW9wdGlvbiddYCwge3VzZUJhc2VTZWxlY3RvcjogZmFsc2V9KVxuXG4gICAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKG9wdGlvbnMubWFwKGFzeW5jIChvcHRpb24pID0+IChhd2FpdCBvcHRpb24uZ2V0VGV4dCgpKS50cmltKCkpKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7e2luZGV4PzogbnVtYmVyLCB0ZXh0Pzogc3RyaW5nLCB2YWx1ZT86IHN0cmluZ3xudW1iZXJ9fSBjcml0ZXJpYVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIHNlbGVjdE9wdGlvbih7aW5kZXgsIHRleHQsIHZhbHVlLCAuLi5yZXN0QXJnc30gPSB7fSkge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBjcml0ZXJpYSBmb3Igc2VsZWN0T3B0aW9uLCBnb3Q6IHVuZGVmaW5lZFwiKVxuICAgIH1cblxuICAgIGNvbnN0IGV4dHJhS2V5cyA9IE9iamVjdC5rZXlzKHJlc3RBcmdzKVxuXG4gICAgaWYgKGV4dHJhS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgc2VsZWN0T3B0aW9uIGNyaXRlcmlhOiAke2V4dHJhS2V5cy5qb2luKFwiLCBcIil9YClcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnNDb250YWluZXJTZWxlY3RvciA9IGF3YWl0IHRoaXMub3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yKClcbiAgICAgIGNvbnN0IG9wdGlvbiA9IGF3YWl0IHRoaXMuc3lzdGVtVGVzdC5maW5kKFxuICAgICAgICBgJHtvcHRpb25zQ29udGFpbmVyU2VsZWN0b3J9IFtkYXRhLWNsYXNzPSdzZWxlY3Qtb3B0aW9uJ11bZGF0YS12YWx1ZT0nJHt2YWx1ZX0nXWAsXG4gICAgICAgIHt1c2VCYXNlU2VsZWN0b3I6IGZhbHNlfVxuICAgICAgKVxuICAgICAgYXdhaXQgdGhpcy5zeXN0ZW1UZXN0LmNsaWNrKG9wdGlvbilcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5kZXggPT0gXCJudW1iZXJcIikge1xuICAgICAgY29uc3Qgb3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yID0gYXdhaXQgdGhpcy5vcHRpb25zQ29udGFpbmVyU2VsZWN0b3IoKVxuICAgICAgY29uc3Qgb3B0aW9ucyA9IGF3YWl0IHRoaXMuc3lzdGVtVGVzdC5hbGwoYCR7b3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yfSBbZGF0YS1jbGFzcz0nc2VsZWN0LW9wdGlvbiddYCwge3VzZUJhc2VTZWxlY3RvcjogZmFsc2V9KVxuICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc1tpbmRleF1cblxuICAgICAgaWYgKCFvcHRpb24pIHRocm93IG5ldyBFcnJvcihgTm8gb3B0aW9uIGF0IGluZGV4OiAke2luZGV4fWApXG5cbiAgICAgIGF3YWl0IHRoaXMuc3lzdGVtVGVzdC5jbGljayhvcHRpb24pXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAodGV4dCkge1xuICAgICAgY29uc3Qgb3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yID0gYXdhaXQgdGhpcy5vcHRpb25zQ29udGFpbmVyU2VsZWN0b3IoKVxuICAgICAgY29uc3Qgb3B0aW9ucyA9IGF3YWl0IHRoaXMuc3lzdGVtVGVzdC5hbGwoYCR7b3B0aW9uc0NvbnRhaW5lclNlbGVjdG9yfSBbZGF0YS1jbGFzcz0nc2VsZWN0LW9wdGlvbiddYCwge3VzZUJhc2VTZWxlY3RvcjogZmFsc2V9KVxuXG4gICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvblRleHQgPSAoYXdhaXQgb3B0aW9uLmdldFRleHQoKSkudHJpbSgpXG5cbiAgICAgICAgaWYgKG9wdGlvblRleHQgPT09IHRleHQpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnN5c3RlbVRlc3QuY2xpY2sob3B0aW9uKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gb3B0aW9uIGZvdW5kIHdpdGggdGV4dDogJHt0ZXh0fWApXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgdmFsdWUsIHRleHQsIG9yIGluZGV4IHdoZW4gc2VsZWN0aW5nIGFuIG9wdGlvblwiKVxuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "haya-select",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.91",
|
|
4
4
|
"description": "Just another select component for React Native + Web.",
|
|
5
5
|
"files": [
|
|
6
6
|
"build/**"
|
|
@@ -39,7 +39,8 @@
|
|
|
39
39
|
"debounce": "^3.0.0",
|
|
40
40
|
"diggerize": "^1.0.4",
|
|
41
41
|
"fetching-object": "^1.0.1",
|
|
42
|
-
"react-native-render-html": "^6.3.4"
|
|
42
|
+
"react-native-render-html": "^6.3.4",
|
|
43
|
+
"ya-use-event-listener": "^0.1.1"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
46
|
"@types/react": "~18.3.12",
|
|
@@ -48,10 +49,10 @@
|
|
|
48
49
|
"expo-module-scripts": "^4.0.2",
|
|
49
50
|
"react": "18.3.1",
|
|
50
51
|
"react-native": "0.76.9",
|
|
51
|
-
"scoundrel-remote-eval": "1.0.
|
|
52
|
+
"scoundrel-remote-eval": "1.0.29",
|
|
52
53
|
"sqlite": "^5.1.1",
|
|
53
54
|
"sqlite3": "^5.1.7",
|
|
54
|
-
"system-testing": "^1.0.
|
|
55
|
+
"system-testing": "^1.0.62",
|
|
55
56
|
"velocious": "^1.0.176"
|
|
56
57
|
},
|
|
57
58
|
"peerDependencies": {
|