react-bootstrap-plugins 1.0.5 → 2.0.0
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 +7 -5
- package/dist/DatePicker.cjs +2 -2
- package/dist/DatePicker.d.cts +57 -0
- package/dist/DatePicker.d.ts +54 -42
- package/dist/DatePicker.js +2 -2
- package/dist/Label.cjs +2 -2
- package/dist/Label.d.cts +15 -0
- package/dist/Label.d.ts +12 -13
- package/dist/Label.js +2 -2
- package/dist/SearchSelect.cjs +2 -2
- package/dist/SearchSelect.d.cts +40 -0
- package/dist/SearchSelect.d.ts +37 -28
- package/dist/SearchSelect.js +2 -2
- package/dist/TableLoading.cjs +2 -2
- package/dist/TableLoading.d.cts +13 -0
- package/dist/TableLoading.d.ts +10 -10
- package/dist/TableLoading.js +2 -2
- package/dist/chunk-2Q4NZKMX.cjs +2 -0
- package/dist/chunk-5IOLZUVD.cjs +2 -0
- package/dist/chunk-7LXLWNUR.js +2 -0
- package/dist/chunk-AWU5XGMI.cjs +2 -0
- package/dist/chunk-ES5ABK5L.js +2 -0
- package/dist/chunk-GZ2D7HTS.cjs +2 -0
- package/dist/chunk-HYB5IGJK.js +2 -0
- package/dist/chunk-NPQQDBFB.cjs +2 -0
- package/dist/chunk-RR7TBRGI.js +2 -0
- package/dist/chunk-ZCAQ7S2A.js +2 -0
- package/dist/css/datepicker.css +1 -299
- package/dist/css/plugins.css +1 -0
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +5 -0
- package/dist/index.d.ts +5 -13
- package/dist/index.js +2 -2
- package/docs/DATEPICKER.md +3 -3
- package/package.json +12 -8
- package/dist/DatePicker.cjs.map +0 -1
- package/dist/DatePicker.js.map +0 -1
- package/dist/Label.cjs.map +0 -1
- package/dist/Label.js.map +0 -1
- package/dist/SearchSelect.cjs.map +0 -1
- package/dist/SearchSelect.js.map +0 -1
- package/dist/TableLoading.cjs.map +0 -1
- package/dist/TableLoading.js.map +0 -1
- package/dist/chunk-2JC4VIKL.cjs +0 -2
- package/dist/chunk-2JC4VIKL.cjs.map +0 -1
- package/dist/chunk-46AJ2Q5H.js +0 -2
- package/dist/chunk-46AJ2Q5H.js.map +0 -1
- package/dist/chunk-J4TRPVD4.cjs +0 -2
- package/dist/chunk-J4TRPVD4.cjs.map +0 -1
- package/dist/chunk-KZEOI42M.cjs +0 -2
- package/dist/chunk-KZEOI42M.cjs.map +0 -1
- package/dist/chunk-MQRJBL7S.cjs +0 -2
- package/dist/chunk-MQRJBL7S.cjs.map +0 -1
- package/dist/chunk-MTRPXJ3C.js +0 -2
- package/dist/chunk-MTRPXJ3C.js.map +0 -1
- package/dist/chunk-QQNPKA7A.cjs +0 -2
- package/dist/chunk-QQNPKA7A.cjs.map +0 -1
- package/dist/chunk-W6UBCMKG.js +0 -2
- package/dist/chunk-W6UBCMKG.js.map +0 -1
- package/dist/chunk-WPTHY5AJ.js +0 -2
- package/dist/chunk-WPTHY5AJ.js.map +0 -1
- package/dist/chunk-XFHLZ7I3.js +0 -2
- package/dist/chunk-XFHLZ7I3.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/src/components/DatePicker.d.ts +0 -45
- package/src/components/DatePicker.jsx +0 -691
- package/src/components/Label.d.ts +0 -16
- package/src/components/Label.jsx +0 -22
- package/src/components/SearchSelect.d.ts +0 -31
- package/src/components/SearchSelect.jsx +0 -155
- package/src/components/TableLoading.d.ts +0 -13
- package/src/components/TableLoading.jsx +0 -43
- package/src/css/datepicker.css +0 -299
- package/src/index.js +0 -16
- package/src/lib/cn.js +0 -35
package/README.md
CHANGED
|
@@ -60,10 +60,12 @@ DatePicker requires a small CSS file for its popover calendar layout. Import it
|
|
|
60
60
|
|
|
61
61
|
```js
|
|
62
62
|
// Recommended — uses the package exports map (works with Vite, webpack 5+, Turbopack, Rollup)
|
|
63
|
-
import 'react-bootstrap-plugins/css/
|
|
63
|
+
import 'react-bootstrap-plugins/css/plugins.css'
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
This resolves to `dist/css/
|
|
66
|
+
This resolves to `dist/css/plugins.css` via the package's `exports` map. No additional configuration is needed for modern bundlers.
|
|
67
|
+
|
|
68
|
+
> **Backward compatibility:** The old path `react-bootstrap-plugins/css/datepicker.css` still works — it points to the same file. Prefer the new `plugins.css` path for new code.
|
|
67
69
|
|
|
68
70
|
#### Troubleshooting CSS import issues
|
|
69
71
|
|
|
@@ -78,7 +80,7 @@ If your bundler reports **"Cannot find module"** or fails to resolve the CSS imp
|
|
|
78
80
|
- **For older webpack (v4)** — you may need to use the full path if your version doesn't support the `exports` field.
|
|
79
81
|
|
|
80
82
|
```js
|
|
81
|
-
import 'react-bootstrap-plugins/dist/css/
|
|
83
|
+
import 'react-bootstrap-plugins/dist/css/plugins.css'
|
|
82
84
|
```
|
|
83
85
|
|
|
84
86
|
- **For Next.js** — add the package to `transpilePackages` in `next.config.mjs` if not already present.
|
|
@@ -117,7 +119,7 @@ import { TableLoading } from 'react-bootstrap-plugins/TableLoading'
|
|
|
117
119
|
import { DatePicker, SearchSelect, Label, TableLoading } from 'react-bootstrap-plugins'
|
|
118
120
|
|
|
119
121
|
// CSS (required for DatePicker)
|
|
120
|
-
import 'react-bootstrap-plugins/css/
|
|
122
|
+
import 'react-bootstrap-plugins/css/plugins.css'
|
|
121
123
|
```
|
|
122
124
|
|
|
123
125
|
Every component supports **both** default and named imports — use whichever fits your codebase conventions.
|
|
@@ -215,7 +217,7 @@ src/
|
|
|
215
217
|
│ ├── TableLoading.jsx Table placeholder skeleton
|
|
216
218
|
│ └── *.d.ts TypeScript declarations
|
|
217
219
|
└── css/
|
|
218
|
-
└──
|
|
220
|
+
└── plugins.css
|
|
219
221
|
```
|
|
220
222
|
|
|
221
223
|
---
|
package/dist/DatePicker.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkGZ2D7HTS_cjs=require('./chunk-GZ2D7HTS.cjs');require('./chunk-NPQQDBFB.cjs');Object.defineProperty(exports,"DatePicker",{enumerable:true,get:function(){return chunkGZ2D7HTS_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkGZ2D7HTS_cjs.b}});//# sourceMappingURL=DatePicker.cjs.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJEYXRlUGlja2VyLmNqcyJ9
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface DatePickerChangeEvent {
|
|
4
|
+
target: {
|
|
5
|
+
value: string | null;
|
|
6
|
+
name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
};
|
|
9
|
+
preventDefault: () => void;
|
|
10
|
+
stopPropagation: () => void;
|
|
11
|
+
nativeEvent: null;
|
|
12
|
+
}
|
|
13
|
+
interface DatePickerProps {
|
|
14
|
+
/** Picker mode (default 'date') */
|
|
15
|
+
mode?: 'date' | 'time' | 'datetime';
|
|
16
|
+
/** Currently selected Date (alias for value) */
|
|
17
|
+
selected?: Date | null;
|
|
18
|
+
/** Currently selected Date, ISO string, "hh:mm AA" time string, "YYYY-MM-DD hh:mm AA" datetime string, or timestamp */
|
|
19
|
+
value?: Date | string | number | null;
|
|
20
|
+
/** Synthetic event handler — e.target.value is a pre-formatted string */
|
|
21
|
+
onChange?: (e: DatePickerChangeEvent) => void;
|
|
22
|
+
/** Display format with tokens: yyyy, MM, dd, hh, mm, aa */
|
|
23
|
+
dateFormat?: string;
|
|
24
|
+
/** Placeholder text when empty */
|
|
25
|
+
placeholderText?: string;
|
|
26
|
+
/** Bootstrap size variant */
|
|
27
|
+
size?: 'sm' | 'lg';
|
|
28
|
+
/** Show a clear button on the input */
|
|
29
|
+
isClearable?: boolean;
|
|
30
|
+
/** Disable the input */
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/** Earliest selectable date */
|
|
33
|
+
minDate?: Date;
|
|
34
|
+
/** Latest selectable date */
|
|
35
|
+
maxDate?: Date;
|
|
36
|
+
/** Minute step in the time list (default 5) */
|
|
37
|
+
timeIntervals?: number;
|
|
38
|
+
/** Timezone identifier (default 'Kampala') */
|
|
39
|
+
timezone?: string;
|
|
40
|
+
/** Additional CSS classes on the input */
|
|
41
|
+
className?: string;
|
|
42
|
+
/** Input element ID */
|
|
43
|
+
id?: string;
|
|
44
|
+
/** Input name attribute — surfaces as e.target.name in onChange */
|
|
45
|
+
name?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Custom Bootstrap-styled date / time / datetime picker. Zero dependencies.
|
|
49
|
+
*
|
|
50
|
+
* **Important:** The accompanying CSS **must** be imported for the picker to render correctly:
|
|
51
|
+
* ```js
|
|
52
|
+
* import 'react-bootstrap-plugins/css/plugins.css'
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLInputElement>>;
|
|
56
|
+
|
|
57
|
+
export { DatePicker, type DatePickerChangeEvent, type DatePickerProps, DatePicker as default };
|
package/dist/DatePicker.d.ts
CHANGED
|
@@ -1,45 +1,57 @@
|
|
|
1
|
-
import * as React from 'react'
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
* - date → `"YYYY-MM-DD"`
|
|
13
|
-
* - time → `"hh:mm AA"`
|
|
14
|
-
* - datetime → `"YYYY-MM-DD hh:mm AA"`
|
|
15
|
-
*/
|
|
16
|
-
onChange?: (e: { target: { value: string | null; name: string; type: string } }) => void
|
|
17
|
-
/** Display format — tokens: yyyy, MM, dd, hh, mm, aa */
|
|
18
|
-
dateFormat?: string
|
|
19
|
-
/** Placeholder text when empty */
|
|
20
|
-
placeholderText?: string
|
|
21
|
-
/** Bootstrap size variant */
|
|
22
|
-
size?: 'sm' | 'lg'
|
|
23
|
-
/** Show a clear button on the input */
|
|
24
|
-
isClearable?: boolean
|
|
25
|
-
/** Disable the input */
|
|
26
|
-
disabled?: boolean
|
|
27
|
-
/** Earliest selectable date */
|
|
28
|
-
minDate?: Date
|
|
29
|
-
/** Latest selectable date */
|
|
30
|
-
maxDate?: Date
|
|
31
|
-
/** Minute step in the time list (default 5) */
|
|
32
|
-
timeIntervals?: number
|
|
33
|
-
/** Timezone identifier for display (default 'Kampala') */
|
|
34
|
-
timezone?: string
|
|
35
|
-
/** Additional CSS classes on the input */
|
|
36
|
-
className?: string
|
|
37
|
-
/** Input element ID */
|
|
38
|
-
id?: string
|
|
39
|
-
/** Input name attribute */
|
|
40
|
-
name?: string
|
|
3
|
+
interface DatePickerChangeEvent {
|
|
4
|
+
target: {
|
|
5
|
+
value: string | null;
|
|
6
|
+
name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
};
|
|
9
|
+
preventDefault: () => void;
|
|
10
|
+
stopPropagation: () => void;
|
|
11
|
+
nativeEvent: null;
|
|
41
12
|
}
|
|
13
|
+
interface DatePickerProps {
|
|
14
|
+
/** Picker mode (default 'date') */
|
|
15
|
+
mode?: 'date' | 'time' | 'datetime';
|
|
16
|
+
/** Currently selected Date (alias for value) */
|
|
17
|
+
selected?: Date | null;
|
|
18
|
+
/** Currently selected Date, ISO string, "hh:mm AA" time string, "YYYY-MM-DD hh:mm AA" datetime string, or timestamp */
|
|
19
|
+
value?: Date | string | number | null;
|
|
20
|
+
/** Synthetic event handler — e.target.value is a pre-formatted string */
|
|
21
|
+
onChange?: (e: DatePickerChangeEvent) => void;
|
|
22
|
+
/** Display format with tokens: yyyy, MM, dd, hh, mm, aa */
|
|
23
|
+
dateFormat?: string;
|
|
24
|
+
/** Placeholder text when empty */
|
|
25
|
+
placeholderText?: string;
|
|
26
|
+
/** Bootstrap size variant */
|
|
27
|
+
size?: 'sm' | 'lg';
|
|
28
|
+
/** Show a clear button on the input */
|
|
29
|
+
isClearable?: boolean;
|
|
30
|
+
/** Disable the input */
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/** Earliest selectable date */
|
|
33
|
+
minDate?: Date;
|
|
34
|
+
/** Latest selectable date */
|
|
35
|
+
maxDate?: Date;
|
|
36
|
+
/** Minute step in the time list (default 5) */
|
|
37
|
+
timeIntervals?: number;
|
|
38
|
+
/** Timezone identifier (default 'Kampala') */
|
|
39
|
+
timezone?: string;
|
|
40
|
+
/** Additional CSS classes on the input */
|
|
41
|
+
className?: string;
|
|
42
|
+
/** Input element ID */
|
|
43
|
+
id?: string;
|
|
44
|
+
/** Input name attribute — surfaces as e.target.name in onChange */
|
|
45
|
+
name?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Custom Bootstrap-styled date / time / datetime picker. Zero dependencies.
|
|
49
|
+
*
|
|
50
|
+
* **Important:** The accompanying CSS **must** be imported for the picker to render correctly:
|
|
51
|
+
* ```js
|
|
52
|
+
* import 'react-bootstrap-plugins/css/plugins.css'
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLInputElement>>;
|
|
42
56
|
|
|
43
|
-
export
|
|
44
|
-
DatePickerProps & React.RefAttributes<HTMLInputElement>
|
|
45
|
-
>
|
|
57
|
+
export { DatePicker, type DatePickerChangeEvent, type DatePickerProps, DatePicker as default };
|
package/dist/DatePicker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as DatePicker,b as default}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
export{a as DatePicker,b as default}from'./chunk-ES5ABK5L.js';import'./chunk-RR7TBRGI.js';//# sourceMappingURL=DatePicker.js.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJEYXRlUGlja2VyLmpzIn0=
|
package/dist/Label.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunk2Q4NZKMX_cjs=require('./chunk-2Q4NZKMX.cjs');Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunk2Q4NZKMX_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunk2Q4NZKMX_cjs.b}});//# sourceMappingURL=Label.cjs.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJMYWJlbC5janMifQ==
|
package/dist/Label.d.cts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface LabelProps {
|
|
4
|
+
/** Additional CSS classes */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** htmlFor attribute — associates label with input ID (default 'default') */
|
|
7
|
+
hf?: string;
|
|
8
|
+
/** Whether to show the required asterisk (default true) */
|
|
9
|
+
required?: boolean;
|
|
10
|
+
/** Label text content (default 'Title') */
|
|
11
|
+
label?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const Label: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLLabelElement>>;
|
|
14
|
+
|
|
15
|
+
export { Label, type LabelProps, Label as default };
|
package/dist/Label.d.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import * as React from 'react'
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
interface LabelProps {
|
|
4
|
+
/** Additional CSS classes */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** htmlFor attribute — associates label with input ID (default 'default') */
|
|
7
|
+
hf?: string;
|
|
8
|
+
/** Whether to show the required asterisk (default true) */
|
|
9
|
+
required?: boolean;
|
|
10
|
+
/** Label text content (default 'Title') */
|
|
11
|
+
label?: string;
|
|
12
12
|
}
|
|
13
|
+
declare const Label: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLLabelElement>>;
|
|
13
14
|
|
|
14
|
-
export
|
|
15
|
-
LabelProps & React.RefAttributes<HTMLLabelElement>
|
|
16
|
-
>
|
|
15
|
+
export { Label, type LabelProps, Label as default };
|
package/dist/Label.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as Label,b as default}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
export{a as Label,b as default}from'./chunk-HYB5IGJK.js';//# sourceMappingURL=Label.js.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJMYWJlbC5qcyJ9
|
package/dist/SearchSelect.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkAWU5XGMI_cjs=require('./chunk-AWU5XGMI.cjs');require('./chunk-NPQQDBFB.cjs');Object.defineProperty(exports,"SearchSelect",{enumerable:true,get:function(){return chunkAWU5XGMI_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkAWU5XGMI_cjs.b}});//# sourceMappingURL=SearchSelect.cjs.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJTZWFyY2hTZWxlY3QuY2pzIn0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface SearchSelectProps<T = unknown> {
|
|
4
|
+
/** Additional CSS classes on the wrapper */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Selectable options — primitives (string|number|boolean) or objects */
|
|
7
|
+
options?: T[];
|
|
8
|
+
/** Key for display text when options are objects (default 'label') */
|
|
9
|
+
labelKey?: string;
|
|
10
|
+
/** Key for the value when options are objects (default 'value') */
|
|
11
|
+
valueKey?: string;
|
|
12
|
+
/** Placeholder text (default 'Select...') */
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
/** Currently selected value */
|
|
15
|
+
value?: T | null;
|
|
16
|
+
/** Called with synthetic event; e.target.value is the selected value, e.target.name is the input name */
|
|
17
|
+
onChange?: (e: {
|
|
18
|
+
target: {
|
|
19
|
+
value: T | null;
|
|
20
|
+
name: string;
|
|
21
|
+
};
|
|
22
|
+
}) => void;
|
|
23
|
+
/** Input element ID */
|
|
24
|
+
id?: string;
|
|
25
|
+
/** Input name attribute — surfaces as e.target.name in onChange */
|
|
26
|
+
name?: string;
|
|
27
|
+
/** Disable the input */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A filterable, searchable select dropdown styled with Bootstrap 5.
|
|
32
|
+
* Supports both primitive arrays and object arrays with configurable label/value keys.
|
|
33
|
+
*/
|
|
34
|
+
interface SearchSelectComponent {
|
|
35
|
+
<T>(props: SearchSelectProps<T> & React.RefAttributes<HTMLDivElement>): React.ReactElement | null;
|
|
36
|
+
displayName?: string;
|
|
37
|
+
}
|
|
38
|
+
declare const SearchSelect: SearchSelectComponent;
|
|
39
|
+
|
|
40
|
+
export { SearchSelect, type SearchSelectProps, SearchSelect as default };
|
package/dist/SearchSelect.d.ts
CHANGED
|
@@ -1,31 +1,40 @@
|
|
|
1
|
-
import * as React from 'react'
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
3
|
+
interface SearchSelectProps<T = unknown> {
|
|
4
|
+
/** Additional CSS classes on the wrapper */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Selectable options — primitives (string|number|boolean) or objects */
|
|
7
|
+
options?: T[];
|
|
8
|
+
/** Key for display text when options are objects (default 'label') */
|
|
9
|
+
labelKey?: string;
|
|
10
|
+
/** Key for the value when options are objects (default 'value') */
|
|
11
|
+
valueKey?: string;
|
|
12
|
+
/** Placeholder text (default 'Select...') */
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
/** Currently selected value */
|
|
15
|
+
value?: T | null;
|
|
16
|
+
/** Called with synthetic event; e.target.value is the selected value, e.target.name is the input name */
|
|
17
|
+
onChange?: (e: {
|
|
18
|
+
target: {
|
|
19
|
+
value: T | null;
|
|
20
|
+
name: string;
|
|
21
|
+
};
|
|
22
|
+
}) => void;
|
|
23
|
+
/** Input element ID */
|
|
24
|
+
id?: string;
|
|
25
|
+
/** Input name attribute — surfaces as e.target.name in onChange */
|
|
26
|
+
name?: string;
|
|
27
|
+
/** Disable the input */
|
|
28
|
+
disabled?: boolean;
|
|
24
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* A filterable, searchable select dropdown styled with Bootstrap 5.
|
|
32
|
+
* Supports both primitive arrays and object arrays with configurable label/value keys.
|
|
33
|
+
*/
|
|
34
|
+
interface SearchSelectComponent {
|
|
35
|
+
<T>(props: SearchSelectProps<T> & React.RefAttributes<HTMLDivElement>): React.ReactElement | null;
|
|
36
|
+
displayName?: string;
|
|
37
|
+
}
|
|
38
|
+
declare const SearchSelect: SearchSelectComponent;
|
|
25
39
|
|
|
26
|
-
|
|
27
|
-
SearchSelectProps & React.RefAttributes<HTMLDivElement>
|
|
28
|
-
>
|
|
29
|
-
|
|
30
|
-
export default SearchSelect
|
|
31
|
-
export { SearchSelect }
|
|
40
|
+
export { SearchSelect, type SearchSelectProps, SearchSelect as default };
|
package/dist/SearchSelect.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as SearchSelect,b as default}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
export{a as SearchSelect,b as default}from'./chunk-ZCAQ7S2A.js';import'./chunk-RR7TBRGI.js';//# sourceMappingURL=SearchSelect.js.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJTZWFyY2hTZWxlY3QuanMifQ==
|
package/dist/TableLoading.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunk5IOLZUVD_cjs=require('./chunk-5IOLZUVD.cjs');Object.defineProperty(exports,"TableLoading",{enumerable:true,get:function(){return chunk5IOLZUVD_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunk5IOLZUVD_cjs.b}});//# sourceMappingURL=TableLoading.cjs.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJUYWJsZUxvYWRpbmcuY2pzIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface TableLoadingProps {
|
|
4
|
+
/** Number of placeholder rows to render (default 5). Alias: row */
|
|
5
|
+
rows?: number;
|
|
6
|
+
/** Alias for `rows` — prefer `rows` as the canonical name */
|
|
7
|
+
row?: number;
|
|
8
|
+
/** Number of placeholder columns per row (default 4) */
|
|
9
|
+
columns?: number;
|
|
10
|
+
}
|
|
11
|
+
declare const TableLoading: React.FC<TableLoadingProps>;
|
|
12
|
+
|
|
13
|
+
export { TableLoading, type TableLoadingProps, TableLoading as default };
|
package/dist/TableLoading.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import * as React from 'react'
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
interface TableLoadingProps {
|
|
4
|
+
/** Number of placeholder rows to render (default 5). Alias: row */
|
|
5
|
+
rows?: number;
|
|
6
|
+
/** Alias for `rows` — prefer `rows` as the canonical name */
|
|
7
|
+
row?: number;
|
|
8
|
+
/** Number of placeholder columns per row (default 4) */
|
|
9
|
+
columns?: number;
|
|
8
10
|
}
|
|
11
|
+
declare const TableLoading: React.FC<TableLoadingProps>;
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export default TableLoading
|
|
13
|
-
export { TableLoading }
|
|
13
|
+
export { TableLoading, type TableLoadingProps, TableLoading as default };
|
package/dist/TableLoading.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as TableLoading,b as default}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
export{a as TableLoading,b as default}from'./chunk-7LXLWNUR.js';//# sourceMappingURL=TableLoading.js.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJUYWJsZUxvYWRpbmcuanMifQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var e=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var a=e__namespace.forwardRef(({className:l,hf:r="default",required:t=true,label:s="Title"},o)=>jsxRuntime.jsxs("label",{htmlFor:r,className:l,ref:o,children:[s,t?jsxRuntime.jsx("b",{className:"text-danger",children:"*"}):""]}));a.displayName="Label";var n=a;exports.a=a;exports.b=n;//# sourceMappingURL=chunk-2Q4NZKMX.cjs.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL0xhYmVsLnRzeCJdLCJuYW1lcyI6WyJMYWJlbCIsImUiLCJjbGFzc05hbWUiLCJoZiIsInJlcXVpcmVkIiwibGFiZWwiLCJyZWYiLCJqc3hzIiwianN4IiwiTGFiZWxfZGVmYXVsdCJdLCJtYXBwaW5ncyI6ImtiQWFBLElBQU1BLENBQUFBLENBQWNDLFlBQUEsQ0FBQSxVQUFBLENBQ2xCLENBQUMsQ0FBRSxTQUFBLENBQUFDLENBQUFBLENBQVcsRUFBQSxDQUFBQyxDQUFBQSxDQUFLLFNBQUEsQ0FBVyxTQUFBQyxDQUFBQSxDQUFXLElBQUEsQ0FBTSxLQUFBLENBQUFDLENBQUFBLENBQVEsT0FBUSxDQUFBLENBQUdDLElBRTlEQyxlQUFBQSxDQUFDLE9BQUEsQ0FBQSxDQUFNLFFBQVNKLENBQUFBLENBQUksU0FBQSxDQUFXRCxFQUFXLEdBQUEsQ0FBS0ksQ0FBQUEsQ0FDNUMsUUFBQSxDQUFBLENBQUFELENBQUFBLENBQU9ELENBQUFBLENBQVdJLGNBQUFBLENBQUMsS0FBRSxTQUFBLENBQVUsYUFBQSxDQUFjLFFBQUEsQ0FBQSxHQUFBLENBQUMsQ0FBQSxDQUFPLEVBQUEsQ0FBQSxDQUN4RCxDQUdOLEVBRUFSLENBQUFBLENBQU0sV0FBQSxDQUFjLE9BQUEsQ0FHcEIsSUFBT1MsQ0FBQUEsQ0FBUVQiLCJmaWxlIjoiY2h1bmstMlE0TlpLTVguY2pzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFiZWxQcm9wcyB7XG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzc2VzICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKiogaHRtbEZvciBhdHRyaWJ1dGUg4oCUIGFzc29jaWF0ZXMgbGFiZWwgd2l0aCBpbnB1dCBJRCAoZGVmYXVsdCAnZGVmYXVsdCcpICovXG4gIGhmPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIHJlcXVpcmVkIGFzdGVyaXNrIChkZWZhdWx0IHRydWUpICovXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICAvKiogTGFiZWwgdGV4dCBjb250ZW50IChkZWZhdWx0ICdUaXRsZScpICovXG4gIGxhYmVsPzogc3RyaW5nXG59XG5cbmNvbnN0IExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MTGFiZWxFbGVtZW50LCBMYWJlbFByb3BzPihcbiAgKHsgY2xhc3NOYW1lLCBoZiA9ICdkZWZhdWx0JywgcmVxdWlyZWQgPSB0cnVlLCBsYWJlbCA9ICdUaXRsZScgfSwgcmVmKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxsYWJlbCBodG1sRm9yPXtoZn0gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHJlZj17cmVmfT5cbiAgICAgICAge2xhYmVsfXtyZXF1aXJlZCA/IDxiIGNsYXNzTmFtZT1cInRleHQtZGFuZ2VyXCI+KjwvYj4gOiAnJ31cbiAgICAgIDwvbGFiZWw+XG4gICAgKVxuICB9XG4pXG5cbkxhYmVsLmRpc3BsYXlOYW1lID0gJ0xhYmVsJ1xuXG5leHBvcnQgeyBMYWJlbCB9XG5leHBvcnQgZGVmYXVsdCBMYWJlbFxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var jsxRuntime=require('react/jsx-runtime');var o=({rows:a,row:r,columns:l=4})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:a??r??5},(d,t)=>jsxRuntime.jsx("tr",{children:Array.from({length:l},(p,s)=>jsxRuntime.jsx("td",{className:"placeholder-glow",children:jsxRuntime.jsx("span",{className:"placeholder rounded py-2 col-12",style:{height:14,display:"block"}})},s))},t))});o.displayName="TableLoading";var i=o;exports.a=o;exports.b=i;//# sourceMappingURL=chunk-5IOLZUVD.cjs.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL1RhYmxlTG9hZGluZy50c3giXSwibmFtZXMiOlsiVGFibGVMb2FkaW5nIiwicm93cyIsInJvdyIsImNvbHVtbnMiLCJqc3giLCJGcmFnbWVudCIsIl8iLCJyIiwiYyIsIlRhYmxlTG9hZGluZ19kZWZhdWx0Il0sIm1hcHBpbmdzIjoiNkRBV01BLENBQUFBLENBQTRDLENBQUMsQ0FBRSxJQUFBLENBQUFDLENBQUFBLENBQU0sR0FBQSxDQUFBQyxDQUFBQSxDQUFLLE9BQUEsQ0FBQUMsRUFBVSxDQUFFLENBQUEsR0FJeEVDLGNBQUFBLENBQUFDLG1CQUFBQSxDQUFBLENBQ0csUUFBQSxDQUFBLEtBQUEsQ0FBTSxJQUFBLENBQUssQ0FBRSxPQUpJSixDQUFBQSxFQUFRQyxDQUFBQSxFQUFPLENBSUcsQ0FBQSxDQUFHLENBQUNJLENBQUFBLENBQUdDLENBQUFBLEdBQ3pDSCxjQUFBQSxDQUFDLE1BQ0UsUUFBQSxDQUFBLEtBQUEsQ0FBTSxJQUFBLENBQUssQ0FBRSxNQUFBLENBQVFELENBQVEsQ0FBQSxDQUFHLENBQUNHLENBQUFBLENBQUdFLElBQ25DSixjQUFBQSxDQUFDLElBQUEsQ0FBQSxDQUFXLFNBQUEsQ0FBVSxrQkFBQSxDQUNwQixRQUFBLENBQUFBLGNBQUFBLENBQUMsTUFBQSxDQUFBLENBQ0MsU0FBQSxDQUFVLGtDQUNWLEtBQUEsQ0FBTyxDQUFFLE1BQUEsQ0FBUSxFQUFBLENBQUksT0FBQSxDQUFTLE9BQVEsQ0FBQSxDQUN4QyxDQUFBLENBQUEsQ0FKT0ksQ0FLVCxDQUNELENBQUEsQ0FBQSxDQVJNRCxDQVNULENBQ0QsRUFDSCxFQUlKUCxDQUFBQSxDQUFhLFdBQUEsQ0FBYyxjQUFBLEtBR3BCUyxDQUFBQSxDQUFRVCIsImZpbGUiOiJjaHVuay01SU9MWlVWRC5janMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUxvYWRpbmdQcm9wcyB7XG4gIC8qKiBOdW1iZXIgb2YgcGxhY2Vob2xkZXIgcm93cyB0byByZW5kZXIgKGRlZmF1bHQgNSkuIEFsaWFzOiByb3cgKi9cbiAgcm93cz86IG51bWJlclxuICAvKiogQWxpYXMgZm9yIGByb3dzYCDigJQgcHJlZmVyIGByb3dzYCBhcyB0aGUgY2Fub25pY2FsIG5hbWUgKi9cbiAgcm93PzogbnVtYmVyXG4gIC8qKiBOdW1iZXIgb2YgcGxhY2Vob2xkZXIgY29sdW1ucyBwZXIgcm93IChkZWZhdWx0IDQpICovXG4gIGNvbHVtbnM/OiBudW1iZXJcbn1cblxuY29uc3QgVGFibGVMb2FkaW5nOiBSZWFjdC5GQzxUYWJsZUxvYWRpbmdQcm9wcz4gPSAoeyByb3dzLCByb3csIGNvbHVtbnMgPSA0IH0pID0+IHtcbiAgY29uc3QgZWZmZWN0aXZlUm93cyA9IHJvd3MgPz8gcm93ID8/IDVcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7QXJyYXkuZnJvbSh7IGxlbmd0aDogZWZmZWN0aXZlUm93cyB9LCAoXywgcikgPT4gKFxuICAgICAgICA8dHIga2V5PXtyfT5cbiAgICAgICAgICB7QXJyYXkuZnJvbSh7IGxlbmd0aDogY29sdW1ucyB9LCAoXywgYykgPT4gKFxuICAgICAgICAgICAgPHRkIGtleT17Y30gY2xhc3NOYW1lPVwicGxhY2Vob2xkZXItZ2xvd1wiPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInBsYWNlaG9sZGVyIHJvdW5kZWQgcHktMiBjb2wtMTJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodDogMTQsIGRpc3BsYXk6ICdibG9jaycgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvdHI+XG4gICAgICApKX1cbiAgICA8Lz5cbiAgKVxufVxuXG5UYWJsZUxvYWRpbmcuZGlzcGxheU5hbWUgPSAnVGFibGVMb2FkaW5nJ1xuXG5leHBvcnQgeyBUYWJsZUxvYWRpbmcgfVxuZXhwb3J0IGRlZmF1bHQgVGFibGVMb2FkaW5nXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {jsx,Fragment}from'react/jsx-runtime';var o=({rows:a,row:r,columns:l=4})=>jsx(Fragment,{children:Array.from({length:a??r??5},(d,t)=>jsx("tr",{children:Array.from({length:l},(p,s)=>jsx("td",{className:"placeholder-glow",children:jsx("span",{className:"placeholder rounded py-2 col-12",style:{height:14,display:"block"}})},s))},t))});o.displayName="TableLoading";var i=o;export{o as a,i as b};//# sourceMappingURL=chunk-7LXLWNUR.js.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL1RhYmxlTG9hZGluZy50c3giXSwibmFtZXMiOlsiVGFibGVMb2FkaW5nIiwicm93cyIsInJvdyIsImNvbHVtbnMiLCJqc3giLCJGcmFnbWVudCIsIl8iLCJyIiwiYyIsIlRhYmxlTG9hZGluZ19kZWZhdWx0Il0sIm1hcHBpbmdzIjoiaURBV01BLENBQUFBLENBQTRDLENBQUMsQ0FBRSxJQUFBLENBQUFDLENBQUFBLENBQU0sR0FBQSxDQUFBQyxDQUFBQSxDQUFLLE9BQUEsQ0FBQUMsRUFBVSxDQUFFLENBQUEsR0FJeEVDLEdBQUFBLENBQUFDLFFBQUFBLENBQUEsQ0FDRyxRQUFBLENBQUEsS0FBQSxDQUFNLElBQUEsQ0FBSyxDQUFFLE9BSklKLENBQUFBLEVBQVFDLENBQUFBLEVBQU8sQ0FJRyxDQUFBLENBQUcsQ0FBQ0ksQ0FBQUEsQ0FBR0MsQ0FBQUEsR0FDekNILEdBQUFBLENBQUMsTUFDRSxRQUFBLENBQUEsS0FBQSxDQUFNLElBQUEsQ0FBSyxDQUFFLE1BQUEsQ0FBUUQsQ0FBUSxDQUFBLENBQUcsQ0FBQ0csQ0FBQUEsQ0FBR0UsSUFDbkNKLEdBQUFBLENBQUMsSUFBQSxDQUFBLENBQVcsU0FBQSxDQUFVLGtCQUFBLENBQ3BCLFFBQUEsQ0FBQUEsR0FBQUEsQ0FBQyxNQUFBLENBQUEsQ0FDQyxTQUFBLENBQVUsa0NBQ1YsS0FBQSxDQUFPLENBQUUsTUFBQSxDQUFRLEVBQUEsQ0FBSSxPQUFBLENBQVMsT0FBUSxDQUFBLENBQ3hDLENBQUEsQ0FBQSxDQUpPSSxDQUtULENBQ0QsQ0FBQSxDQUFBLENBUk1ELENBU1QsQ0FDRCxFQUNILEVBSUpQLENBQUFBLENBQWEsV0FBQSxDQUFjLGNBQUEsS0FHcEJTLENBQUFBLENBQVFUIiwiZmlsZSI6ImNodW5rLTdMWExXTlVSLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVMb2FkaW5nUHJvcHMge1xuICAvKiogTnVtYmVyIG9mIHBsYWNlaG9sZGVyIHJvd3MgdG8gcmVuZGVyIChkZWZhdWx0IDUpLiBBbGlhczogcm93ICovXG4gIHJvd3M/OiBudW1iZXJcbiAgLyoqIEFsaWFzIGZvciBgcm93c2Ag4oCUIHByZWZlciBgcm93c2AgYXMgdGhlIGNhbm9uaWNhbCBuYW1lICovXG4gIHJvdz86IG51bWJlclxuICAvKiogTnVtYmVyIG9mIHBsYWNlaG9sZGVyIGNvbHVtbnMgcGVyIHJvdyAoZGVmYXVsdCA0KSAqL1xuICBjb2x1bW5zPzogbnVtYmVyXG59XG5cbmNvbnN0IFRhYmxlTG9hZGluZzogUmVhY3QuRkM8VGFibGVMb2FkaW5nUHJvcHM+ID0gKHsgcm93cywgcm93LCBjb2x1bW5zID0gNCB9KSA9PiB7XG4gIGNvbnN0IGVmZmVjdGl2ZVJvd3MgPSByb3dzID8/IHJvdyA/PyA1XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge0FycmF5LmZyb20oeyBsZW5ndGg6IGVmZmVjdGl2ZVJvd3MgfSwgKF8sIHIpID0+IChcbiAgICAgICAgPHRyIGtleT17cn0+XG4gICAgICAgICAge0FycmF5LmZyb20oeyBsZW5ndGg6IGNvbHVtbnMgfSwgKF8sIGMpID0+IChcbiAgICAgICAgICAgIDx0ZCBrZXk9e2N9IGNsYXNzTmFtZT1cInBsYWNlaG9sZGVyLWdsb3dcIj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwbGFjZWhvbGRlciByb3VuZGVkIHB5LTIgY29sLTEyXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBoZWlnaHQ6IDE0LCBkaXNwbGF5OiAnYmxvY2snIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L3RyPlxuICAgICAgKSl9XG4gICAgPC8+XG4gIClcbn1cblxuVGFibGVMb2FkaW5nLmRpc3BsYXlOYW1lID0gJ1RhYmxlTG9hZGluZydcblxuZXhwb3J0IHsgVGFibGVMb2FkaW5nIH1cbmV4cG9ydCBkZWZhdWx0IFRhYmxlTG9hZGluZ1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkNPQQDBFB_cjs=require('./chunk-NPQQDBFB.cjs'),t=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var t__namespace=/*#__PURE__*/_interopNamespace(t);var H=({className:y,options:r=[],labelKey:d="label",valueKey:m="value",placeholder:x="Select...",value:f=null,onChange:p,id:g="filterable-select",name:E,disabled:h=false,...N},s)=>{let[L,l]=t__namespace.useState(false),[S,c]=t__namespace.useState(""),i=t__namespace.useRef(null),R=r.length>0&&(typeof r[0]=="string"||typeof r[0]=="number"||typeof r[0]=="boolean"),o=e=>R?String(e):e?.[d]||"",u=e=>R?e:e?.[m]??null,T=r.find(e=>u(e)===f);t__namespace.useEffect(()=>{c(T!==void 0?o(T):"");},[f,r,d,m]);let v=r.filter(e=>o(e).toLowerCase().includes(S.toLowerCase()));t__namespace.useEffect(()=>{let e=a=>{i.current&&!i.current.contains(a.target)&&l(false);};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let k=e=>{let a=u(e);c(o(e)),l(false),p&&p({target:{value:a,name:E||g}});};return jsxRuntime.jsxs("div",{ref:e=>{i.current=e,typeof s=="function"?s(e):s&&(s.current=e);},className:chunkNPQQDBFB_cjs.a("searchselect-wrapper position-relative ",y),style:{minWidth:0},...N,children:[jsxRuntime.jsx("input",{id:g,type:"text",className:"form-select",placeholder:x,value:S,disabled:h,onChange:e=>{c(e.target.value),l(true);},onFocus:()=>l(true),style:{cursor:"text",borderRadius:"inherit"}}),L&&!h&&jsxRuntime.jsx("ul",{className:"dropdown-menu show w-100 overflow-x-hidden",style:{maxHeight:"200px",marginTop:"2px",zIndex:1050,borderRadius:"0.375rem",boxShadow:"0 0.5rem 1rem rgba(0,0,0,0.15)"},children:v.length>0?v.map((e,a)=>{let C=u(e)??`option-${a}`;return jsxRuntime.jsx("li",{children:jsxRuntime.jsx("button",{type:"button",className:"dropdown-item text-truncate",onClick:()=>k(e),children:o(e)})},C)}):jsxRuntime.jsx("li",{children:jsxRuntime.jsx("span",{className:"dropdown-item disabled text-muted",style:{cursor:"default"},children:"No options found"})})})]})},w=t__namespace.forwardRef(H);w.displayName="SearchSelect";var D=w;exports.a=w;exports.b=D;//# sourceMappingURL=chunk-AWU5XGMI.cjs.map
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL1NlYXJjaFNlbGVjdC50c3giXSwibmFtZXMiOlsiU2VhcmNoU2VsZWN0SW5uZXIiLCJjbGFzc05hbWUiLCJvcHRpb25zIiwibGFiZWxLZXkiLCJ2YWx1ZUtleSIsInBsYWNlaG9sZGVyIiwidmFsdWUiLCJvbkNoYW5nZSIsImlkIiwibmFtZSIsImRpc2FibGVkIiwicHJvcHMiLCJyZWYiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJ0Iiwic2VhcmNoVGVybSIsInNldFNlYXJjaFRlcm0iLCJ3cmFwcGVyUmVmIiwiaXNQcmltaXRpdmVBcnJheSIsImdldExhYmVsIiwib3B0aW9uIiwiZ2V0VmFsdWUiLCJzZWxlY3RlZE9wdGlvbiIsIm9wdCIsImZpbHRlcmVkT3B0aW9ucyIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwiaGFuZGxlU2VsZWN0Iiwic2VsZWN0ZWRWYWx1ZSIsImpzeHMiLCJub2RlIiwiY24iLCJqc3giLCJpbmRleCIsImtleSIsIlNlYXJjaFNlbGVjdCIsIlNlYXJjaFNlbGVjdF9kZWZhdWx0Il0sIm1hcHBpbmdzIjoib2VBbUNBLElBQU1BLEVBQW9CLENBQUssQ0FDM0IsVUFBQUMsQ0FBQUEsQ0FDQSxPQUFBLENBQUFDLEVBQVUsRUFBQyxDQUNYLFNBQUFDLENBQUFBLENBQVcsT0FBQSxDQUNYLFFBQUEsQ0FBQUMsQ0FBQUEsQ0FBVyxRQUNYLFdBQUEsQ0FBQUMsQ0FBQUEsQ0FBYyxZQUNkLEtBQUEsQ0FBQUMsQ0FBQUEsQ0FBUSxLQUNSLFFBQUEsQ0FBQUMsQ0FBQUEsQ0FDQSxHQUFBQyxDQUFBQSxDQUFLLG1CQUFBLENBQ0wsS0FBQUMsQ0FBQUEsQ0FDQSxRQUFBLENBQUFDLEVBQVcsS0FBQSxDQUNYLEdBQUdDLENBQ0wsQ0FBQSxDQUErREMsQ0FBQUEsR0FBNEMsQ0FDekcsR0FBTSxDQUFDQyxDQUFBQSxDQUFRQyxDQUFTLEVBQVVDLFlBQUEsQ0FBQSxRQUFBLENBQVMsS0FBSyxFQUMxQyxDQUFDQyxDQUFBQSxDQUFZQyxDQUFhLENBQUEsQ0FBVUYsWUFBQSxDQUFBLFFBQUEsQ0FBUyxFQUFFLENBQUEsQ0FDL0NHLENBQUFBLENBQW1CSCxvQkFBdUIsSUFBSSxDQUFBLENBRzlDSSxFQUFtQmpCLENBQUFBLENBQVEsTUFBQSxDQUFTLElBQ3ZDLE9BQU9BLENBQUFBLENBQVEsQ0FBQyxDQUFBLEVBQU0sUUFBQSxFQUFZLE9BQU9BLENBQUFBLENBQVEsQ0FBQyxHQUFNLFFBQUEsRUFBWSxPQUFPQSxFQUFRLENBQUMsQ0FBQSxFQUFNLFdBRXZGa0IsQ0FBQUEsQ0FBWUMsQ0FBQUEsRUFDWkYsRUFBeUIsTUFBQSxDQUFPRSxDQUFNLEVBQ2xDQSxDQUFBQSxHQUFxQ2xCLENBQVEsQ0FBQSxFQUFlLEVBQUEsQ0FHaEVtQixFQUFZRCxDQUFBQSxFQUNaRixDQUFBQSxDQUF5QkUsRUFDcEJBLENBQUFBLEdBQXFDakIsQ0FBUSxHQUFXLElBQUEsQ0FHN0RtQixDQUFBQSxDQUFpQnJCLEVBQVEsSUFBQSxDQUFLc0IsQ0FBQUEsRUFBT0YsRUFBU0UsQ0FBRyxDQUFBLEdBQU1sQixDQUFLLENBQUEsQ0FHNURTLFlBQUEsQ0FBQSxTQUFBLENBQVUsSUFBTSxDQUVsQkUsQ0FBQUEsQ0FERU0sSUFBbUIsTUFBQSxDQUNQSCxDQUFBQSxDQUFTRyxDQUFjLENBQUEsQ0FFdkIsRUFGd0IsRUFJMUMsQ0FBQSxDQUFHLENBQUNqQixFQUFPSixDQUFBQSxDQUFTQyxDQUFBQSxDQUFVQyxDQUFRLENBQUMsQ0FBQSxDQUd2QyxJQUFNcUIsQ0FBQUEsQ0FBa0J2QixDQUFBQSxDQUFRLE9BQU9tQixDQUFBQSxFQUNyQ0QsQ0FBQUEsQ0FBU0MsQ0FBTSxDQUFBLENBQUUsV0FBQSxFQUFZLENBQUUsUUFBQSxDQUFTTCxFQUFXLFdBQUEsRUFBYSxDQUNsRSxDQUFBLENBR01ELFlBQUEsQ0FBQSxTQUFBLENBQVUsSUFBTSxDQUNwQixJQUFNVyxFQUFzQkMsQ0FBQUEsRUFBc0IsQ0FDNUNULEVBQVcsT0FBQSxFQUFXLENBQUNBLEVBQVcsT0FBQSxDQUFRLFFBQUEsQ0FBU1MsRUFBTSxNQUFjLENBQUEsRUFDekViLEVBQVUsS0FBSyxFQUVuQixFQUNBLE9BQUEsUUFBQSxDQUFTLGdCQUFBLENBQWlCLFlBQWFZLENBQWtCLENBQUEsQ0FDbEQsSUFBTSxRQUFBLENBQVMsbUJBQUEsQ0FBb0IsWUFBYUEsQ0FBa0IsQ0FDM0UsRUFBRyxFQUFFLEVBRUwsSUFBTUUsQ0FBQUEsQ0FBZ0JQLEdBQWMsQ0FDbEMsSUFBTVEsQ0FBQUEsQ0FBZ0JQLENBQUFBLENBQVNELENBQU0sQ0FBQSxDQUNyQ0osQ0FBQUEsQ0FBY0csRUFBU0MsQ0FBTSxDQUFDLEVBQzlCUCxDQUFBQSxDQUFVLEtBQUssRUFDWFAsQ0FBQUEsRUFBVUEsQ0FBQUEsQ0FBUyxDQUFFLE1BQUEsQ0FBUSxDQUFFLE1BQU9zQixDQUFBQSxDQUFlLElBQUEsQ0FBTXBCLEdBQVFELENBQUcsQ0FBRSxDQUFDLEVBQy9FLENBQUEsQ0FFQSxPQUNFc0IsZUFBQUEsQ0FBQyxLQUFBLENBQUEsQ0FDQyxJQUFNQyxDQUFBQSxFQUFTLENBQ2JiLEVBQVcsT0FBQSxDQUFVYSxDQUFBQSxDQUNqQixPQUFPbkIsQ0FBQUEsRUFBUSxVQUFBLENBQVlBLEVBQUltQixDQUFJLENBQUEsQ0FDOUJuQixJQUFLQSxDQUFBQSxDQUFJLE9BQUEsQ0FBVW1CLEdBQzlCLENBQUEsQ0FDQSxTQUFBLENBQVdDLG1CQUFBQSxDQUFHLHlDQUFBLENBQTJDL0IsQ0FBUyxDQUFBLENBQ2xFLEtBQUEsQ0FBTyxDQUFFLFFBQUEsQ0FBVSxDQUFFLEVBQ3BCLEdBQUdVLENBQUFBLENBRUosVUFBQXNCLGNBQUFBLENBQUMsT0FBQSxDQUFBLENBQ0MsR0FBSXpCLENBQUFBLENBQ0osSUFBQSxDQUFLLE9BQ0wsU0FBQSxDQUFVLGFBQUEsQ0FDVixZQUFhSCxDQUFBQSxDQUNiLEtBQUEsQ0FBT1csRUFDUCxRQUFBLENBQVVOLENBQUFBLENBQ1YsU0FBVyxDQUFBLEVBQU0sQ0FDZk8sRUFBYyxDQUFBLENBQUUsTUFBQSxDQUFPLEtBQUssQ0FBQSxDQUM1QkgsQ0FBQUEsQ0FBVSxJQUFJLEVBQ2hCLENBQUEsQ0FDQSxRQUFTLElBQU1BLENBQUFBLENBQVUsSUFBSSxDQUFBLENBQzdCLEtBQUEsQ0FBTyxDQUFFLE1BQUEsQ0FBUSxNQUFBLENBQVEsWUFBQSxDQUFjLFNBQVUsRUFDbkQsQ0FBQSxDQUVDRCxDQUFBQSxFQUFVLENBQUNILENBQUFBLEVBQ1Z1QixjQUFBQSxDQUFDLE1BQ0MsU0FBQSxDQUFVLDRDQUFBLENBQ1YsTUFBTyxDQUNMLFNBQUEsQ0FBVyxRQUNYLFNBQUEsQ0FBVyxLQUFBLENBQ1gsT0FBUSxJQUFBLENBQ1IsWUFBQSxDQUFjLFdBQ2QsU0FBQSxDQUFXLGdDQUNiLEVBRUMsUUFBQSxDQUFBUixDQUFBQSxDQUFnQixPQUFTLENBQUEsQ0FDeEJBLENBQUFBLENBQWdCLElBQUksQ0FBQ0osQ0FBQUEsQ0FBUWEsSUFBVSxDQUNyQyxJQUFNQyxFQUFPYixDQUFBQSxDQUFTRCxDQUFNLEdBQXlCLENBQUEsT0FBQSxFQUFVYSxDQUFLLEdBQ3BFLE9BQ0VELGNBQUFBLENBQUMsTUFDQyxRQUFBLENBQUFBLGNBQUFBLENBQUMsUUFBQSxDQUFBLENBQ0MsSUFBQSxDQUFLLFNBQ0wsU0FBQSxDQUFVLDZCQUFBLENBQ1YsUUFBUyxJQUFNTCxDQUFBQSxDQUFhUCxDQUFNLENBQUEsQ0FFakMsUUFBQSxDQUFBRCxFQUFTQyxDQUFNLENBQUEsQ0FDbEIsR0FQT2MsQ0FRVCxDQUVKLENBQUMsQ0FBQSxDQUVERixjQUFBQSxDQUFDLE1BQ0MsUUFBQSxDQUFBQSxjQUFBQSxDQUFDLFFBQUssU0FBQSxDQUFVLG1DQUFBLENBQW9DLE1BQU8sQ0FBRSxNQUFBLENBQVEsU0FBVSxDQUFBLENBQUcsUUFBQSxDQUFBLGtCQUFBLENBRWxGLEVBQ0YsQ0FBQSxDQUVKLENBQUEsQ0FBQSxDQUVKLENBRUosQ0FBQSxDQUVJRyxDQUFBQSxDQUFxQnJCLHdCQUFXZixDQUFpQixFQUN2RG9DLEVBQWEsV0FBQSxDQUFjLGNBQUEsS0FFcEJDLENBQUFBLENBQVFEIiwiZmlsZSI6ImNodW5rLUFXVTVYR01JLmNqcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY24gfSBmcm9tICcuLi9saWIvY24uanMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU2VsZWN0UHJvcHM8VCA9IHVua25vd24+IHtcbiAgLyoqIEFkZGl0aW9uYWwgQ1NTIGNsYXNzZXMgb24gdGhlIHdyYXBwZXIgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIC8qKiBTZWxlY3RhYmxlIG9wdGlvbnMg4oCUIHByaW1pdGl2ZXMgKHN0cmluZ3xudW1iZXJ8Ym9vbGVhbikgb3Igb2JqZWN0cyAqL1xuICBvcHRpb25zPzogVFtdXG4gIC8qKiBLZXkgZm9yIGRpc3BsYXkgdGV4dCB3aGVuIG9wdGlvbnMgYXJlIG9iamVjdHMgKGRlZmF1bHQgJ2xhYmVsJykgKi9cbiAgbGFiZWxLZXk/OiBzdHJpbmdcbiAgLyoqIEtleSBmb3IgdGhlIHZhbHVlIHdoZW4gb3B0aW9ucyBhcmUgb2JqZWN0cyAoZGVmYXVsdCAndmFsdWUnKSAqL1xuICB2YWx1ZUtleT86IHN0cmluZ1xuICAvKiogUGxhY2Vob2xkZXIgdGV4dCAoZGVmYXVsdCAnU2VsZWN0Li4uJykgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIEN1cnJlbnRseSBzZWxlY3RlZCB2YWx1ZSAqL1xuICB2YWx1ZT86IFQgfCBudWxsXG4gIC8qKiBDYWxsZWQgd2l0aCBzeW50aGV0aWMgZXZlbnQ7IGUudGFyZ2V0LnZhbHVlIGlzIHRoZSBzZWxlY3RlZCB2YWx1ZSwgZS50YXJnZXQubmFtZSBpcyB0aGUgaW5wdXQgbmFtZSAqL1xuICBvbkNoYW5nZT86IChlOiB7IHRhcmdldDogeyB2YWx1ZTogVCB8IG51bGw7IG5hbWU6IHN0cmluZyB9IH0pID0+IHZvaWRcbiAgLyoqIElucHV0IGVsZW1lbnQgSUQgKi9cbiAgaWQ/OiBzdHJpbmdcbiAgLyoqIElucHV0IG5hbWUgYXR0cmlidXRlIOKAlCBzdXJmYWNlcyBhcyBlLnRhcmdldC5uYW1lIGluIG9uQ2hhbmdlICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIERpc2FibGUgdGhlIGlucHV0ICovXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG4vKipcbiAqIEEgZmlsdGVyYWJsZSwgc2VhcmNoYWJsZSBzZWxlY3QgZHJvcGRvd24gc3R5bGVkIHdpdGggQm9vdHN0cmFwIDUuXG4gKiBTdXBwb3J0cyBib3RoIHByaW1pdGl2ZSBhcnJheXMgYW5kIG9iamVjdCBhcnJheXMgd2l0aCBjb25maWd1cmFibGUgbGFiZWwvdmFsdWUga2V5cy5cbiAqL1xuaW50ZXJmYWNlIFNlYXJjaFNlbGVjdENvbXBvbmVudCB7XG4gIDxUPihwcm9wczogU2VhcmNoU2VsZWN0UHJvcHM8VD4gJiBSZWFjdC5SZWZBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50Pik6IFJlYWN0LlJlYWN0RWxlbWVudCB8IG51bGxcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmdcbn1cblxuY29uc3QgU2VhcmNoU2VsZWN0SW5uZXIgPSA8VCw+KHtcbiAgICBjbGFzc05hbWUsXG4gICAgb3B0aW9ucyA9IFtdIGFzIFRbXSxcbiAgICBsYWJlbEtleSA9ICdsYWJlbCcsXG4gICAgdmFsdWVLZXkgPSAndmFsdWUnLFxuICAgIHBsYWNlaG9sZGVyID0gJ1NlbGVjdC4uLicsXG4gICAgdmFsdWUgPSBudWxsLFxuICAgIG9uQ2hhbmdlLFxuICAgIGlkID0gJ2ZpbHRlcmFibGUtc2VsZWN0JyxcbiAgICBuYW1lLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgLi4ucHJvcHNcbiAgfTogU2VhcmNoU2VsZWN0UHJvcHM8VD4gJiBSZWFjdC5SZWZBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgcmVmOiBSZWFjdC5Gb3J3YXJkZWRSZWY8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtzZWFyY2hUZXJtLCBzZXRTZWFyY2hUZXJtXSA9IFJlYWN0LnVzZVN0YXRlKCcnKVxuICAgIGNvbnN0IHdyYXBwZXJSZWYgPSBSZWFjdC51c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgICAvLyBBVVRPLURFVEVDVDogcHJpbWl0aXZlcyB2cyBvYmplY3RzXG4gICAgY29uc3QgaXNQcmltaXRpdmVBcnJheSA9IG9wdGlvbnMubGVuZ3RoID4gMCAmJlxuICAgICAgKHR5cGVvZiBvcHRpb25zWzBdID09PSAnc3RyaW5nJyB8fCB0eXBlb2Ygb3B0aW9uc1swXSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIG9wdGlvbnNbMF0gPT09ICdib29sZWFuJylcblxuICAgIGNvbnN0IGdldExhYmVsID0gKG9wdGlvbjogVCk6IHN0cmluZyA9PiB7XG4gICAgICBpZiAoaXNQcmltaXRpdmVBcnJheSkgcmV0dXJuIFN0cmluZyhvcHRpb24pXG4gICAgICByZXR1cm4gKG9wdGlvbiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LltsYWJlbEtleV0gYXMgc3RyaW5nIHx8ICcnXG4gICAgfVxuXG4gICAgY29uc3QgZ2V0VmFsdWUgPSAob3B0aW9uOiBUKTogVCB8IG51bGwgPT4ge1xuICAgICAgaWYgKGlzUHJpbWl0aXZlQXJyYXkpIHJldHVybiBvcHRpb25cbiAgICAgIHJldHVybiAoKG9wdGlvbiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/Llt2YWx1ZUtleV0gYXMgVCkgPz8gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9ucy5maW5kKG9wdCA9PiBnZXRWYWx1ZShvcHQpID09PSB2YWx1ZSlcblxuICAgIC8vIFN5bmMgaW5wdXQgd2hlbiB2YWx1ZSBjaGFuZ2VzIGV4dGVybmFsbHlcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2V0U2VhcmNoVGVybShnZXRMYWJlbChzZWxlY3RlZE9wdGlvbikpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRTZWFyY2hUZXJtKCcnKVxuICAgICAgfVxuICAgIH0sIFt2YWx1ZSwgb3B0aW9ucywgbGFiZWxLZXksIHZhbHVlS2V5XSlcblxuICAgIC8vIEZpbHRlciBvcHRpb25zXG4gICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+XG4gICAgICBnZXRMYWJlbChvcHRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKVxuICAgIClcblxuICAgIC8vIENsaWNrIG91dHNpZGUgdG8gY2xvc2VcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh3cmFwcGVyUmVmLmN1cnJlbnQgJiYgIXdyYXBwZXJSZWYuY3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcbiAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfSwgW10pXG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3QgPSAob3B0aW9uOiBUKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gZ2V0VmFsdWUob3B0aW9uKVxuICAgICAgc2V0U2VhcmNoVGVybShnZXRMYWJlbChvcHRpb24pKVxuICAgICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgICAgaWYgKG9uQ2hhbmdlKSBvbkNoYW5nZSh7IHRhcmdldDogeyB2YWx1ZTogc2VsZWN0ZWRWYWx1ZSwgbmFtZTogbmFtZSB8fCBpZCB9IH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXsobm9kZSkgPT4ge1xuICAgICAgICAgIHdyYXBwZXJSZWYuY3VycmVudCA9IG5vZGVcbiAgICAgICAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykgcmVmKG5vZGUpXG4gICAgICAgICAgZWxzZSBpZiAocmVmKSByZWYuY3VycmVudCA9IG5vZGVcbiAgICAgICAgfX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbignc2VhcmNoc2VsZWN0LXdyYXBwZXIgcG9zaXRpb24tcmVsYXRpdmUgJywgY2xhc3NOYW1lKX1cbiAgICAgICAgc3R5bGU9e3sgbWluV2lkdGg6IDAgfX1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tc2VsZWN0XCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgdmFsdWU9e3NlYXJjaFRlcm19XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgc2V0U2VhcmNoVGVybShlLnRhcmdldC52YWx1ZSlcbiAgICAgICAgICAgIHNldElzT3Blbih0cnVlKVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNPcGVuKHRydWUpfVxuICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogJ3RleHQnLCBib3JkZXJSYWRpdXM6ICdpbmhlcml0JyB9fVxuICAgICAgICAvPlxuXG4gICAgICAgIHtpc09wZW4gJiYgIWRpc2FibGVkICYmIChcbiAgICAgICAgICA8dWxcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyb3Bkb3duLW1lbnUgc2hvdyB3LTEwMCBvdmVyZmxvdy14LWhpZGRlblwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBtYXhIZWlnaHQ6ICcyMDBweCcsXG4gICAgICAgICAgICAgIG1hcmdpblRvcDogJzJweCcsXG4gICAgICAgICAgICAgIHpJbmRleDogMTA1MCxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMC4zNzVyZW0nLFxuICAgICAgICAgICAgICBib3hTaGFkb3c6ICcwIDAuNXJlbSAxcmVtIHJnYmEoMCwwLDAsMC4xNSknLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZmlsdGVyZWRPcHRpb25zLmxlbmd0aCA+IDAgPyAoXG4gICAgICAgICAgICAgIGZpbHRlcmVkT3B0aW9ucy5tYXAoKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSAoZ2V0VmFsdWUob3B0aW9uKSBhcyBzdHJpbmcgfCBudW1iZXIpID8/IGBvcHRpb24tJHtpbmRleH1gXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e2tleX0+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcm9wZG93bi1pdGVtIHRleHQtdHJ1bmNhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdChvcHRpb24pfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge2dldExhYmVsKG9wdGlvbil9XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbSBkaXNhYmxlZCB0ZXh0LW11dGVkXCIgc3R5bGU9e3sgY3Vyc29yOiAnZGVmYXVsdCcgfX0+XG4gICAgICAgICAgICAgICAgICBObyBvcHRpb25zIGZvdW5kXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbmNvbnN0IFNlYXJjaFNlbGVjdCA9IFJlYWN0LmZvcndhcmRSZWYoU2VhcmNoU2VsZWN0SW5uZXIpIGFzIFNlYXJjaFNlbGVjdENvbXBvbmVudFxuU2VhcmNoU2VsZWN0LmRpc3BsYXlOYW1lID0gJ1NlYXJjaFNlbGVjdCdcblxuZXhwb3J0IGRlZmF1bHQgU2VhcmNoU2VsZWN0XG5leHBvcnQgeyBTZWFyY2hTZWxlY3QgfVxuIl19
|