react-bootstrap-plugins 1.0.5 → 2.1.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.
Files changed (83) hide show
  1. package/README.md +14 -7
  2. package/dist/AutoTextarea.cjs +2 -0
  3. package/dist/AutoTextarea.d.cts +29 -0
  4. package/dist/AutoTextarea.d.ts +29 -0
  5. package/dist/AutoTextarea.js +2 -0
  6. package/dist/DatePicker.cjs +2 -2
  7. package/dist/DatePicker.d.cts +57 -0
  8. package/dist/DatePicker.d.ts +54 -42
  9. package/dist/DatePicker.js +2 -2
  10. package/dist/Label.cjs +2 -2
  11. package/dist/Label.d.cts +15 -0
  12. package/dist/Label.d.ts +12 -13
  13. package/dist/Label.js +2 -2
  14. package/dist/SearchSelect.cjs +2 -2
  15. package/dist/SearchSelect.d.cts +40 -0
  16. package/dist/SearchSelect.d.ts +37 -28
  17. package/dist/SearchSelect.js +2 -2
  18. package/dist/TableLoading.cjs +2 -2
  19. package/dist/TableLoading.d.cts +13 -0
  20. package/dist/TableLoading.d.ts +10 -10
  21. package/dist/TableLoading.js +2 -2
  22. package/dist/chunk-2Q4NZKMX.cjs +2 -0
  23. package/dist/chunk-5IOLZUVD.cjs +2 -0
  24. package/dist/chunk-7LXLWNUR.js +2 -0
  25. package/dist/chunk-AWU5XGMI.cjs +2 -0
  26. package/dist/chunk-HYB5IGJK.js +2 -0
  27. package/dist/chunk-KKWFIJKN.js +2 -0
  28. package/dist/chunk-M3OUUXZG.cjs +2 -0
  29. package/dist/chunk-NPQQDBFB.cjs +2 -0
  30. package/dist/chunk-OEFG7PNW.cjs +2 -0
  31. package/dist/chunk-RR7TBRGI.js +2 -0
  32. package/dist/chunk-WLMCWTO6.js +2 -0
  33. package/dist/chunk-ZCAQ7S2A.js +2 -0
  34. package/dist/css/datepicker.css +1 -299
  35. package/dist/css/plugins.css +1 -0
  36. package/dist/index.cjs +2 -2
  37. package/dist/index.d.cts +6 -0
  38. package/dist/index.d.ts +6 -13
  39. package/dist/index.js +2 -2
  40. package/docs/AUTOTEXTAREA.md +106 -0
  41. package/docs/DATEPICKER.md +3 -3
  42. package/package.json +25 -8
  43. package/dist/DatePicker.cjs.map +0 -1
  44. package/dist/DatePicker.js.map +0 -1
  45. package/dist/Label.cjs.map +0 -1
  46. package/dist/Label.js.map +0 -1
  47. package/dist/SearchSelect.cjs.map +0 -1
  48. package/dist/SearchSelect.js.map +0 -1
  49. package/dist/TableLoading.cjs.map +0 -1
  50. package/dist/TableLoading.js.map +0 -1
  51. package/dist/chunk-2JC4VIKL.cjs +0 -2
  52. package/dist/chunk-2JC4VIKL.cjs.map +0 -1
  53. package/dist/chunk-46AJ2Q5H.js +0 -2
  54. package/dist/chunk-46AJ2Q5H.js.map +0 -1
  55. package/dist/chunk-J4TRPVD4.cjs +0 -2
  56. package/dist/chunk-J4TRPVD4.cjs.map +0 -1
  57. package/dist/chunk-KZEOI42M.cjs +0 -2
  58. package/dist/chunk-KZEOI42M.cjs.map +0 -1
  59. package/dist/chunk-MQRJBL7S.cjs +0 -2
  60. package/dist/chunk-MQRJBL7S.cjs.map +0 -1
  61. package/dist/chunk-MTRPXJ3C.js +0 -2
  62. package/dist/chunk-MTRPXJ3C.js.map +0 -1
  63. package/dist/chunk-QQNPKA7A.cjs +0 -2
  64. package/dist/chunk-QQNPKA7A.cjs.map +0 -1
  65. package/dist/chunk-W6UBCMKG.js +0 -2
  66. package/dist/chunk-W6UBCMKG.js.map +0 -1
  67. package/dist/chunk-WPTHY5AJ.js +0 -2
  68. package/dist/chunk-WPTHY5AJ.js.map +0 -1
  69. package/dist/chunk-XFHLZ7I3.js +0 -2
  70. package/dist/chunk-XFHLZ7I3.js.map +0 -1
  71. package/dist/index.cjs.map +0 -1
  72. package/dist/index.js.map +0 -1
  73. package/src/components/DatePicker.d.ts +0 -45
  74. package/src/components/DatePicker.jsx +0 -691
  75. package/src/components/Label.d.ts +0 -16
  76. package/src/components/Label.jsx +0 -22
  77. package/src/components/SearchSelect.d.ts +0 -31
  78. package/src/components/SearchSelect.jsx +0 -155
  79. package/src/components/TableLoading.d.ts +0 -13
  80. package/src/components/TableLoading.jsx +0 -43
  81. package/src/css/datepicker.css +0 -299
  82. package/src/index.js +0 -16
  83. package/src/lib/cn.js +0 -35
