jb-select 7.1.0 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.br +0 -0
- package/dist/index.cjs.js.gz +0 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.br +0 -0
- package/dist/index.umd.js.gz +0 -0
- package/dist/index.umd.js.map +1 -1
- package/dist/jb-option/jb-option.d.ts +2 -2
- package/dist/jb-option/jb-option.d.ts.map +1 -1
- package/dist/jb-option/types.d.ts +7 -0
- package/dist/jb-option/types.d.ts.map +1 -1
- package/dist/jb-select.d.ts +4 -3
- package/dist/jb-select.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/lib/jb-option/jb-option.ts +7 -7
- package/lib/jb-option/types.ts +8 -0
- package/lib/jb-select.ts +36 -33
- package/lib/types.ts +1 -1
- package/package.json +3 -3
- package/react/dist/JBOption.d.ts +5 -11
- package/react/dist/index.cjs.js +1 -1
- package/react/dist/index.cjs.js.map +1 -1
- package/react/dist/index.js +1 -1
- package/react/dist/index.js.map +1 -1
- package/react/dist/index.umd.js +1 -1
- package/react/dist/index.umd.js.map +1 -1
- package/react/dist/module-declaration.d.ts +11 -0
- package/react/lib/JBOption.tsx +11 -26
- package/react/lib/module-declaration.ts +12 -0
package/lib/jb-select.ts
CHANGED
|
@@ -26,29 +26,29 @@ import { JBPopoverWebComponent } from "jb-popover";
|
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
28
|
// biome-ignore lint/suspicious/noExplicitAny: <we support any type of value and there is no limitation on value type>
|
|
29
|
-
export class JBSelectWebComponent<TValue = any> extends HTMLElement implements WithValidation<ValidationValue<TValue>>, JBFormInputStandards<TValue> {
|
|
29
|
+
export class JBSelectWebComponent<TValue = any> extends HTMLElement implements WithValidation<ValidationValue<TValue>>, JBFormInputStandards<TValue | null> {
|
|
30
30
|
static get formAssociated() {
|
|
31
31
|
return true;
|
|
32
32
|
}
|
|
33
33
|
// we keep selected option here by option but we return TValue when user demand
|
|
34
|
-
#value: TValue| null;
|
|
34
|
+
#value: TValue | null = null;
|
|
35
35
|
#textValue = "";
|
|
36
36
|
// if user set value and current option list is not contain the option.
|
|
37
37
|
// we hold it in _notFoundedValue and select value when option value get updated
|
|
38
|
-
#notFoundedValue: TValue = null;
|
|
38
|
+
#notFoundedValue: TValue | null = null;
|
|
39
39
|
#optionList = new Set<JBOptionWebComponent<TValue>>()
|
|
40
40
|
//keep selected option dom
|
|
41
41
|
#selectedOption: JBOptionWebComponent<TValue> | null = null;
|
|
42
42
|
callbacks: JBSelectCallbacks<TValue> = {}
|
|
43
43
|
elements!: JBSelectElements;
|
|
44
|
-
get value()
|
|
44
|
+
get value() {
|
|
45
45
|
if (this.#value !== null && this.#value !== undefined) {
|
|
46
46
|
return this.#value;
|
|
47
47
|
} else {
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
set value(value: TValue | null
|
|
51
|
+
set value(value: TValue | null) {
|
|
52
52
|
this.#setValueFromOutside(value);
|
|
53
53
|
}
|
|
54
54
|
get textValue() {
|
|
@@ -61,11 +61,14 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
61
61
|
}
|
|
62
62
|
get selectedOptionTitle() {
|
|
63
63
|
if (this.value) {
|
|
64
|
-
return this.#selectedOption
|
|
64
|
+
return this.#selectedOption?.optionContentText;
|
|
65
65
|
} else {
|
|
66
66
|
return "";
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
+
get form(){
|
|
70
|
+
return this.#internals.form;
|
|
71
|
+
}
|
|
69
72
|
#placeholder = "";
|
|
70
73
|
get placeholder() {
|
|
71
74
|
return this.#placeholder;
|
|
@@ -137,7 +140,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
137
140
|
get required() {
|
|
138
141
|
return this.#required;
|
|
139
142
|
}
|
|
140
|
-
#internals
|
|
143
|
+
#internals!: ElementInternals;
|
|
141
144
|
/**
|
|
142
145
|
* @description will determine if component trigger jb-validation mechanism automatically on user event or it just let user-developer handle validation mechanism by himself
|
|
143
146
|
*/
|
|
@@ -149,9 +152,9 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
149
152
|
return this.getAttribute('name') || '';
|
|
150
153
|
}
|
|
151
154
|
set name(value: string) {
|
|
152
|
-
if(value){
|
|
155
|
+
if (value) {
|
|
153
156
|
this.setAttribute('name', value);
|
|
154
|
-
}else{
|
|
157
|
+
} else {
|
|
155
158
|
this.removeAttribute('name');
|
|
156
159
|
}
|
|
157
160
|
}
|
|
@@ -176,11 +179,11 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
176
179
|
if (this.elements.optionListWrapper instanceof JBPopoverWebComponent) {
|
|
177
180
|
this.#setupPopover();
|
|
178
181
|
} else {
|
|
179
|
-
customElements.whenDefined("jb-popover").then(() =>this.#setupPopover())
|
|
182
|
+
customElements.whenDefined("jb-popover").then(() => this.#setupPopover())
|
|
180
183
|
}
|
|
181
184
|
}
|
|
182
|
-
#setupPopover(){
|
|
183
|
-
|
|
185
|
+
#setupPopover() {
|
|
186
|
+
this.elements.optionListWrapper.bindTarget(this.elements.selectBox);
|
|
184
187
|
}
|
|
185
188
|
#callOnInitEvent() {
|
|
186
189
|
const event = new CustomEvent("init", { bubbles: true, composed: true });
|
|
@@ -194,7 +197,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
194
197
|
const shadowRoot = this.attachShadow({
|
|
195
198
|
mode: "open",
|
|
196
199
|
delegatesFocus: true,
|
|
197
|
-
serializable:true
|
|
200
|
+
serializable: true
|
|
198
201
|
});
|
|
199
202
|
registerDefaultVariables();
|
|
200
203
|
const html = `<style>${CSS} ${VariablesCSS}</style>\n${renderHTML()}`;
|
|
@@ -211,11 +214,11 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
211
214
|
optionListSlot: shadowRoot.querySelector(".select-list-wrapper .select-list slot")!,
|
|
212
215
|
arrowIcon: shadowRoot.querySelector(".arrow-icon")!,
|
|
213
216
|
clearButton: shadowRoot.querySelector(".clear-button") as JBButtonWebComponent,
|
|
214
|
-
label:shadowRoot.querySelector("label")
|
|
217
|
+
label: shadowRoot.querySelector("label")!,
|
|
215
218
|
emptyListPlaceholder: shadowRoot.querySelector(".empty-list-placeholder")!,
|
|
216
|
-
mobileSearchInputWrapper: shadowRoot.querySelector(".mobile-search-input-wrapper")
|
|
217
|
-
frontBox: shadowRoot.querySelector(".front-box")
|
|
218
|
-
selectBox: shadowRoot.querySelector(".select-box")
|
|
219
|
+
mobileSearchInputWrapper: shadowRoot.querySelector(".mobile-search-input-wrapper")!,
|
|
220
|
+
frontBox: shadowRoot.querySelector(".front-box")!,
|
|
221
|
+
selectBox: shadowRoot.querySelector(".select-box")!
|
|
219
222
|
};
|
|
220
223
|
this.#registerEventListener();
|
|
221
224
|
this.#updateListEmptyPlaceholder();
|
|
@@ -305,9 +308,9 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
305
308
|
this.reportValidity();
|
|
306
309
|
break;
|
|
307
310
|
case 'hide-clear':
|
|
308
|
-
if(value === '' || value === 'true'){
|
|
311
|
+
if (value === '' || value === 'true') {
|
|
309
312
|
this.elements.clearButton.style.display = 'none'
|
|
310
|
-
}else{
|
|
313
|
+
} else {
|
|
311
314
|
this.elements.clearButton.style.display = 'block'
|
|
312
315
|
}
|
|
313
316
|
break;
|
|
@@ -331,7 +334,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
331
334
|
#setValueOnOptionListChanged() {
|
|
332
335
|
//when option list changed we see if current value is valid for new optionlist we set it if not we reset value to null.
|
|
333
336
|
//in some scenario value is set before optionList attached so we store it on this.#notFoundedValue and after option list set we set value from this.#notFoundedValue
|
|
334
|
-
if (this.#notFoundedValue) {
|
|
337
|
+
if (this.#notFoundedValue !== null) {
|
|
335
338
|
//if select has no prev value or pending not found value we don't set it because user may input some search terms in input box and developer-user update list base on that value
|
|
336
339
|
//if we set it to null the search term and this.textValue will become null and empty too and it make impossible for user to search in dynamic back-end provided searchable list so we put this condition to prevent it
|
|
337
340
|
const isSet = this.#setValueFromOutside(this.#notFoundedValue);
|
|
@@ -350,13 +353,13 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
350
353
|
return true;
|
|
351
354
|
}
|
|
352
355
|
let matchedOption: JBOptionWebComponent<TValue> | null = null;
|
|
353
|
-
this.#optionList
|
|
356
|
+
for (const option of this.#optionList) {
|
|
354
357
|
// if we have value mapper we set selected value by object that match mapper
|
|
355
358
|
if (option.value == value) {
|
|
356
359
|
matchedOption = option;
|
|
357
360
|
}
|
|
358
|
-
}
|
|
359
|
-
if (matchedOption) {
|
|
361
|
+
}
|
|
362
|
+
if (matchedOption !== null) {
|
|
360
363
|
this.#setValue(matchedOption.value, matchedOption);
|
|
361
364
|
return true;
|
|
362
365
|
} else {
|
|
@@ -372,7 +375,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
372
375
|
this.#selectedOption = option;
|
|
373
376
|
}
|
|
374
377
|
}
|
|
375
|
-
#setValue(value: TValue, option: JBOptionWebComponent<TValue> | null) {
|
|
378
|
+
#setValue(value: TValue | null, option: JBOptionWebComponent<TValue> | null) {
|
|
376
379
|
this.#notFoundedValue = null;
|
|
377
380
|
this.#value = value;
|
|
378
381
|
if (value === null || value === undefined) {
|
|
@@ -478,7 +481,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
478
481
|
}
|
|
479
482
|
}
|
|
480
483
|
focus() {
|
|
481
|
-
if(this.#disabled){
|
|
484
|
+
if (this.#disabled) {
|
|
482
485
|
return;
|
|
483
486
|
}
|
|
484
487
|
this.elements.input.focus();
|
|
@@ -516,7 +519,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
516
519
|
const event = new CustomEvent("filter-change", { detail: { filterText }, bubbles: false, cancelable: false, composed: false });
|
|
517
520
|
this.dispatchEvent(event);
|
|
518
521
|
}
|
|
519
|
-
#onOptionSelect(e:
|
|
522
|
+
#onOptionSelect(e: Event) {
|
|
520
523
|
const prevValue = this.#value;
|
|
521
524
|
const prevOption = this.#selectedOption;
|
|
522
525
|
//because jb-option may be in another shadow dom like jb-option-list we have to get first composed element as a target
|
|
@@ -528,7 +531,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
528
531
|
const dispatchedEvent = this.#dispatchOnChangeEvent();
|
|
529
532
|
if (dispatchedEvent.defaultPrevented) {
|
|
530
533
|
e.preventDefault();
|
|
531
|
-
this.#selectOption(prevValue, prevOption);
|
|
534
|
+
this.#selectOption(prevValue, prevOption!);
|
|
532
535
|
}
|
|
533
536
|
}
|
|
534
537
|
|
|
@@ -540,7 +543,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
540
543
|
target.addEventListener("jb-option-disconnected", this.#onOptionDisconnected.bind(this), { once: true, passive: true });
|
|
541
544
|
target.setSelectElement(this);
|
|
542
545
|
this.#optionList.add(target);
|
|
543
|
-
if (this.#notFoundedValue) {
|
|
546
|
+
if (this.#notFoundedValue !== null) {
|
|
544
547
|
this.#setValueOnOptionListChanged();
|
|
545
548
|
}
|
|
546
549
|
this.#updateListEmptyPlaceholder();
|
|
@@ -555,7 +558,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
555
558
|
}
|
|
556
559
|
}
|
|
557
560
|
|
|
558
|
-
#selectOption(value: TValue, optionDom: JBOptionWebComponent<TValue>) {
|
|
561
|
+
#selectOption(value: TValue | null, optionDom: JBOptionWebComponent<TValue>) {
|
|
559
562
|
this.#setValue(value, optionDom);
|
|
560
563
|
this.#checkValidity(true);
|
|
561
564
|
}
|
|
@@ -577,7 +580,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
577
580
|
this.dispatchEvent(event);
|
|
578
581
|
return event;
|
|
579
582
|
}
|
|
580
|
-
#setSelectedOptionDom(value: TValue) {
|
|
583
|
+
#setSelectedOptionDom(value: TValue | null) {
|
|
581
584
|
//when user select option or value changed in any condition we set selected option DOM
|
|
582
585
|
this.elements.selectedValueWrapper.innerHTML = "";
|
|
583
586
|
//if value was null or undefined it remain empty
|
|
@@ -606,10 +609,10 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
606
609
|
}
|
|
607
610
|
#getInsideValidation() {
|
|
608
611
|
const validationList: ValidationItem<ValidationValue<TValue>>[] = [];
|
|
609
|
-
if (this.getAttribute("error") !== null && this.getAttribute("error").trim().length > 0) {
|
|
612
|
+
if (this.getAttribute("error") !== null && (this.getAttribute("error") ?? "").trim().length > 0) {
|
|
610
613
|
validationList.push({
|
|
611
614
|
validator: undefined,
|
|
612
|
-
message: this.getAttribute("error")
|
|
615
|
+
message: this.getAttribute("error")!,
|
|
613
616
|
stateType: "customError"
|
|
614
617
|
});
|
|
615
618
|
}
|
|
@@ -673,7 +676,7 @@ export class JBSelectWebComponent<TValue = any> extends HTMLElement implements W
|
|
|
673
676
|
} else {
|
|
674
677
|
states["customError"] = true;
|
|
675
678
|
}
|
|
676
|
-
if (message == '') { message = res.message; }
|
|
679
|
+
if (message == '') { message = res.message ?? ""; }
|
|
677
680
|
|
|
678
681
|
}
|
|
679
682
|
});
|
package/lib/types.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type{ JBSelectWebComponent } from "./jb-select";
|
|
|
4
4
|
import type {JBButtonWebComponent} from "jb-button";
|
|
5
5
|
import type { JBPopoverWebComponent } from "jb-popover";
|
|
6
6
|
export type JBSelectCallbacks<TValue> = {
|
|
7
|
-
getSelectedValueDOM?:(value:TValue,content:HTMLElement) => HTMLElement;
|
|
7
|
+
getSelectedValueDOM?:(value:TValue|null,content:HTMLElement|null) => HTMLElement;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export type JBSelectElements = {
|
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"web component",
|
|
17
17
|
"react component"
|
|
18
18
|
],
|
|
19
|
-
"version": "7.1.
|
|
19
|
+
"version": "7.1.1",
|
|
20
20
|
"bugs": "https://github.com/javadbat/jb-select/issues",
|
|
21
21
|
"homepage": "https://javadbat.github.io/design-system/?path=/story/components-form-elements-jbselect",
|
|
22
22
|
"license": "MIT",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"jb-validation": ">=0.4.0",
|
|
39
39
|
"jb-button": ">=3.9.1",
|
|
40
40
|
"jb-popover": ">=1.6.1",
|
|
41
|
-
"jb-core":">=0.
|
|
41
|
+
"jb-core":">=0.26.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"jb-form":">=0.
|
|
44
|
+
"jb-form":">=0.11.0"
|
|
45
45
|
}
|
|
46
46
|
}
|
package/react/dist/JBOption.d.ts
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
2
|
import { JBOptionWebComponent } from 'jb-select';
|
|
3
|
-
|
|
4
|
-
declare
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
'jb-option': JBOptionType;
|
|
8
|
-
}
|
|
9
|
-
interface JBOptionType extends React.DetailedHTMLProps<React.HTMLAttributes<JBOptionWebComponent<TValue>>, JBOptionWebComponent<TValue>> {
|
|
10
|
-
class?: string;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
3
|
+
import './module-declaration.js';
|
|
4
|
+
export declare function JBOption<TValue>(props: JBOptionProps<TValue>): React.JSX.Element;
|
|
5
|
+
export declare namespace JBOption {
|
|
6
|
+
var displayName: string;
|
|
13
7
|
}
|
|
14
|
-
export declare const JBOption: React.ForwardRefExoticComponent<Omit<JBOptionProps<any>, "ref"> & React.RefAttributes<unknown>>;
|
|
15
8
|
type Props<TValue> = {
|
|
16
9
|
value: TValue;
|
|
10
|
+
ref?: React.ForwardedRef<JBOptionWebComponent<TValue> | undefined>;
|
|
17
11
|
};
|
|
18
12
|
export type JBOptionProps<TValue> = PropsWithChildren<React.JSX.JBOptionType & Props<TValue>>;
|
|
19
13
|
export {};
|
package/react/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getPrototypeOf,n=Object.prototype.hasOwnProperty,c=(e,u,c,a)=>{if(u&&"object"==typeof u||"function"==typeof u)for(var o,i=l(u),s=0,f=i.length;s<f;s++)o=i[s],n.call(e,o)||o===c||t(e,o,{get:(e=>u[e]).bind(null,o),enumerable:!(a=r(u,o))||a.enumerable});return e},a=(r,l,n)=>(n=null!=r?e(u(r)):{},c(!l&&r&&r.__esModule?n:t(n,"default",{value:r,enumerable:!0}),r));const o=a(require("react"));require("jb-select");const i=a(require("jb-core/react")),s=o.default.forwardRef((e,t)=>{let r=(0,o.useRef)(null);return(0,o.useImperativeHandle)(t,()=>r?r.current:void 0,[r]),(0,o.useEffect)(()=>{r.current&&Array.isArray(e.optionList)&&(r.current.optionList=e.optionList)},[e.optionList,r]),(0,o.useEffect)(()=>{r.current&&"function"==typeof e.getTitle&&r.current.setCallback("getTitle",e.getTitle)},[e.getTitle,r]),(0,o.useEffect)(()=>{r.current&&"function"==typeof e.getValue&&r.current.setCallback("getValue",e.getValue)},[e.getValue,r]),(0,o.useEffect)(()=>{r.current&&"function"==typeof e.getContentDOM&&r.current.setCallback("getContentDOM",e.getContentDOM)},[e.getContentDOM,r]),o.default.createElement("jb-option-list",{ref:r})});function f(e){var t,r;let l=(0,o.useRef)(null);(0,o.useImperativeHandle)(e.ref,()=>l?l.current:void 0,[l]);let{onChange:u,onInit:n,onInput:c,onKeyUp:a,onLoad:s,error:f,getSelectedValueDOM:d,label:p,required:b,message:v,placeholder:g,searchPlaceholder:h,validationList:m,value:E,hideClear:O,...y}=e;return t={onChange:u,onInit:n,onInput:c,onKeyUp:a,onLoad:s},(0,i.useEvent)(l,"load",t.onLoad,!0),(0,i.useEvent)(l,"init",t.onInit,!0),(0,i.useEvent)(l,"keyup",t.onKeyUp),(0,i.useEvent)(l,"change",t.onChange),(0,i.useEvent)(l,"input",t.onInput),r={error:f,getSelectedValueDOM:d,label:p,required:b,message:v,placeholder:g,searchPlaceholder:h,validationList:m,value:E,hideClear:O},(0,o.useEffect)(()=>{null!==r.message&&void 0!==r.message?l.current?.setAttribute("message",r.message):l.current?.removeAttribute("message")},[r.message]),(0,o.useEffect)(()=>{l?.current&&(l.current.validation.list=r.validationList||[])},[l.current,r.validationList]),(0,o.useEffect)(()=>{null!==r.label&&void 0!==r.label?l.current?.setAttribute("label",r.label):l.current?.removeAttribute("label")},[r.label,l.current]),(0,o.useEffect)(()=>{null!==r.required&&void 0!==r.required?l.current?.setAttribute("required",""):l.current?.removeAttribute("required")},[r.required,l]),(0,o.useEffect)(()=>{null!==r.hideClear&&void 0!==r.hideClear?l.current?.setAttribute("hide-clear",""):l.current?.removeAttribute("hide-clear")},[r.hideClear,l]),(0,o.useEffect)(()=>{null!==r.placeholder&&void 0!==r.placeholder&&l.current?.setAttribute("placeholder",r.placeholder)},[r.placeholder,l]),(0,o.useEffect)(()=>{null!==r.searchPlaceholder&&void 0!==r.searchPlaceholder&&l.current?.setAttribute("search-placeholder",r.searchPlaceholder)},[r.searchPlaceholder]),(0,o.useEffect)(()=>{r.error?l?.current?.setAttribute("error",r.error):l?.current?.removeAttribute("error")},[r.error]),(0,o.useEffect)(()=>{l.current&&(l.current.value=r.value)},[r.value]),(0,o.useEffect)(()=>{"function"==typeof r.getSelectedValueDOM&&l.current&&l.current&&(l.current.callbacks.getSelectedValueDOM=r.getSelectedValueDOM)},[r.getSelectedValueDOM]),o.default.createElement("jb-select",{ref:l,...y},e.children)}function d(e){let t=(0,o.useRef)(null),{children:r,ref:l,className:u,...n}=e;return(0,o.useImperativeHandle)(l,()=>t.current??void 0,[t]),o.default.createElement("jb-option",{class:u,ref:t,...n},r)}s.displayName="JBOptionList",f.displayName="JBSelect",d.displayName="JBOption",exports.JBOption=d,exports.JBOptionList=s,exports.JBSelect=f;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","names":[],"sources":["../lib/JBOptionList.tsx","../lib/events-hook.ts","../lib/attributes-hook.ts","../lib/JBSelect.tsx","../lib/JBOption.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAY,+BAAuB,cAAA,WAAqB,CAAA,OAAM,QAAO;CAkBrE,MAAO,UAAM,kBAAY,KAAG;AAC1B,gCAAgB,KAAkD,MAAK,UAAA,QAAA,kBAAA,CACvE,OAKA,EAAA;sBACM,MAAA;MACF,QAAQ,WAAQ,MAAA,QAAa,MAAM,WAAU,CAC/C,SAAA,QAAA,aAAA,MAAA;CAEF,GAAA,CACE,MAAI;AAGN,sBAAU,MAAA;AACV,MAAA,QAAe,kBAAA,MAAA,YAAA,WACT,SAAQ,QAAO,YAAW,YAAc,MAAI,SAAU;KAGxD,MAAM,UACV;sBAEI,MAAA;AACF,MAAA,QAAA,kBAAA,MAAA,YAAA,WACE,SAAM,QAAa,YAAW,YAAA,MAAA,SAAA;CAKlC,GAAA,CAQF,MAAa;;;;;;;;;;AC1Cb,SAAgB,UAAU,SAA0C,OAAiB;AACnF,6BAAS,SAAS,QAAQ,MAAM,QAAQ,KAAK;AAC7C,6BAAS,SAAS,QAAQ,MAAM,QAAQ,KAAK;AAC7C,6BAAS,SAAS,SAAS,MAAM,QAAQ;AACzC,6BAAS,SAAS,UAAU,MAAM,SAAS;AAC3C,6BAAS,SAAS,SAAS,MAAM,QAAQ;AAC3C;;;;ACNA,SAAgB,qBAA6B,SAA0C,OAAiC;AACtH,sBAAU,MAAG;AACX,MAAI,MAAM,YAAY,QAAQ,MAAM,mBAClC,SAAQ,SAAS,aAAa,WAAW,MAAM,QAAQ;eAClD,SAAA,gBAAA,UAAA;KAGL,MAAM,OAEV,EAAA;sBACM,MAAA;MACF,SAAQ,QACV,SAAA,QAAA,WAAA,OAAA,MAAA,kBAAA,CAAA;CAGF,GAAA,CACE,QAAI,eACF;sBACK,MAAA;MACL,MAAA,UAAe,QAAE,MAAA,iBACnB,SAAA,SAAA,aAAA,SAAA,MAAA,MAAA;MAGF,SAAe,SAAA,gBAAA,QAAA;KAGb,MAAA,eAAO;sBAEP,MAAA;AACE,MAAA,MAAM,aAAiB,QAAE,MAAA,oBAE7B,SAAe,SAAA,aAAA,YAAA,GAAA;MAEX,SAAQ,SAAS,gBAAa,WAAc;WAE5C,UACF,OACD,EAAA;AAED,sBAAU,MAAG;AACX,MAAI,MAAM,cAAW,QAAS,MAAI,qBAChC,SAAQ,SAAS,aAAa,cAAa,GAAE;MAE7C,SAAM,SAAY,gBAAS,aAAA;WAI3B,WACF,OACD,EAAA;AACD,sBAAU,MAAG;AACX,MAAI,MAAM,gBAAO,QAAA,MAAA,uBACf,SAAO,SAAS,aAAc,eAAe,MAAM,YAAC;WAEpD,aACF,OACD,EAAA;AACD,sBAAU,MAAG;AACX,MAAI,MAAA,sBAAiB,QAAA,MAAA,6BACnB,SAAQ,SAAQ,aAAc,sBAAK,MAAA,kBAAA;CAEtC,GAAE,CACH,MAAU;sBAEN,MAAA;AACF,MAAA,MAAA,MACE,UAAM,SAAA,aAAqB,SAAA,MAAA,MAAA;;;;;;;;;;;;;AC5EjC,SAAS,SAAA,OAA+C;CAuBxD,MAAM,UAAU,kBAAiB,KAAoB;AACnD,gCAAgB,MAA6B,KAAK,MAAA,UAAA,QAAA,kBAAA,CAClD,OAKA,EAAA;CACA,MAAA,EAAA,UAAiB,QAAI,SAAU,SAAQ,QAAS,OAAS,qBAAS,OAAA,UAAA,SAAA,aAAA,mBAAA,gBAAA,OAAA,UAAA,GAAA,YAAA,GAAA;AAClE,WAAA,SAAA;EACA;EAKF;EAAC;EAQO;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.cjs.js","names":[],"sources":["../lib/JBOptionList.tsx","../lib/events-hook.ts","../lib/attributes-hook.ts","../lib/JBSelect.tsx","../lib/JBOption.tsx"],"sourcesContent":[],"mappings":"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"}
|
package/react/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useEffect as t,useImperativeHandle as r,useRef as l}from"react";import"jb-select";import{useEvent as n}from"jb-core/react";let u=e.forwardRef((n,u)=>{let
|
|
1
|
+
import e,{useEffect as t,useImperativeHandle as r,useRef as l}from"react";import"jb-select";import{useEvent as n}from"jb-core/react";let u=e.forwardRef((n,u)=>{let i=l(null);return r(u,()=>i?i.current:void 0,[i]),t(()=>{i.current&&Array.isArray(n.optionList)&&(i.current.optionList=n.optionList)},[n.optionList,i]),t(()=>{i.current&&"function"==typeof n.getTitle&&i.current.setCallback("getTitle",n.getTitle)},[n.getTitle,i]),t(()=>{i.current&&"function"==typeof n.getValue&&i.current.setCallback("getValue",n.getValue)},[n.getValue,i]),t(()=>{i.current&&"function"==typeof n.getContentDOM&&i.current.setCallback("getContentDOM",n.getContentDOM)},[n.getContentDOM,i]),e.createElement("jb-option-list",{ref:i})});function i(u){var i,a;let c=l(null);r(u.ref,()=>c?c.current:void 0,[c]);let{onChange:o,onInit:s,onInput:d,onKeyUp:p,onLoad:b,error:g,getSelectedValueDOM:h,label:m,required:v,message:f,placeholder:A,searchPlaceholder:O,validationList:y,value:C,hideClear:L,...D}=u;return n(c,"load",(i={onChange:o,onInit:s,onInput:d,onKeyUp:p,onLoad:b}).onLoad,!0),n(c,"init",i.onInit,!0),n(c,"keyup",i.onKeyUp),n(c,"change",i.onChange),n(c,"input",i.onInput),a={error:g,getSelectedValueDOM:h,label:m,required:v,message:f,placeholder:A,searchPlaceholder:O,validationList:y,value:C,hideClear:L},t(()=>{null!==a.message&&void 0!==a.message?c.current?.setAttribute("message",a.message):c.current?.removeAttribute("message")},[a.message]),t(()=>{c?.current&&(c.current.validation.list=a.validationList||[])},[c.current,a.validationList]),t(()=>{null!==a.label&&void 0!==a.label?c.current?.setAttribute("label",a.label):c.current?.removeAttribute("label")},[a.label,c.current]),t(()=>{null!==a.required&&void 0!==a.required?c.current?.setAttribute("required",""):c.current?.removeAttribute("required")},[a.required,c]),t(()=>{null!==a.hideClear&&void 0!==a.hideClear?c.current?.setAttribute("hide-clear",""):c.current?.removeAttribute("hide-clear")},[a.hideClear,c]),t(()=>{null!==a.placeholder&&void 0!==a.placeholder&&c.current?.setAttribute("placeholder",a.placeholder)},[a.placeholder,c]),t(()=>{null!==a.searchPlaceholder&&void 0!==a.searchPlaceholder&&c.current?.setAttribute("search-placeholder",a.searchPlaceholder)},[a.searchPlaceholder]),t(()=>{a.error?c?.current?.setAttribute("error",a.error):c?.current?.removeAttribute("error")},[a.error]),t(()=>{c.current&&(c.current.value=a.value)},[a.value]),t(()=>{"function"==typeof a.getSelectedValueDOM&&c.current&&c.current&&(c.current.callbacks.getSelectedValueDOM=a.getSelectedValueDOM)},[a.getSelectedValueDOM]),e.createElement("jb-select",{ref:c,...D},u.children)}function a(t){let n=l(null),{children:u,ref:i,className:a,...c}=t;return r(i,()=>n.current??void 0,[n]),e.createElement("jb-option",{class:a,ref:n,...c},u)}u.displayName="JBOptionList",i.displayName="JBSelect",a.displayName="JBOption";export{a as JBOption,u as JBOptionList,i as JBSelect};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/react/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../lib/JBOptionList.tsx","../lib/events-hook.ts","../lib/attributes-hook.ts","../lib/JBSelect.tsx","../lib/JBOption.tsx"],"sourcesContent":[],"mappings":";;;;;AAEA,MAAY,+BAAuB,MAAA,WAAqB,CAAA,OAAM,QAAO;CAkBrE,MAAO,UAAM,OAAY,KAAG;AAC1B,qBAAgB,KAAkD,MAAK,UAAA,QAAA,kBAAA,CACvE,OAKA,EAAA;WACM,MAAA;MACF,QAAQ,WAAQ,MAAA,QAAa,MAAM,WAAU,CAC/C,SAAA,QAAA,aAAA,MAAA;CAEF,GAAA,CACE,MAAI;AAGN,WAAU,MAAA;AACV,MAAA,QAAe,kBAAA,MAAA,YAAA,WACT,SAAQ,QAAO,YAAW,YAAc,MAAI,SAAU;KAGxD,MAAM,UACV;WAEI,MAAA;AACF,MAAA,QAAA,kBAAA,MAAA,YAAA,WACE,SAAM,QAAa,YAAW,YAAA,MAAA,SAAA;CAKlC,GAAA,CAQF,MAAa;;;;;;;;;;AC1Cb,SAAgB,UAAU,SAA0C,OAAiB;AACnF,UAAS,SAAS,QAAQ,MAAM,QAAQ,KAAK;AAC7C,UAAS,SAAS,QAAQ,MAAM,QAAQ,KAAK;AAC7C,UAAS,SAAS,SAAS,MAAM,QAAQ;AACzC,UAAS,SAAS,UAAU,MAAM,SAAS;AAC3C,UAAS,SAAS,SAAS,MAAM,QAAQ;AAC3C;;;;ACNA,SAAgB,qBAA6B,SAA0C,OAAiC;AACtH,WAAU,MAAG;AACX,MAAI,MAAM,YAAY,QAAQ,MAAM,mBAClC,SAAQ,SAAS,aAAa,WAAW,MAAM,QAAQ;eAClD,SAAA,gBAAA,UAAA;KAGL,MAAM,OAEV,EAAA;WACM,MAAA;MACF,SAAQ,QACV,SAAA,QAAA,WAAA,OAAA,MAAA,kBAAA,CAAA;CAGF,GAAA,CACE,QAAI,eACF;WACK,MAAA;MACL,MAAA,UAAe,QAAE,MAAA,iBACnB,SAAA,SAAA,aAAA,SAAA,MAAA,MAAA;MAGF,SAAe,SAAA,gBAAA,QAAA;KAGb,MAAA,eAAO;WAEP,MAAA;AACE,MAAA,MAAM,aAAiB,QAAE,MAAA,oBAE7B,SAAe,SAAA,aAAA,YAAA,GAAA;MAEX,SAAQ,SAAS,gBAAa,WAAc;WAE5C,UACF,OACD,EAAA;AAED,WAAU,MAAG;AACX,MAAI,MAAM,cAAW,QAAS,MAAI,qBAChC,SAAQ,SAAS,aAAa,cAAa,GAAE;MAE7C,SAAM,SAAY,gBAAS,aAAA;WAI3B,WACF,OACD,EAAA;AACD,WAAU,MAAG;AACX,MAAI,MAAM,gBAAO,QAAA,MAAA,uBACf,SAAO,SAAS,aAAc,eAAe,MAAM,YAAC;WAEpD,aACF,OACD,EAAA;AACD,WAAU,MAAG;AACX,MAAI,MAAA,sBAAiB,QAAA,MAAA,6BACnB,SAAQ,SAAQ,aAAc,sBAAK,MAAA,kBAAA;CAEtC,GAAE,CACH,MAAU;WAEN,MAAA;AACF,MAAA,MAAA,MACE,UAAM,SAAA,aAAqB,SAAA,MAAA,MAAA;;;;;;;;;;;;;AC5EjC,SAAS,SAAA,OAA+C;CAuBxD,MAAM,UAAU,OAAiB,KAAoB;AACnD,qBAAgB,MAA6B,KAAK,MAAA,UAAA,QAAA,kBAAA,CAClD,OAKA,EAAA;CACA,MAAA,EAAA,UAAiB,QAAI,SAAU,SAAQ,QAAS,OAAS,qBAAS,OAAA,UAAA,SAAA,aAAA,mBAAA,gBAAA,OAAA,UAAA,GAAA,YAAA,GAAA;AAClE,WAAA,SAAA;EACA;EAKF;EAAC;EAQO;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../lib/JBOptionList.tsx","../lib/events-hook.ts","../lib/attributes-hook.ts","../lib/JBSelect.tsx","../lib/JBOption.tsx"],"sourcesContent":[],"mappings":";;;;;AAEA,MAAY,+BAAuB,MAAA,WAAqB,CAAA,OAAM,QAAO;CAkBrE,MAAO,UAAM,OAAY,KAAG;AAC1B,qBAAgB,KAAkD,MAAK,UAAA,QAAA,kBAAA,CACvE,OAKA,EAAA;WACM,MAAA;MACF,QAAQ,WAAQ,MAAA,QAAa,MAAM,WAAU,CAC/C,SAAA,QAAA,aAAA,MAAA;CAEF,GAAA,CACE,MAAI;AAGN,WAAU,MAAA;AACV,MAAA,QAAe,kBAAA,MAAA,YAAA,WACT,SAAQ,QAAO,YAAW,YAAc,MAAI,SAAU;KAGxD,MAAM,UACV;WAEI,MAAA;AACF,MAAA,QAAA,kBAAA,MAAA,YAAA,WACE,SAAM,QAAa,YAAW,YAAA,MAAA,SAAA;CAKlC,GAAA,CAQF,MAAa;;;;;;;;;;AC1Cb,SAAgB,UAAU,SAA0C,OAAiB;AACnF,UAAS,SAAS,QAAQ,MAAM,QAAQ,KAAK;AAC7C,UAAS,SAAS,QAAQ,MAAM,QAAQ,KAAK;AAC7C,UAAS,SAAS,SAAS,MAAM,QAAQ;AACzC,UAAS,SAAS,UAAU,MAAM,SAAS;AAC3C,UAAS,SAAS,SAAS,MAAM,QAAQ;AAC3C;;;;ACNA,SAAgB,qBAA6B,SAA0C,OAAiC;AACtH,WAAU,MAAG;AACX,MAAI,MAAM,YAAY,QAAQ,MAAM,mBAClC,SAAQ,SAAS,aAAa,WAAW,MAAM,QAAQ;eAClD,SAAA,gBAAA,UAAA;KAGL,MAAM,OAEV,EAAA;WACM,MAAA;MACF,SAAQ,QACV,SAAA,QAAA,WAAA,OAAA,MAAA,kBAAA,CAAA;CAGF,GAAA,CACE,QAAI,eACF;WACK,MAAA;MACL,MAAA,UAAe,QAAE,MAAA,iBACnB,SAAA,SAAA,aAAA,SAAA,MAAA,MAAA;MAGF,SAAe,SAAA,gBAAA,QAAA;KAGb,MAAA,eAAO;WAEP,MAAA;AACE,MAAA,MAAM,aAAiB,QAAE,MAAA,oBAE7B,SAAe,SAAA,aAAA,YAAA,GAAA;MAEX,SAAQ,SAAS,gBAAa,WAAc;WAE5C,UACF,OACD,EAAA;AAED,WAAU,MAAG;AACX,MAAI,MAAM,cAAW,QAAS,MAAI,qBAChC,SAAQ,SAAS,aAAa,cAAa,GAAE;MAE7C,SAAM,SAAY,gBAAS,aAAA;WAI3B,WACF,OACD,EAAA;AACD,WAAU,MAAG;AACX,MAAI,MAAM,gBAAO,QAAA,MAAA,uBACf,SAAO,SAAS,aAAc,eAAe,MAAM,YAAC;WAEpD,aACF,OACD,EAAA;AACD,WAAU,MAAG;AACX,MAAI,MAAA,sBAAiB,QAAA,MAAA,6BACnB,SAAQ,SAAQ,aAAc,sBAAK,MAAA,kBAAA;CAEtC,GAAE,CACH,MAAU;WAEN,MAAA;AACF,MAAA,MAAA,MACE,UAAM,SAAA,aAAqB,SAAA,MAAA,MAAA;;;;;;;;;;;;;AC5EjC,SAAS,SAAA,OAA+C;CAuBxD,MAAM,UAAU,OAAiB,KAAoB;AACnD,qBAAgB,MAA6B,KAAK,MAAA,UAAA,QAAA,kBAAA,CAClD,OAKA,EAAA;CACA,MAAA,EAAA,UAAiB,QAAI,SAAU,SAAQ,QAAS,OAAS,qBAAS,OAAA,UAAA,SAAA,aAAA,mBAAA,gBAAA,OAAA,UAAA,GAAA,YAAA,GAAA;AAClE,WAAA,SAAA;EACA;EAKF;EAAC;EAQO;;;;;;;;;;;;;;;;;;;;;;;;AC9CR,SAAgB,SAAkB,OAA4B;CAC5D,MAAM,UAAU,OAAqC,KAAK;CAE1D,MAAM,EAAC,UAAU,KAAI,UAAW,GAAG,MAAK,GAAG;AAC3C,qBACE,KACA,MAAG,QAAI,mBAAiB,CAI1B,OAKF,EAAA;AAAC,wBAAA,MAAA,cAAA,aAAA;EAQO,OAAC"}
|
package/react/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,r,l){var u=Object.create,n=Object.defineProperty,c=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,s=(e,t,r,l)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var u,o=a(t),s=0,f=o.length;s<f;s++)u=o[s],i.call(e,u)||u===r||n(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(l=c(t,u))||l.enumerable});return e},f=(e,t,r)=>(r=null!=e?u(o(e)):{},s(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e));t=f(t),l=f(l);let d=t.default.forwardRef((e,r)=>{let l=(0,t.useRef)(null);return(0,t.useImperativeHandle)(r,()=>l?l.current:void 0,[l]),(0,t.useEffect)(()=>{l.current&&Array.isArray(e.optionList)&&(l.current.optionList=e.optionList)},[e.optionList,l]),(0,t.useEffect)(()=>{l.current&&"function"==typeof e.getTitle&&l.current.setCallback("getTitle",e.getTitle)},[e.getTitle,l]),(0,t.useEffect)(()=>{l.current&&"function"==typeof e.getValue&&l.current.setCallback("getValue",e.getValue)},[e.getValue,l]),(0,t.useEffect)(()=>{l.current&&"function"==typeof e.getContentDOM&&l.current.setCallback("getContentDOM",e.getContentDOM)},[e.getContentDOM,l]),t.default.createElement("jb-option-list",{ref:l})});function p(e){var r,u;let n=(0,t.useRef)(null);(0,t.useImperativeHandle)(e.ref,()=>n?n.current:void 0,[n]);let{onChange:c,onInit:a,onInput:o,onKeyUp:i,onLoad:s,error:f,getSelectedValueDOM:d,label:p,required:b,message:v,placeholder:g,searchPlaceholder:h,validationList:m,value:y,hideClear:E,...O}=e;return r={onChange:c,onInit:a,onInput:o,onKeyUp:i,onLoad:s},(0,l.useEvent)(n,"load",r.onLoad,!0),(0,l.useEvent)(n,"init",r.onInit,!0),(0,l.useEvent)(n,"keyup",r.onKeyUp),(0,l.useEvent)(n,"change",r.onChange),(0,l.useEvent)(n,"input",r.onInput),u={error:f,getSelectedValueDOM:d,label:p,required:b,message:v,placeholder:g,searchPlaceholder:h,validationList:m,value:y,hideClear:E},(0,t.useEffect)(()=>{null!==u.message&&void 0!==u.message?n.current?.setAttribute("message",u.message):n.current?.removeAttribute("message")},[u.message]),(0,t.useEffect)(()=>{n?.current&&(n.current.validation.list=u.validationList||[])},[n.current,u.validationList]),(0,t.useEffect)(()=>{null!==u.label&&void 0!==u.label?n.current?.setAttribute("label",u.label):n.current?.removeAttribute("label")},[u.label,n.current]),(0,t.useEffect)(()=>{null!==u.required&&void 0!==u.required?n.current?.setAttribute("required",""):n.current?.removeAttribute("required")},[u.required,n]),(0,t.useEffect)(()=>{null!==u.hideClear&&void 0!==u.hideClear?n.current?.setAttribute("hide-clear",""):n.current?.removeAttribute("hide-clear")},[u.hideClear,n]),(0,t.useEffect)(()=>{null!==u.placeholder&&void 0!==u.placeholder&&n.current?.setAttribute("placeholder",u.placeholder)},[u.placeholder,n]),(0,t.useEffect)(()=>{null!==u.searchPlaceholder&&void 0!==u.searchPlaceholder&&n.current?.setAttribute("search-placeholder",u.searchPlaceholder)},[u.searchPlaceholder]),(0,t.useEffect)(()=>{u.error?n?.current?.setAttribute("error",u.error):n?.current?.removeAttribute("error")},[u.error]),(0,t.useEffect)(()=>{n.current&&(n.current.value=u.value)},[u.value]),(0,t.useEffect)(()=>{"function"==typeof u.getSelectedValueDOM&&n.current&&n.current&&(n.current.callbacks.getSelectedValueDOM=u.getSelectedValueDOM)},[u.getSelectedValueDOM]),t.default.createElement("jb-select",{ref:n,...O},e.children)}
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,l){var u=Object.create,n=Object.defineProperty,c=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,s=(e,t,r,l)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var u,o=a(t),s=0,f=o.length;s<f;s++)u=o[s],i.call(e,u)||u===r||n(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(l=c(t,u))||l.enumerable});return e},f=(e,t,r)=>(r=null!=e?u(o(e)):{},s(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e));t=f(t),l=f(l);let d=t.default.forwardRef((e,r)=>{let l=(0,t.useRef)(null);return(0,t.useImperativeHandle)(r,()=>l?l.current:void 0,[l]),(0,t.useEffect)(()=>{l.current&&Array.isArray(e.optionList)&&(l.current.optionList=e.optionList)},[e.optionList,l]),(0,t.useEffect)(()=>{l.current&&"function"==typeof e.getTitle&&l.current.setCallback("getTitle",e.getTitle)},[e.getTitle,l]),(0,t.useEffect)(()=>{l.current&&"function"==typeof e.getValue&&l.current.setCallback("getValue",e.getValue)},[e.getValue,l]),(0,t.useEffect)(()=>{l.current&&"function"==typeof e.getContentDOM&&l.current.setCallback("getContentDOM",e.getContentDOM)},[e.getContentDOM,l]),t.default.createElement("jb-option-list",{ref:l})});function p(e){var r,u;let n=(0,t.useRef)(null);(0,t.useImperativeHandle)(e.ref,()=>n?n.current:void 0,[n]);let{onChange:c,onInit:a,onInput:o,onKeyUp:i,onLoad:s,error:f,getSelectedValueDOM:d,label:p,required:b,message:v,placeholder:g,searchPlaceholder:h,validationList:m,value:y,hideClear:E,...O}=e;return r={onChange:c,onInit:a,onInput:o,onKeyUp:i,onLoad:s},(0,l.useEvent)(n,"load",r.onLoad,!0),(0,l.useEvent)(n,"init",r.onInit,!0),(0,l.useEvent)(n,"keyup",r.onKeyUp),(0,l.useEvent)(n,"change",r.onChange),(0,l.useEvent)(n,"input",r.onInput),u={error:f,getSelectedValueDOM:d,label:p,required:b,message:v,placeholder:g,searchPlaceholder:h,validationList:m,value:y,hideClear:E},(0,t.useEffect)(()=>{null!==u.message&&void 0!==u.message?n.current?.setAttribute("message",u.message):n.current?.removeAttribute("message")},[u.message]),(0,t.useEffect)(()=>{n?.current&&(n.current.validation.list=u.validationList||[])},[n.current,u.validationList]),(0,t.useEffect)(()=>{null!==u.label&&void 0!==u.label?n.current?.setAttribute("label",u.label):n.current?.removeAttribute("label")},[u.label,n.current]),(0,t.useEffect)(()=>{null!==u.required&&void 0!==u.required?n.current?.setAttribute("required",""):n.current?.removeAttribute("required")},[u.required,n]),(0,t.useEffect)(()=>{null!==u.hideClear&&void 0!==u.hideClear?n.current?.setAttribute("hide-clear",""):n.current?.removeAttribute("hide-clear")},[u.hideClear,n]),(0,t.useEffect)(()=>{null!==u.placeholder&&void 0!==u.placeholder&&n.current?.setAttribute("placeholder",u.placeholder)},[u.placeholder,n]),(0,t.useEffect)(()=>{null!==u.searchPlaceholder&&void 0!==u.searchPlaceholder&&n.current?.setAttribute("search-placeholder",u.searchPlaceholder)},[u.searchPlaceholder]),(0,t.useEffect)(()=>{u.error?n?.current?.setAttribute("error",u.error):n?.current?.removeAttribute("error")},[u.error]),(0,t.useEffect)(()=>{n.current&&(n.current.value=u.value)},[u.value]),(0,t.useEffect)(()=>{"function"==typeof u.getSelectedValueDOM&&n.current&&n.current&&(n.current.callbacks.getSelectedValueDOM=u.getSelectedValueDOM)},[u.getSelectedValueDOM]),t.default.createElement("jb-select",{ref:n,...O},e.children)}function b(e){let r=(0,t.useRef)(null),{children:l,ref:u,className:n,...c}=e;return(0,t.useImperativeHandle)(u,()=>r.current??void 0,[r]),t.default.createElement("jb-option",{class:n,ref:r,...c},l)}d.displayName="JBOptionList",p.displayName="JBSelect",b.displayName="JBOption",e.JBOption=b,e.JBOptionList=d,e.JBSelect=p},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("jb-select"),require("jb-core/react")):"function"==typeof define&&define.amd?define(["exports","react","jb-select","jb-core/react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).JBSelectReact={},e.React,e.JBSelect,e.JBCoreReact);
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","names":[],"sources":["../lib/JBOptionList.tsx","../lib/events-hook.ts","../lib/attributes-hook.ts","../lib/JBSelect.tsx","../lib/JBOption.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAY,+BAAuB,cAAA,WAAqB,CAAA,OAAM,QAAO;CAkBrE,MAAO,UAAM,kBAAY,KAAG;AAC1B,gCAAgB,KAAkD,MAAK,UAAA,QAAA,kBAAA,CACvE,OAKA,EAAA;sBACM,MAAA;MACF,QAAQ,WAAQ,MAAA,QAAa,MAAM,WAAU,CAC/C,SAAA,QAAA,aAAA,MAAA;CAEF,GAAA,CACE,MAAI;AAGN,sBAAU,MAAA;AACV,MAAA,QAAe,kBAAA,MAAA,YAAA,WACT,SAAQ,QAAO,YAAW,YAAc,MAAI,SAAU;KAGxD,MAAM,UACV;sBAEI,MAAA;AACF,MAAA,QAAA,kBAAA,MAAA,YAAA,WACE,SAAM,QAAa,YAAW,YAAA,MAAA,SAAA;CAKlC,GAAA,CAQF,MAAa;;;;;;;;;;AC1Cb,SAAgB,UAAU,SAA0C,OAAiB;AACnF,6BAAS,SAAS,QAAQ,MAAM,QAAQ,KAAK;AAC7C,6BAAS,SAAS,QAAQ,MAAM,QAAQ,KAAK;AAC7C,6BAAS,SAAS,SAAS,MAAM,QAAQ;AACzC,6BAAS,SAAS,UAAU,MAAM,SAAS;AAC3C,6BAAS,SAAS,SAAS,MAAM,QAAQ;AAC3C;;;;ACNA,SAAgB,qBAA6B,SAA0C,OAAiC;AACtH,sBAAU,MAAG;AACX,MAAI,MAAM,YAAY,QAAQ,MAAM,mBAClC,SAAQ,SAAS,aAAa,WAAW,MAAM,QAAQ;eAClD,SAAA,gBAAA,UAAA;KAGL,MAAM,OAEV,EAAA;sBACM,MAAA;MACF,SAAQ,QACV,SAAA,QAAA,WAAA,OAAA,MAAA,kBAAA,CAAA;CAGF,GAAA,CACE,QAAI,eACF;sBACK,MAAA;MACL,MAAA,UAAe,QAAE,MAAA,iBACnB,SAAA,SAAA,aAAA,SAAA,MAAA,MAAA;MAGF,SAAe,SAAA,gBAAA,QAAA;KAGb,MAAA,eAAO;sBAEP,MAAA;AACE,MAAA,MAAM,aAAiB,QAAE,MAAA,oBAE7B,SAAe,SAAA,aAAA,YAAA,GAAA;MAEX,SAAQ,SAAS,gBAAa,WAAc;WAE5C,UACF,OACD,EAAA;AAED,sBAAU,MAAG;AACX,MAAI,MAAM,cAAW,QAAS,MAAI,qBAChC,SAAQ,SAAS,aAAa,cAAa,GAAE;MAE7C,SAAM,SAAY,gBAAS,aAAA;WAI3B,WACF,OACD,EAAA;AACD,sBAAU,MAAG;AACX,MAAI,MAAM,gBAAO,QAAA,MAAA,uBACf,SAAO,SAAS,aAAc,eAAe,MAAM,YAAC;WAEpD,aACF,OACD,EAAA;AACD,sBAAU,MAAG;AACX,MAAI,MAAA,sBAAiB,QAAA,MAAA,6BACnB,SAAQ,SAAQ,aAAc,sBAAK,MAAA,kBAAA;CAEtC,GAAE,CACH,MAAU;sBAEN,MAAA;AACF,MAAA,MAAA,MACE,UAAM,SAAA,aAAqB,SAAA,MAAA,MAAA;;;;;;;;;;;;;AC5EjC,SAAS,SAAA,OAA+C;CAuBxD,MAAM,UAAU,kBAAiB,KAAoB;AACnD,gCAAgB,MAA6B,KAAK,MAAA,UAAA,QAAA,kBAAA,CAClD,OAKA,EAAA;CACA,MAAA,EAAA,UAAiB,QAAI,SAAU,SAAQ,QAAS,OAAS,qBAAS,OAAA,UAAA,SAAA,aAAA,mBAAA,gBAAA,OAAA,UAAA,GAAA,YAAA,GAAA;AAClE,WAAA,SAAA;EACA;EAKF;EAAC;EAQO;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.umd.js","names":[],"sources":["../lib/JBOptionList.tsx","../lib/events-hook.ts","../lib/attributes-hook.ts","../lib/JBSelect.tsx","../lib/JBOption.tsx"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { JBOptionWebComponent } from "jb-select";
|
|
2
|
+
declare module "react" {
|
|
3
|
+
namespace JSX {
|
|
4
|
+
interface IntrinsicElements {
|
|
5
|
+
'jb-option': JBOptionType;
|
|
6
|
+
}
|
|
7
|
+
interface JBOptionType extends React.DetailedHTMLProps<React.HTMLAttributes<JBOptionWebComponent<any>>, JBOptionWebComponent<any>> {
|
|
8
|
+
class?: string;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
package/react/lib/JBOption.tsx
CHANGED
|
@@ -1,45 +1,30 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
|
|
3
|
-
import React, { useEffect, useRef, useImperativeHandle, PropsWithChildren, ComponentProps } from 'react';
|
|
2
|
+
import React, { useEffect, useRef, useImperativeHandle, PropsWithChildren, ComponentProps, type RefObject } from 'react';
|
|
4
3
|
import { JBOptionWebComponent } from 'jb-select';
|
|
5
|
-
|
|
6
|
-
type TValue = any;
|
|
4
|
+
import './module-declaration.js';
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
interface IntrinsicElements {
|
|
12
|
-
'jb-option': JBOptionType;
|
|
13
|
-
}
|
|
14
|
-
interface JBOptionType extends React.DetailedHTMLProps<React.HTMLAttributes<JBOptionWebComponent<TValue>>, JBOptionWebComponent<TValue>> {
|
|
15
|
-
class?: string,
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export const JBOption = React.forwardRef((props: JBOptionProps<TValue>, ref) => {
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
export function JBOption<TValue> (props: JBOptionProps<TValue>){
|
|
20
9
|
const element = useRef<JBOptionWebComponent<TValue>>(null);
|
|
21
|
-
|
|
10
|
+
// value is inside ...rest
|
|
11
|
+
const {children, ref,className, ...rest} = props;
|
|
22
12
|
useImperativeHandle(
|
|
23
13
|
ref,
|
|
24
|
-
() => (element
|
|
14
|
+
() => (element.current??undefined),
|
|
25
15
|
[element],
|
|
26
16
|
);
|
|
27
|
-
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (element.current && value !== undefined) {
|
|
30
|
-
element.current.value = value;
|
|
31
|
-
}
|
|
32
|
-
}, [value, element]);
|
|
33
17
|
|
|
34
18
|
return (
|
|
35
19
|
<jb-option class={className} ref={element} {...rest}>
|
|
36
20
|
{children}
|
|
37
21
|
</jb-option>
|
|
38
22
|
);
|
|
39
|
-
}
|
|
23
|
+
};
|
|
40
24
|
|
|
41
25
|
type Props<TValue> = {
|
|
42
|
-
value:TValue
|
|
26
|
+
value:TValue,
|
|
27
|
+
ref?: React.ForwardedRef<JBOptionWebComponent<TValue> | undefined>
|
|
43
28
|
}
|
|
44
29
|
|
|
45
30
|
export type JBOptionProps<TValue> = PropsWithChildren<React.JSX.JBOptionType & Props<TValue>>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { JBOptionWebComponent } from "jb-select";
|
|
2
|
+
|
|
3
|
+
declare module "react" {
|
|
4
|
+
namespace JSX {
|
|
5
|
+
interface IntrinsicElements {
|
|
6
|
+
'jb-option': JBOptionType;
|
|
7
|
+
}
|
|
8
|
+
interface JBOptionType extends React.DetailedHTMLProps<React.HTMLAttributes<JBOptionWebComponent<any>>, JBOptionWebComponent<any>> {
|
|
9
|
+
class?: string,
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|