package/README.md CHANGED
@@ -14,6 +14,7 @@
14
14
  | **SearchSelect** | [SEARCHSELECT.md](./docs/SEARCHSELECT.md) | Filterable, searchable select dropdown |
15
15
  | **Label** | [LABEL.md](./docs/LABEL.md) | Bootstrap-styled form label with required indicator |
16
16
  | **TableLoading** | [TABLELOADING.md](./docs/TABLELOADING.md) | Bootstrap 5 placeholder loading skeleton for table `<tbody>` |
17
+ | **AutoTextarea** | [AUTOTEXTAREA.md](./docs/AUTOTEXTAREA.md) | Auto-resizing textarea — grows with content up to `maxRows`/`maxHeight`, then scrolls |
17
18
 
18
19
  Each component guide includes full prop tables, usage examples, import patterns, and dark mode behavior.
19
20
 
@@ -60,10 +61,12 @@ DatePicker requires a small CSS file for its popover calendar layout. Import it
60
61
 
61
62
  ```js
62
63
  // Recommended — uses the package exports map (works with Vite, webpack 5+, Turbopack, Rollup)
63
- import 'react-bootstrap-plugins/css/datepicker.css'
64
+ import 'react-bootstrap-plugins/css/plugins.css'
64
65
  ```
65
66
 
66
- This resolves to `dist/css/datepicker.css` via the package's `exports` map. No additional configuration is needed for modern bundlers.
67
+ This resolves to `dist/css/plugins.css` via the package's `exports` map. No additional configuration is needed for modern bundlers.
68
+
69
+ > **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
70
 
68
71
  #### Troubleshooting CSS import issues
69
72
 
@@ -78,7 +81,7 @@ If your bundler reports **"Cannot find module"** or fails to resolve the CSS imp
78
81
  - **For older webpack (v4)** — you may need to use the full path if your version doesn't support the `exports` field.
79
82
 
80
83
  ```js
81
- import 'react-bootstrap-plugins/dist/css/datepicker.css'
84
+ import 'react-bootstrap-plugins/dist/css/plugins.css'
82
85
  ```
83
86
 
84
87
  - **For Next.js** — add the package to `transpilePackages` in `next.config.mjs` if not already present.
@@ -106,18 +109,20 @@ import DatePicker from 'react-bootstrap-plugins/DatePicker'
106
109
  import SearchSelect from 'react-bootstrap-plugins/SearchSelect'
107
110
  import Label from 'react-bootstrap-plugins/Label'
108
111
  import TableLoading from 'react-bootstrap-plugins/TableLoading'
112
+ import AutoTextarea from 'react-bootstrap-plugins/AutoTextarea'
109
113
 
110
114
  // Single component — named import
111
115
  import { DatePicker } from 'react-bootstrap-plugins/DatePicker'
112
116
  import { SearchSelect } from 'react-bootstrap-plugins/SearchSelect'
113
117
  import { Label } from 'react-bootstrap-plugins/Label'
114
118
  import { TableLoading } from 'react-bootstrap-plugins/TableLoading'
119
+ import { AutoTextarea } from 'react-bootstrap-plugins/AutoTextarea'
115
120
 
116
121
  // Multiple named — barrel, tree-shaken
117
- import { DatePicker, SearchSelect, Label, TableLoading } from 'react-bootstrap-plugins'
122
+ import { DatePicker, SearchSelect, Label, TableLoading, AutoTextarea } from 'react-bootstrap-plugins'
118
123
 
119
124
  // CSS (required for DatePicker)
120
- import 'react-bootstrap-plugins/css/datepicker.css'
125
+ import 'react-bootstrap-plugins/css/plugins.css'
121
126
  ```
122
127
 
123
128
  Every component supports **both** default and named imports — use whichever fits your codebase conventions.
@@ -158,7 +163,8 @@ function App() {
158
163
  | `SearchSelect` | ~1.2 KB |
159
164
  | `Label` | ~0.3 KB |
160
165
  | `TableLoading` | ~0.2 KB |
161
- | All four (barrel) | ~6.7 KB |
166
+ | `AutoTextarea` | ~0.4 KB |
167
+ | All five (barrel) | ~7.1 KB |
162
168
 
163
169
  Measured with ESM, tree-shaken, minified, gzipped. Your actual size depends on your bundler configuration.
164
170
 
@@ -213,9 +219,10 @@ src/
213
219
  │ ├── SearchSelect.jsx Searchable select dropdown
214
220
  │ ├── Label.jsx Form label
215
221
  │ ├── TableLoading.jsx Table placeholder skeleton
222
+ │ ├── AutoTextarea.jsx Auto-resizing textarea
216
223
  │ └── *.d.ts TypeScript declarations
217
224
  └── css/
218
- └── datepicker.css
225
+ └── plugins.css
219
226
  ```
220
227
 
221
228
  ---
@@ -0,0 +1,2 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkM3OUUXZG_cjs=require('./chunk-M3OUUXZG.cjs');require('./chunk-NPQQDBFB.cjs');Object.defineProperty(exports,"AutoTextarea",{enumerable:true,get:function(){return chunkM3OUUXZG_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkM3OUUXZG_cjs.b}});//# sourceMappingURL=AutoTextarea.cjs.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJBdXRvVGV4dGFyZWEuY2pzIn0=
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+
3
+ interface AutoTextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'rows'> {
4
+ /** Minimum number of visible rows (default 2) */
5
+ minRows?: number;
6
+ /** Maximum number of rows before scrolling (default 8) */
7
+ maxRows?: number;
8
+ /**
9
+ * Hard cap on height in pixels. When provided it overrides the
10
+ * `maxRows`-derived limit — the textarea grows up to `maxHeight`
11
+ * and becomes scrollable beyond it.
12
+ */
13
+ maxHeight?: number;
14
+ }
15
+ /**
16
+ * Bootstrap-styled textarea that automatically adjusts its height to fit
17
+ * its content. Zero dependencies.
18
+ *
19
+ * Grows as the user types, up to `maxRows` (or `maxHeight` in px when
20
+ * provided), then shows a scrollbar. Shrinks back down when content is
21
+ * removed.
22
+ *
23
+ * @example
24
+ * <AutoTextarea value={text} onChange={e => setText(e.target.value)} minRows={2} maxRows={8} />
25
+ * <AutoTextarea value={text} onChange={e => setText(e.target.value)} maxHeight={240} />
26
+ */
27
+ declare const AutoTextarea: React.ForwardRefExoticComponent<AutoTextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
28
+
29
+ export { AutoTextarea, type AutoTextareaProps, AutoTextarea as default };
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+
3
+ interface AutoTextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'rows'> {
4
+ /** Minimum number of visible rows (default 2) */
5
+ minRows?: number;
6
+ /** Maximum number of rows before scrolling (default 8) */
7
+ maxRows?: number;
8
+ /**
9
+ * Hard cap on height in pixels. When provided it overrides the
10
+ * `maxRows`-derived limit — the textarea grows up to `maxHeight`
11
+ * and becomes scrollable beyond it.
12
+ */
13
+ maxHeight?: number;
14
+ }
15
+ /**
16
+ * Bootstrap-styled textarea that automatically adjusts its height to fit
17
+ * its content. Zero dependencies.
18
+ *
19
+ * Grows as the user types, up to `maxRows` (or `maxHeight` in px when
20
+ * provided), then shows a scrollbar. Shrinks back down when content is
21
+ * removed.
22
+ *
23
+ * @example
24
+ * <AutoTextarea value={text} onChange={e => setText(e.target.value)} minRows={2} maxRows={8} />
25
+ * <AutoTextarea value={text} onChange={e => setText(e.target.value)} maxHeight={240} />
26
+ */
27
+ declare const AutoTextarea: React.ForwardRefExoticComponent<AutoTextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
28
+
29
+ export { AutoTextarea, type AutoTextareaProps, AutoTextarea as default };
@@ -0,0 +1,2 @@
1
+ export{a as AutoTextarea,b as default}from'./chunk-KKWFIJKN.js';import'./chunk-RR7TBRGI.js';//# sourceMappingURL=AutoTextarea.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJBdXRvVGV4dGFyZWEuanMifQ==
@@ -1,2 +1,2 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkKZEOI42M_cjs=require('./chunk-KZEOI42M.cjs');require('./chunk-QQNPKA7A.cjs');Object.defineProperty(exports,"DatePicker",{enumerable:true,get:function(){return chunkKZEOI42M_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkKZEOI42M_cjs.b}});//# sourceMappingURL=DatePicker.cjs.map
2
- //# sourceMappingURL=DatePicker.cjs.map
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkOEFG7PNW_cjs=require('./chunk-OEFG7PNW.cjs');require('./chunk-NPQQDBFB.cjs');Object.defineProperty(exports,"DatePicker",{enumerable:true,get:function(){return chunkOEFG7PNW_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkOEFG7PNW_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 };
@@ -1,45 +1,57 @@
1
- import * as React from 'react'
1
+ import * as React from 'react';
2
2
 
3
- export interface DatePickerProps {
4
- /** Picker mode (default 'date') */
5
- mode?: 'date' | 'time' | 'datetime'
6
- /** Currently selected Date (alias for `value`) */
7
- selected?: Date | null
8
- /** Currently selected Date */
9
- value?: Date | string | number | null
10
- /**
11
- * Synthetic event handler — `e.target.value` is a pre-formatted string:
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 const DatePicker: React.ForwardRefExoticComponent<
44
- DatePickerProps & React.RefAttributes<HTMLInputElement>
45
- >
57
+ export { DatePicker, type DatePickerChangeEvent, type DatePickerProps, DatePicker as default };
@@ -1,2 +1,2 @@
1
- export{a as DatePicker,b as default}from'./chunk-MTRPXJ3C.js';import'./chunk-46AJ2Q5H.js';//# sourceMappingURL=DatePicker.js.map
2
- //# sourceMappingURL=DatePicker.js.map
1
+ export{a as DatePicker,b as default}from'./chunk-WLMCWTO6.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 chunk2JC4VIKL_cjs=require('./chunk-2JC4VIKL.cjs');Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunk2JC4VIKL_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunk2JC4VIKL_cjs.b}});//# sourceMappingURL=Label.cjs.map
2
- //# sourceMappingURL=Label.cjs.map
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==
@@ -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
- export 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
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 const Label: React.ForwardRefExoticComponent<
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-W6UBCMKG.js';//# sourceMappingURL=Label.js.map
2
- //# sourceMappingURL=Label.js.map
1
+ export{a as Label,b as default}from'./chunk-HYB5IGJK.js';//# sourceMappingURL=Label.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJMYWJlbC5qcyJ9
@@ -1,2 +1,2 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkMQRJBL7S_cjs=require('./chunk-MQRJBL7S.cjs');require('./chunk-QQNPKA7A.cjs');Object.defineProperty(exports,"SearchSelect",{enumerable:true,get:function(){return chunkMQRJBL7S_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkMQRJBL7S_cjs.b}});//# sourceMappingURL=SearchSelect.cjs.map
2
- //# sourceMappingURL=SearchSelect.cjs.map
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 };
@@ -1,31 +1,40 @@
1
- import * as React from 'react'
1
+ import * as React from 'react';
2
2
 
3
- export interface SearchSelectProps<T = any> {
4
- /** Additional CSS classes on the wrapper */
5
- className?: string
6
- /** Selectable options — primitives (string/number/boolean) or objects */
7
- options?: T[] | Array<string | number | boolean>
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?: any
16
- /** Called with synthetic event; e.target.value is the selected value, e.target.name is the input name */
17
- onChange?: (e: { target: { value: any; name: string } }) => void
18
- /** Input element ID */
19
- id?: string
20
- /** Input name attribute — surfaces as e.target.name in onChange */
21
- name?: string
22
- /** Disable the input */
23
- disabled?: boolean
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
- declare const SearchSelect: React.ForwardRefExoticComponent<
27
- SearchSelectProps & React.RefAttributes<HTMLDivElement>
28
- >
29
-
30
- export default SearchSelect
31
- export { SearchSelect }
40
+ export { SearchSelect, type SearchSelectProps, SearchSelect as default };
@@ -1,2 +1,2 @@
1
- export{a as SearchSelect,b as default}from'./chunk-XFHLZ7I3.js';import'./chunk-46AJ2Q5H.js';//# sourceMappingURL=SearchSelect.js.map
2
- //# sourceMappingURL=SearchSelect.js.map
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==
@@ -1,2 +1,2 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkJ4TRPVD4_cjs=require('./chunk-J4TRPVD4.cjs');Object.defineProperty(exports,"TableLoading",{enumerable:true,get:function(){return chunkJ4TRPVD4_cjs.a}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkJ4TRPVD4_cjs.b}});//# sourceMappingURL=TableLoading.cjs.map
2
- //# sourceMappingURL=TableLoading.cjs.map
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 };
@@ -1,13 +1,13 @@
1
- import * as React from 'react'
1
+ import * as React from 'react';
2
2
 
3
- export interface TableLoadingProps {
4
- /** Number of placeholder rows to render (default 5) */
5
- rows?: number
6
- /** Number of placeholder columns per row (default 4) */
7
- columns?: number
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
- declare const TableLoading: React.FC<TableLoadingProps>
11
-
12
- export default TableLoading
13
- export { TableLoading }
13
+ export { TableLoading, type TableLoadingProps, TableLoading as default };
@@ -1,2 +1,2 @@
1
- export{a as TableLoading,b as default}from'./chunk-WPTHY5AJ.js';//# sourceMappingURL=TableLoading.js.map
2
- //# sourceMappingURL=TableLoading.js.map
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL1NlYXJjaFNlbGVjdC50c3giXSwibmFtZXMiOlsiU2VhcmNoU2VsZWN0SW5uZXIiLCJjbGFzc05hbWUiLCJvcHRpb25zIiwibGFiZWxLZXkiLCJ2YWx1ZUtleSIsInBsYWNlaG9sZGVyIiwidmFsdWUiLCJvbkNoYW5nZSIsImlkIiwibmFtZSIsImRpc2FibGVkIiwicHJvcHMiLCJyZWYiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJ0Iiwic2VhcmNoVGVybSIsInNldFNlYXJjaFRlcm0iLCJ3cmFwcGVyUmVmIiwiaXNQcmltaXRpdmVBcnJheSIsImdldExhYmVsIiwib3B0aW9uIiwiZ2V0VmFsdWUiLCJzZWxlY3RlZE9wdGlvbiIsIm9wdCIsImZpbHRlcmVkT3B0aW9ucyIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwiaGFuZGxlU2VsZWN0Iiwic2VsZWN0ZWRWYWx1ZSIsImpzeHMiLCJub2RlIiwiY24iLCJqc3giLCJpbmRleCIsImtleSIsIlNlYXJjaFNlbGVjdCIsIlNlYXJjaFNlbGVjdF9kZWZhdWx0Il0sIm1hcHBpbmdzIjoib2VBbUNBLElBQU1BLEVBQW9CLENBQUssQ0FDM0IsVUFBQUMsQ0FBQUEsQ0FDQSxPQUFBLENBQUFDLEVBQVUsRUFBQyxDQUNYLFNBQUFDLENBQUFBLENBQVcsT0FBQSxDQUNYLFFBQUEsQ0FBQUMsQ0FBQUEsQ0FBVyxRQUNYLFdBQUEsQ0FBQUMsQ0FBQUEsQ0FBYyxZQUNkLEtBQUEsQ0FBQUMsQ0FBQUEsQ0FBUSxLQUNSLFFBQUEsQ0FBQUMsQ0FBQUEsQ0FDQSxHQUFBQyxDQUFBQSxDQUFLLG1CQUFBLENBQ0wsS0FBQUMsQ0FBQUEsQ0FDQSxRQUFBLENBQUFDLEVBQVcsS0FBQSxDQUNYLEdBQUdDLENBQ0wsQ0FBQSxDQUErREMsQ0FBQUEsR0FBNEMsQ0FDekcsR0FBTSxDQUFDQyxDQUFBQSxDQUFRQyxDQUFTLEVBQVVDLFlBQUEsQ0FBQSxRQUFBLENBQVMsS0FBSyxFQUMxQyxDQUFDQyxD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ZmlsZSI6ImNodW5rLUFXVTVYR01JLmNqcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY24gfSBmcm9tICcuLi9saWIvY24uanMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU2VsZWN0UHJvcHM8VCA9IHVua25vd24+IHtcbiAgLyoqIEFkZGl0aW9uYWwgQ1NTIGNsYXNzZXMgb24gdGhlIHdyYXBwZXIgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIC8qKiBTZWxlY3RhYmxlIG9wdGlvbnMg4oCUIHByaW1pdGl2ZXMgKHN0cmluZ3xudW1iZXJ8Ym9vbGVhbikgb3Igb2JqZWN0cyAqL1xuICBvcHRpb25zPzogVFtdXG4gIC8qKiBLZXkgZm9yIGRpc3BsYXkgdGV4dCB3aGVuIG9wdGlvbnMgYXJlIG9iamVjdHMgKGRlZmF1bHQgJ2xhYmVsJykgKi9cbiAgbGFiZWxLZXk/OiBzdHJpbmdcbiAgLyoqIEtleSBmb3IgdGhlIHZhbHVlIHdoZW4gb3B0aW9ucyBhcmUgb2JqZWN0cyAoZGVmYXVsdCAndmFsdWUnKSAqL1xuICB2YWx1ZUtleT86IHN0cmluZ1xuICAvKiogUGxhY2Vob2xkZXIgdGV4dCAoZGVmYXVsdCAnU2VsZWN0Li4uJykgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIEN1cnJlbnRseSBzZWxlY3RlZCB2YWx1ZSAqL1xuICB2YWx1ZT86IFQgfCBudWxsXG4gIC8qKiBDYWxsZWQgd2l0aCBzeW50aGV0aWMgZXZlbnQ7IGUudGFyZ2V0LnZhbHVlIGlzIHRoZSBzZWxlY3RlZCB2YWx1ZSwgZS50YXJnZXQubmFtZSBpcyB0aGUgaW5wdXQgbmFtZSAqL1xuICBvbkNoYW5nZT86IChlOiB7IHRhcmdldDogeyB2YWx1ZTogVCB8IG51bGw7IG5hbWU6IHN0cmluZyB9IH0pID0+IHZvaWRcbiAgLyoqIElucHV0IGVsZW1lbnQgSUQgKi9cbiAgaWQ/OiBzdHJpbmdcbiAgLyoqIElucHV0IG5hbWUgYXR0cmlidXRlIOKAlCBzdXJmYWNlcyBhcyBlLnRhcmdldC5uYW1lIGluIG9uQ2hhbmdlICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIERpc2FibGUgdGhlIGlucHV0ICovXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG4vKipcbiAqIEEgZmlsdGVyYWJsZSwgc2VhcmNoYWJsZSBzZWxlY3QgZHJvcGRvd24gc3R5bGVkIHdpdGggQm9vdHN0cmFwIDUuXG4gKiBTdXBwb3J0cyBib3RoIHByaW1pdGl2ZSBhcnJheXMgYW5kIG9iamVjdCBhcnJheXMgd2l0aCBjb25maWd1cmFibGUgbGFiZWwvdmFsdWUga2V5cy5cbiAqL1xuaW50ZXJmYWNlIFNlYXJjaFNlbGVjdENvbXBvbmVudCB7XG4gIDxUPihwcm9wczogU2VhcmNoU2VsZWN0UHJvcHM8VD4gJiBSZWFjdC5SZWZBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50Pik6IFJlYWN0LlJlYWN0RWxlbWVudCB8IG51bGxcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmdcbn1cblxuY29uc3QgU2VhcmNoU2VsZWN0SW5uZXIgPSA8VCw+KHtcbiAgICBjbGFzc05hbWUsXG4gICAgb3B0aW9ucyA9IFtdIGFzIFRbXSxcbiAgICBsYWJlbEtleSA9ICdsYWJlbCcsXG4gICAgdmFsdWVLZXkgPSAndmFsdWUnLFxuICAgIHBsYWNlaG9sZGVyID0gJ1NlbGVjdC4uLicsXG4gICAgdmFsdWUgPSBudWxsLFxuICAgIG9uQ2hhbmdlLFxuICAgIGlkID0gJ2ZpbHRlcmFibGUtc2VsZWN0JyxcbiAgICBuYW1lLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgLi4ucHJvcHNcbiAgfTogU2VhcmNoU2VsZWN0UHJvcHM8VD4gJiBSZWFjdC5SZWZBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgcmVmOiBSZWFjdC5Gb3J3YXJkZWRSZWY8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtzZWFyY2hUZXJtLCBzZXRTZWFyY2hUZXJtXSA9IFJlYWN0LnVzZVN0YXRlKCcnKVxuICAgIGNvbnN0IHdyYXBwZXJSZWYgPSBSZWFjdC51c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgICAvLyBBVVRPLURFVEVDVDogcHJpbWl0aXZlcyB2cyBvYmplY3RzXG4gICAgY29uc3QgaXNQcmltaXRpdmVBcnJheSA9IG9wdGlvbnMubGVuZ3RoID4gMCAmJlxuICAgICAgKHR5cGVvZiBvcHRpb25zWzBdID09PSAnc3RyaW5nJyB8fCB0eXBlb2Ygb3B0aW9uc1swXSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIG9wdGlvbnNbMF0gPT09ICdib29sZWFuJylcblxuICAgIGNvbnN0IGdldExhYmVsID0gKG9wdGlvbjogVCk6IHN0cmluZyA9PiB7XG4gICAgICBpZiAoaXNQcmltaXRpdmVBcnJheSkgcmV0dXJuIFN0cmluZyhvcHRpb24pXG4gICAgICByZXR1cm4gKG9wdGlvbiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LltsYWJlbEtleV0gYXMgc3RyaW5nIHx8ICcnXG4gICAgfVxuXG4gICAgY29uc3QgZ2V0VmFsdWUgPSAob3B0aW9uOiBUKTogVCB8IG51bGwgPT4ge1xuICAgICAgaWYgKGlzUHJpbWl0aXZlQXJyYXkpIHJldHVybiBvcHRpb25cbiAgICAgIHJldHVybiAoKG9wdGlvbiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/Llt2YWx1ZUtleV0gYXMgVCkgPz8gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9ucy5maW5kKG9wdCA9PiBnZXRWYWx1ZShvcHQpID09PSB2YWx1ZSlcblxuICAgIC8vIFN5bmMgaW5wdXQgd2hlbiB2YWx1ZSBjaGFuZ2VzIGV4dGVybmFsbHlcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2V0U2VhcmNoVGVybShnZXRMYWJlbChzZWxlY3RlZE9wdGlvbikpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRTZWFyY2hUZXJtKCcnKVxuICAgICAgfVxuICAgIH0sIFt2YWx1ZSwgb3B0aW9ucywgbGFiZWxLZXksIHZhbHVlS2V5XSlcblxuICAgIC8vIEZpbHRlciBvcHRpb25zXG4gICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+XG4gICAgICBnZXRMYWJlbChvcHRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKVxuICAgIClcblxuICAgIC8vIENsaWNrIG91dHNpZGUgdG8gY2xvc2VcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh3cmFwcGVyUmVmLmN1cnJlbnQgJiYgIXdyYXBwZXJSZWYuY3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcbiAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfSwgW10pXG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3QgPSAob3B0aW9uOiBUKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gZ2V0VmFsdWUob3B0aW9uKVxuICAgICAgc2V0U2VhcmNoVGVybShnZXRMYWJlbChvcHRpb24pKVxuICAgICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgICAgaWYgKG9uQ2hhbmdlKSBvbkNoYW5nZSh7IHRhcmdldDogeyB2YWx1ZTogc2VsZWN0ZWRWYWx1ZSwgbmFtZTogbmFtZSB8fCBpZCB9IH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXsobm9kZSkgPT4ge1xuICAgICAgICAgIHdyYXBwZXJSZWYuY3VycmVudCA9IG5vZGVcbiAgICAgICAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykgcmVmKG5vZGUpXG4gICAgICAgICAgZWxzZSBpZiAocmVmKSByZWYuY3VycmVudCA9IG5vZGVcbiAgICAgICAgfX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbignc2VhcmNoc2VsZWN0LXdyYXBwZXIgcG9zaXRpb24tcmVsYXRpdmUgJywgY2xhc3NOYW1lKX1cbiAgICAgICAgc3R5bGU9e3sgbWluV2lkdGg6IDAgfX1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tc2VsZWN0XCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgdmFsdWU9e3NlYXJjaFRlcm19XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgc2V0U2VhcmNoVGVybShlLnRhcmdldC52YWx1ZSlcbiAgICAgICAgICAgIHNldElzT3Blbih0cnVlKVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNPcGVuKHRydWUpfVxuICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogJ3RleHQnLCBib3JkZXJSYWRpdXM6ICdpbmhlcml0JyB9fVxuICAgICAgICAvPlxuXG4gICAgICAgIHtpc09wZW4gJiYgIWRpc2FibGVkICYmIChcbiAgICAgICAgICA8dWxcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyb3Bkb3duLW1lbnUgc2hvdyB3LTEwMCBvdmVyZmxvdy14LWhpZGRlblwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBtYXhIZWlnaHQ6ICcyMDBweCcsXG4gICAgICAgICAgICAgIG1hcmdpblRvcDogJzJweCcsXG4gICAgICAgICAgICAgIHpJbmRleDogMTA1MCxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMC4zNzVyZW0nLFxuICAgICAgICAgICAgICBib3hTaGFkb3c6ICcwIDAuNXJlbSAxcmVtIHJnYmEoMCwwLDAsMC4xNSknLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZmlsdGVyZWRPcHRpb25zLmxlbmd0aCA+IDAgPyAoXG4gICAgICAgICAgICAgIGZpbHRlcmVkT3B0aW9ucy5tYXAoKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSAoZ2V0VmFsdWUob3B0aW9uKSBhcyBzdHJpbmcgfCBudW1iZXIpID8/IGBvcHRpb24tJHtpbmRleH1gXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e2tleX0+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcm9wZG93bi1pdGVtIHRleHQtdHJ1bmNhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdChvcHRpb24pfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge2dldExhYmVsKG9wdGlvbil9XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbSBkaXNhYmxlZCB0ZXh0LW11dGVkXCIgc3R5bGU9e3sgY3Vyc29yOiAnZGVmYXVsdCcgfX0+XG4gICAgICAgICAgICAgICAgICBObyBvcHRpb25zIGZvdW5kXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbmNvbnN0IFNlYXJjaFNlbGVjdCA9IFJlYWN0LmZvcndhcmRSZWYoU2VhcmNoU2VsZWN0SW5uZXIpIGFzIFNlYXJjaFNlbGVjdENvbXBvbmVudFxuU2VhcmNoU2VsZWN0LmRpc3BsYXlOYW1lID0gJ1NlYXJjaFNlbGVjdCdcblxuZXhwb3J0IGRlZmF1bHQgU2VhcmNoU2VsZWN0XG5leHBvcnQgeyBTZWFyY2hTZWxlY3QgfVxuIl19
@@ -0,0 +1,2 @@
1
+ import*as e from'react';import {jsxs,jsx}from'react/jsx-runtime';var a=e.forwardRef(({className:l,hf:r="default",required:t=true,label:s="Title"},o)=>jsxs("label",{htmlFor:r,className:l,ref:o,children:[s,t?jsx("b",{className:"text-danger",children:"*"}):""]}));a.displayName="Label";var n=a;export{a,n as b};//# sourceMappingURL=chunk-HYB5IGJK.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL0xhYmVsLnRzeCJdLCJuYW1lcyI6WyJMYWJlbCIsImNsYXNzTmFtZSIsImhmIiwicmVxdWlyZWQiLCJsYWJlbCIsInJlZiIsImpzeHMiLCJqc3giLCJMYWJlbF9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiaUVBYUEsSUFBTUEsQ0FBQUEsQ0FBYyxDQUFBLENBQUEsVUFBQSxDQUNsQixDQUFDLENBQUUsU0FBQSxDQUFBQyxDQUFBQSxDQUFXLEVBQUEsQ0FBQUMsQ0FBQUEsQ0FBSyxTQUFBLENBQVcsU0FBQUMsQ0FBQUEsQ0FBVyxJQUFBLENBQU0sS0FBQSxDQUFBQyxDQUFBQSxDQUFRLE9BQVEsQ0FBQSxDQUFHQyxJQUU5REMsSUFBQUEsQ0FBQyxPQUFBLENBQUEsQ0FBTSxRQUFTSixDQUFBQSxDQUFJLFNBQUEsQ0FBV0QsRUFBVyxHQUFBLENBQUtJLENBQUFBLENBQzVDLFFBQUEsQ0FBQSxDQUFBRCxDQUFBQSxDQUFPRCxDQUFBQSxDQUFXSSxHQUFBQSxDQUFDLEtBQUUsU0FBQSxDQUFVLGFBQUEsQ0FBYyxRQUFBLENBQUEsR0FBQSxDQUFDLENBQUEsQ0FBTyxFQUFBLENBQUEsQ0FDeEQsQ0FHTixFQUVBUCxDQUFBQSxDQUFNLFdBQUEsQ0FBYyxPQUFBLENBR3BCLElBQU9RLENBQUFBLENBQVFSIiwiZmlsZSI6ImNodW5rLUhZQjVJR0pLLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFiZWxQcm9wcyB7XG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzc2VzICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKiogaHRtbEZvciBhdHRyaWJ1dGUg4oCUIGFzc29jaWF0ZXMgbGFiZWwgd2l0aCBpbnB1dCBJRCAoZGVmYXVsdCAnZGVmYXVsdCcpICovXG4gIGhmPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIHJlcXVpcmVkIGFzdGVyaXNrIChkZWZhdWx0IHRydWUpICovXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICAvKiogTGFiZWwgdGV4dCBjb250ZW50IChkZWZhdWx0ICdUaXRsZScpICovXG4gIGxhYmVsPzogc3RyaW5nXG59XG5cbmNvbnN0IExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MTGFiZWxFbGVtZW50LCBMYWJlbFByb3BzPihcbiAgKHsgY2xhc3NOYW1lLCBoZiA9ICdkZWZhdWx0JywgcmVxdWlyZWQgPSB0cnVlLCBsYWJlbCA9ICdUaXRsZScgfSwgcmVmKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxsYWJlbCBodG1sRm9yPXtoZn0gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHJlZj17cmVmfT5cbiAgICAgICAge2xhYmVsfXtyZXF1aXJlZCA/IDxiIGNsYXNzTmFtZT1cInRleHQtZGFuZ2VyXCI+KjwvYj4gOiAnJ31cbiAgICAgIDwvbGFiZWw+XG4gICAgKVxuICB9XG4pXG5cbkxhYmVsLmRpc3BsYXlOYW1lID0gJ0xhYmVsJ1xuXG5leHBvcnQgeyBMYWJlbCB9XG5leHBvcnQgZGVmYXVsdCBMYWJlbFxuIl19