jb-select 7.0.1 → 7.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- 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-select.d.ts +1 -0
- package/dist/jb-select.d.ts.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/lib/jb-select.css +42 -20
- package/lib/jb-select.ts +35 -60
- package/lib/types.ts +5 -1
- package/lib/variables.css +55 -0
- package/package.json +5 -4
- package/react/dist/JBSelect.d.ts +7 -7
- package/react/dist/attributes-hook.d.ts +3 -3
- package/react/dist/events-hook.d.ts +1 -1
- 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/lib/JBSelect.tsx +11 -13
- package/react/lib/attributes-hook.ts +8 -6
- package/react/lib/events-hook.ts +1 -1
package/lib/types.ts
CHANGED
|
@@ -23,7 +23,8 @@ export type JBSelectElements = {
|
|
|
23
23
|
},
|
|
24
24
|
emptyListPlaceholder: HTMLDivElement,
|
|
25
25
|
mobileSearchInputWrapper:HTMLDivElement,
|
|
26
|
-
frontBox:HTMLDivElement
|
|
26
|
+
frontBox:HTMLDivElement,
|
|
27
|
+
selectBox:HTMLDivElement
|
|
27
28
|
}
|
|
28
29
|
export type ValidationValue<TValue> = {
|
|
29
30
|
selectedOption:JBOptionWebComponent<TValue> | null,
|
|
@@ -32,3 +33,6 @@ export type ValidationValue<TValue> = {
|
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
export type JBSelectEventType<TEvent> = EventTypeWithTarget<TEvent,JBSelectWebComponent>
|
|
36
|
+
|
|
37
|
+
/* Variants */
|
|
38
|
+
export type SizeVariants = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
package/lib/variables.css
CHANGED
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
--border-width: var(--jb-select-border-width, 1px);
|
|
9
9
|
--border-bottom-width: var(--jb-select-border-bottom-width, var(--jb-select-border-width, 3px));
|
|
10
10
|
--base-z-index: 1;
|
|
11
|
+
--selected-value-font-size:var(--jb-select-selected-value-font-size, 1rem);
|
|
12
|
+
--input-font-size:var(--jb-select-input-font-size, 1rem);
|
|
13
|
+
--selected-value-padding:var(--jb-select-selected-value-padding, 0.125rem 0.75rem 0 0.75rem);
|
|
14
|
+
--inline-slots-padding:0.375rem 0.625rem;
|
|
15
|
+
--clear-icon-size: 1rem;
|
|
11
16
|
/* put message and label forward base on border radius*/
|
|
12
17
|
--inline-space: calc(var(--rounded) / 1.75);
|
|
13
18
|
--label-margin: var(--jb-select-label-margin, 0.125rem var(--inline-space));
|
|
@@ -31,4 +36,54 @@
|
|
|
31
36
|
|
|
32
37
|
:host(:focus-within) {
|
|
33
38
|
--border-color: var(--jb-select-border-color-focus, var(--jb-neutral));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/*Size*/
|
|
42
|
+
:host([size="xs"]){
|
|
43
|
+
--height:var(--jb-select-height-xs, 1.5rem);
|
|
44
|
+
--selected-value-font-size:var(--jb-select-selected-value-font-size-xs, 0.75rem);
|
|
45
|
+
--input-font-size:var(--jb-select-input-font-size-xs, 0.75rem);
|
|
46
|
+
--label-font-size:var(--jb-select-label-font-size-xs, 0.6rem);
|
|
47
|
+
/*0.7 - (0.0875 *2) */
|
|
48
|
+
--message-font-size:var(--jb-select-message-font-size-xs, 0.525rem);
|
|
49
|
+
/* 0.375 = radius-xs - (0.25*radius-xs) */
|
|
50
|
+
--selected-value-padding:var(--jb-select-selected-value-padding-xs, 0.125rem 0.375rem 0 0.375rem);
|
|
51
|
+
--rounded: var(--jb-select-rounded-xs, var(--jb-radius-xs));
|
|
52
|
+
--inline-slots-padding:0.125rem 0.25rem;
|
|
53
|
+
--clear-icon-size: 0.5rem;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
:host([size="sm"]){
|
|
57
|
+
--height: var(--jb-select-height-sm, 2rem);
|
|
58
|
+
--selected-value-font-size:var(--jb-select-selected-value-font-size-sm, 0.875rem);
|
|
59
|
+
--input-font-size:var(--jb-select-input-font-size-sm, 0.875rem);
|
|
60
|
+
--label-font-size:var(--jb-select-label-font-size-sm, 0.7rem);
|
|
61
|
+
--message-font-size:var(--jb-select-message-font-size-sm, 0.6125rem);
|
|
62
|
+
--selected-value-padding:var(--jb-select-selected-value-padding-sm, 0.125rem 0.5625rem 0 0.5625rem);
|
|
63
|
+
--rounded: var(--jb-select-rounded-sm, var(--jb-radius-sm));
|
|
64
|
+
--inline-slots-padding:0.25rem 0.5rem;
|
|
65
|
+
--clear-icon-size: 0.75rem;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:host([size="lg"]){
|
|
69
|
+
--height: var(--jb-select-height-lg, 3rem);
|
|
70
|
+
--selected-value-font-size:var(--jb-select-selected-value-font-size-lg, 1.125rem);
|
|
71
|
+
--input-font-size:var(--jb-select-input-font-size-lg, 1.125rem);
|
|
72
|
+
--label-font-size:var(--jb-select-label-font-size-lg, 0.9rem);
|
|
73
|
+
/*0.7 + 0.0875*/
|
|
74
|
+
--message-font-size:var(--jb-select-message-font-size-lg, 0.7875rem);
|
|
75
|
+
--selected-value-padding:var(--jb-select-selected-value-padding-lg, 0.125rem 0.9375rem 0 0.9375rem);
|
|
76
|
+
--rounded: var(--jb-select-rounded-lg, var(--jb-radius-lg));
|
|
77
|
+
--inline-slots-padding:0.5rem 0.75rem;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
:host([size="xl"]){
|
|
81
|
+
--height: var(--jb-select-height-xl, 4rem);
|
|
82
|
+
--selected-value-font-size:var(--jb-select-selected-value-font-size-xl, 1.25rem);
|
|
83
|
+
--input-font-size:var(--jb-select-input-font-size-xl, 1.25rem);
|
|
84
|
+
--label-font-size:var(--jb-select-label-font-size-xl, 1rem);
|
|
85
|
+
--message-font-size:var(--jb-select-message-font-size-xl, 0.875rem);
|
|
86
|
+
--selected-value-padding:var(--jb-select-selected-value-padding-xl, 0.125rem 1.125rem 0 1.125rem);
|
|
87
|
+
--rounded: var(--jb-select-rounded-xl, var(--jb-radius-xl));
|
|
88
|
+
--inline-slots-padding:0.75rem 1rem;
|
|
34
89
|
}
|
package/package.json
CHANGED
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
"web component",
|
|
17
17
|
"react component"
|
|
18
18
|
],
|
|
19
|
-
"version": "7.0.
|
|
19
|
+
"version": "7.0.3",
|
|
20
20
|
"bugs": "https://github.com/javadbat/jb-select/issues",
|
|
21
|
+
"homepage": "https://javadbat.github.io/design-system/?path=/story/components-form-elements-jbselect",
|
|
21
22
|
"license": "MIT",
|
|
22
23
|
"files": [
|
|
23
24
|
"LICENSE",
|
|
@@ -35,9 +36,9 @@
|
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
38
|
"jb-validation": ">=0.4.0",
|
|
38
|
-
"jb-button": ">=3.
|
|
39
|
-
"jb-popover": ">=1.
|
|
40
|
-
"jb-core":">=0.
|
|
39
|
+
"jb-button": ">=3.8.0",
|
|
40
|
+
"jb-popover": ">=1.6.0",
|
|
41
|
+
"jb-core":">=0.24.0"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
44
|
"jb-form":">=0.7.1"
|
package/react/dist/JBSelect.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { type PropsWithChildren } from 'react';
|
|
2
2
|
import 'jb-select';
|
|
3
|
-
import { JBSelectWebComponent } from 'jb-select';
|
|
4
|
-
import { EventProps } from './events-hook.js';
|
|
3
|
+
import type { JBSelectWebComponent, SizeVariants } from 'jb-select';
|
|
4
|
+
import { type EventProps } from './events-hook.js';
|
|
5
5
|
import { type JBSelectAttributes } from './attributes-hook.js';
|
|
6
|
+
import type { JBElementStandardProps } from 'jb-core/react';
|
|
6
7
|
export type JBSelectEventType<T> = T & {
|
|
7
8
|
target: JBSelectWebComponent;
|
|
8
9
|
};
|
|
@@ -18,6 +19,7 @@ declare module "react" {
|
|
|
18
19
|
required?: string | boolean;
|
|
19
20
|
message?: string;
|
|
20
21
|
tabindex?: string;
|
|
22
|
+
size?: string;
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
}
|
|
@@ -25,9 +27,7 @@ export declare function JBSelect<TValue>(props: Props<TValue>): React.JSX.Elemen
|
|
|
25
27
|
export declare namespace JBSelect {
|
|
26
28
|
var displayName: string;
|
|
27
29
|
}
|
|
28
|
-
export type Props<TValue> = EventProps & JBSelectAttributes<TValue
|
|
30
|
+
export type Props<TValue> = PropsWithChildren<EventProps & JBSelectAttributes<TValue>> & JBElementStandardProps<JBSelectWebComponent, keyof EventProps & JBSelectAttributes<TValue>> & {
|
|
29
31
|
ref?: React.RefObject<JBSelectWebComponent>;
|
|
30
|
-
|
|
31
|
-
className?: string;
|
|
32
|
-
children?: React.ReactNode;
|
|
32
|
+
size?: SizeVariants;
|
|
33
33
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { JBSelectWebComponent,
|
|
2
|
-
import {
|
|
3
|
-
import { RefObject } from "react";
|
|
1
|
+
import type { JBSelectWebComponent, ValidationValue } from "jb-select";
|
|
2
|
+
import type { ValidationItem } from "jb-validation";
|
|
3
|
+
import { type RefObject } from "react";
|
|
4
4
|
export type JBSelectAttributes<TValue> = {
|
|
5
5
|
validationList?: ValidationItem<ValidationValue<TValue>>[];
|
|
6
6
|
name?: string;
|
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,u=Object.getOwnPropertyNames,n=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,c=(e,n,c,a)=>{if(n&&"object"==typeof n||"function"==typeof n)for(var o,s=u(n),i=0,f=s.length;i<f;i++)o=s[i],l.call(e,o)||o===c||t(e,o,{get:(e=>n[e]).bind(null,o),enumerable:!(a=r(n,o))||a.enumerable});return e},a=(r,u,l)=>(l=null!=r?e(n(r)):{},c(!u&&r&&r.__esModule?l:t(l,"default",{value:r,enumerable:!0}),r));const o=a(require("react"));require("jb-select");const s=a(require("jb-core/react")),i=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 u=(0,o.useRef)(null);(0,o.useImperativeHandle)(e.ref,()=>u?u.current:void 0,[u]);let{onChange:n,onInit:l,onInput:c,onKeyUp:a,onLoad:i,error:f,getSelectedValueDOM:d,label:p,name:b,required:v,message:g,placeholder:m,searchPlaceholder:E,validationList:O,value:h,...y}=e;return t={onChange:n,onInit:l,onInput:c,onKeyUp:a,onLoad:i},(0,s.useEvent)(u,"load",t.onLoad,!0),(0,s.useEvent)(u,"init",t.onInit,!0),(0,s.useEvent)(u,"keyup",t.onKeyUp),(0,s.useEvent)(u,"change",t.onChange),(0,s.useEvent)(u,"input",t.onInput),r={error:f,getSelectedValueDOM:d,label:p,name:b,required:v,message:g,placeholder:m,searchPlaceholder:E,validationList:O,value:h},(0,o.useEffect)(()=>{null!==r.message&&void 0!==r.message?u.current?.setAttribute("message",r.message):u.current?.removeAttribute("message")},[r.message]),(0,o.useEffect)(()=>{u?.current&&(u.current.validation.list=r.validationList||[])},[u.current,r.validationList]),(0,o.useEffect)(()=>{null!==r.label&&void 0!==r.label?u.current?.setAttribute("label",r.label):u.current?.removeAttribute("label")},[r.label,u.current]),(0,o.useEffect)(()=>{null!==r.required&&void 0!==r.required?u.current?.setAttribute("required",""):u.current?.removeAttribute("required")},[r.required]),(0,o.useEffect)(()=>{null!==r.placeholder&&void 0!==r.placeholder&&u.current?.setAttribute("placeholder",r.placeholder)},[r.placeholder]),(0,o.useEffect)(()=>{null!==r.searchPlaceholder&&void 0!==r.searchPlaceholder&&u.current?.setAttribute("search-placeholder",r.searchPlaceholder)},[r.searchPlaceholder]),(0,o.useEffect)(()=>{r.error?u?.current?.setAttribute("error",r.error):u?.current?.removeAttribute("error")},[r.error]),(0,o.useEffect)(()=>{r.name?u?.current?.setAttribute("name",r.name||""):u?.current?.removeAttribute("name")},[r.name]),(0,o.useEffect)(()=>{u.current&&(u.current.value=r.value)},[r.value]),(0,o.useEffect)(()=>{"function"==typeof r.getSelectedValueDOM&&u.current&&u.current&&(u.current.callbacks.getSelectedValueDOM=r.getSelectedValueDOM)},[r.getSelectedValueDOM]),o.default.createElement("jb-select",{ref:u,...y},e.children)}i.displayName="JBOptionList",f.displayName="JBSelect";const d=o.default.forwardRef((e,t)=>{let r=(0,o.useRef)(null),{value:u,children:n,className:l,...c}=e;return(0,o.useImperativeHandle)(t,()=>r?r.current:void 0,[r]),(0,o.useEffect)(()=>{r.current&&void 0!==u&&(r.current.value=u)},[u,r]),o.default.createElement("jb-option",{class:l,ref:r,...c},n)});d.displayName="JBOption",exports.JBOption=d,exports.JBOptionList=i,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,
|
|
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
|
|
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 a=l(null);return r(u,()=>a?a.current:void 0,[a]),t(()=>{a.current&&Array.isArray(n.optionList)&&(a.current.optionList=n.optionList)},[n.optionList,a]),t(()=>{a.current&&"function"==typeof n.getTitle&&a.current.setCallback("getTitle",n.getTitle)},[n.getTitle,a]),t(()=>{a.current&&"function"==typeof n.getValue&&a.current.setCallback("getValue",n.getValue)},[n.getValue,a]),t(()=>{a.current&&"function"==typeof n.getContentDOM&&a.current.setCallback("getContentDOM",n.getContentDOM)},[n.getContentDOM,a]),e.createElement("jb-option-list",{ref:a})});function a(u){var a,o;let c=l(null);r(u.ref,()=>c?c.current:void 0,[c]);let{onChange:i,onInit:s,onInput:d,onKeyUp:p,onLoad:b,error:m,getSelectedValueDOM:g,label:v,name:f,required:h,message:A,placeholder:O,searchPlaceholder:y,validationList:L,value:C,...D}=u;return n(c,"load",(a={onChange:i,onInit:s,onInput:d,onKeyUp:p,onLoad:b}).onLoad,!0),n(c,"init",a.onInit,!0),n(c,"keyup",a.onKeyUp),n(c,"change",a.onChange),n(c,"input",a.onInput),o={error:m,getSelectedValueDOM:g,label:v,name:f,required:h,message:A,placeholder:O,searchPlaceholder:y,validationList:L,value:C},t(()=>{null!==o.message&&void 0!==o.message?c.current?.setAttribute("message",o.message):c.current?.removeAttribute("message")},[o.message]),t(()=>{c?.current&&(c.current.validation.list=o.validationList||[])},[c.current,o.validationList]),t(()=>{null!==o.label&&void 0!==o.label?c.current?.setAttribute("label",o.label):c.current?.removeAttribute("label")},[o.label,c.current]),t(()=>{null!==o.required&&void 0!==o.required?c.current?.setAttribute("required",""):c.current?.removeAttribute("required")},[o.required]),t(()=>{null!==o.placeholder&&void 0!==o.placeholder&&c.current?.setAttribute("placeholder",o.placeholder)},[o.placeholder]),t(()=>{null!==o.searchPlaceholder&&void 0!==o.searchPlaceholder&&c.current?.setAttribute("search-placeholder",o.searchPlaceholder)},[o.searchPlaceholder]),t(()=>{o.error?c?.current?.setAttribute("error",o.error):c?.current?.removeAttribute("error")},[o.error]),t(()=>{o.name?c?.current?.setAttribute("name",o.name||""):c?.current?.removeAttribute("name")},[o.name]),t(()=>{c.current&&(c.current.value=o.value)},[o.value]),t(()=>{"function"==typeof o.getSelectedValueDOM&&c.current&&c.current&&(c.current.callbacks.getSelectedValueDOM=o.getSelectedValueDOM)},[o.getSelectedValueDOM]),e.createElement("jb-select",{ref:c,...D},u.children)}u.displayName="JBOptionList",a.displayName="JBSelect";let o=e.forwardRef((n,u)=>{let a=l(null),{value:o,children:c,className:i,...s}=n;return r(u,()=>a?a.current:void 0,[a]),t(()=>{a.current&&void 0!==o&&(a.current.value=o)},[o,a]),e.createElement("jb-option",{class:i,ref:a,...s},c)});o.displayName="JBOption";export{o as JBOption,u as JBOptionList,a 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,
|
|
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":"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"}
|
package/react/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,r,
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,u){var l=Object.create,n=Object.defineProperty,c=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,s=(e,t,r,u)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,o=a(t),s=0,f=o.length;s<f;s++)l=o[s],i.call(e,l)||l===r||n(e,l,{get:(e=>t[e]).bind(null,l),enumerable:!(u=c(t,l))||u.enumerable});return e},f=(e,t,r)=>(r=null!=e?l(o(e)):{},s(!t&&e&&e.__esModule?r:n(r,"default",{value:e,enumerable:!0}),e));t=f(t),u=f(u);let d=t.default.forwardRef((e,r)=>{let u=(0,t.useRef)(null);return(0,t.useImperativeHandle)(r,()=>u?u.current:void 0,[u]),(0,t.useEffect)(()=>{u.current&&Array.isArray(e.optionList)&&(u.current.optionList=e.optionList)},[e.optionList,u]),(0,t.useEffect)(()=>{u.current&&"function"==typeof e.getTitle&&u.current.setCallback("getTitle",e.getTitle)},[e.getTitle,u]),(0,t.useEffect)(()=>{u.current&&"function"==typeof e.getValue&&u.current.setCallback("getValue",e.getValue)},[e.getValue,u]),(0,t.useEffect)(()=>{u.current&&"function"==typeof e.getContentDOM&&u.current.setCallback("getContentDOM",e.getContentDOM)},[e.getContentDOM,u]),t.default.createElement("jb-option-list",{ref:u})});function p(e){var r,l;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,name:b,required:v,message:g,placeholder:m,searchPlaceholder:h,validationList:y,value:E,...O}=e;return r={onChange:c,onInit:a,onInput:o,onKeyUp:i,onLoad:s},(0,u.useEvent)(n,"load",r.onLoad,!0),(0,u.useEvent)(n,"init",r.onInit,!0),(0,u.useEvent)(n,"keyup",r.onKeyUp),(0,u.useEvent)(n,"change",r.onChange),(0,u.useEvent)(n,"input",r.onInput),l={error:f,getSelectedValueDOM:d,label:p,name:b,required:v,message:g,placeholder:m,searchPlaceholder:h,validationList:y,value:E},(0,t.useEffect)(()=>{null!==l.message&&void 0!==l.message?n.current?.setAttribute("message",l.message):n.current?.removeAttribute("message")},[l.message]),(0,t.useEffect)(()=>{n?.current&&(n.current.validation.list=l.validationList||[])},[n.current,l.validationList]),(0,t.useEffect)(()=>{null!==l.label&&void 0!==l.label?n.current?.setAttribute("label",l.label):n.current?.removeAttribute("label")},[l.label,n.current]),(0,t.useEffect)(()=>{null!==l.required&&void 0!==l.required?n.current?.setAttribute("required",""):n.current?.removeAttribute("required")},[l.required]),(0,t.useEffect)(()=>{null!==l.placeholder&&void 0!==l.placeholder&&n.current?.setAttribute("placeholder",l.placeholder)},[l.placeholder]),(0,t.useEffect)(()=>{null!==l.searchPlaceholder&&void 0!==l.searchPlaceholder&&n.current?.setAttribute("search-placeholder",l.searchPlaceholder)},[l.searchPlaceholder]),(0,t.useEffect)(()=>{l.error?n?.current?.setAttribute("error",l.error):n?.current?.removeAttribute("error")},[l.error]),(0,t.useEffect)(()=>{l.name?n?.current?.setAttribute("name",l.name||""):n?.current?.removeAttribute("name")},[l.name]),(0,t.useEffect)(()=>{n.current&&(n.current.value=l.value)},[l.value]),(0,t.useEffect)(()=>{"function"==typeof l.getSelectedValueDOM&&n.current&&n.current&&(n.current.callbacks.getSelectedValueDOM=l.getSelectedValueDOM)},[l.getSelectedValueDOM]),t.default.createElement("jb-select",{ref:n,...O},e.children)}d.displayName="JBOptionList",p.displayName="JBSelect";let b=t.default.forwardRef((e,r)=>{let u=(0,t.useRef)(null),{value:l,children:n,className:c,...a}=e;return(0,t.useImperativeHandle)(r,()=>u?u.current:void 0,[u]),(0,t.useEffect)(()=>{u.current&&void 0!==l&&(u.current.value=l)},[l,u]),t.default.createElement("jb-option",{class:c,ref:u,...a},n)});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,
|
|
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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"}
|
package/react/lib/JBSelect.tsx
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
/* eslint-disable react/display-name */
|
|
3
|
-
import React, { useRef, useImperativeHandle,
|
|
3
|
+
import React, { useRef, useImperativeHandle, type PropsWithChildren } from 'react';
|
|
4
4
|
import 'jb-select';
|
|
5
5
|
// eslint-disable-next-line no-duplicate-imports
|
|
6
|
-
import { JBSelectWebComponent } from 'jb-select';
|
|
7
|
-
import { EventProps, useEvents } from './events-hook.js';
|
|
6
|
+
import type { JBSelectWebComponent, SizeVariants } from 'jb-select';
|
|
7
|
+
import { type EventProps, useEvents } from './events-hook.js';
|
|
8
8
|
import { useJBSelectAttribute, type JBSelectAttributes } from './attributes-hook.js';
|
|
9
|
+
import type { JBElementStandardProps } from 'jb-core/react';
|
|
9
10
|
export type JBSelectEventType<T> = T & {
|
|
10
11
|
target: JBSelectWebComponent
|
|
11
12
|
}
|
|
@@ -22,7 +23,7 @@ declare module "react" {
|
|
|
22
23
|
required?:string | boolean,
|
|
23
24
|
message?:string,
|
|
24
25
|
tabindex?:string,
|
|
25
|
-
|
|
26
|
+
size?:string,
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
}
|
|
@@ -33,21 +34,18 @@ export function JBSelect<TValue>(props:Props<TValue>) {
|
|
|
33
34
|
() => (element ? element.current : undefined),
|
|
34
35
|
[element],
|
|
35
36
|
);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
useJBSelectAttribute(element,props);
|
|
37
|
+
const {onChange,onInit,onInput,onKeyUp,onLoad,error,getSelectedValueDOM,label,name,required,message,placeholder,searchPlaceholder,validationList,value, ...otherProps} = props;
|
|
38
|
+
useEvents(element,{onChange,onInit,onInput,onKeyUp,onLoad});
|
|
39
|
+
useJBSelectAttribute(element,{error,getSelectedValueDOM,label,name,required,message,placeholder,searchPlaceholder,validationList,value});
|
|
40
40
|
return (
|
|
41
|
-
<jb-select
|
|
41
|
+
<jb-select ref={element} {...otherProps}>
|
|
42
42
|
{props.children}
|
|
43
43
|
</jb-select>
|
|
44
44
|
);
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
-
export type Props<TValue> = EventProps & JBSelectAttributes<TValue
|
|
47
|
+
export type Props<TValue> = PropsWithChildren<EventProps & JBSelectAttributes<TValue>> & JBElementStandardProps<JBSelectWebComponent, keyof EventProps & JBSelectAttributes<TValue>> & {
|
|
48
48
|
ref?: React.RefObject<JBSelectWebComponent>,
|
|
49
|
-
|
|
50
|
-
className?: string,
|
|
51
|
-
children?:React.ReactNode,
|
|
49
|
+
size?: SizeVariants,
|
|
52
50
|
}
|
|
53
51
|
JBSelect.displayName = 'JBSelect';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { JBSelectWebComponent,
|
|
2
|
-
import {
|
|
3
|
-
import { RefObject, useEffect } from "react";
|
|
1
|
+
import type { JBSelectWebComponent, ValidationValue } from "jb-select";
|
|
2
|
+
import type { ValidationItem } from "jb-validation";
|
|
3
|
+
import { type RefObject, useEffect } from "react";
|
|
4
4
|
|
|
5
5
|
export type JBSelectAttributes<TValue> = {
|
|
6
6
|
validationList?: ValidationItem<ValidationValue<TValue>>[],
|
|
@@ -23,18 +23,20 @@ export function useJBSelectAttribute<TValue>(element: RefObject<JBSelectWebCompo
|
|
|
23
23
|
element.current?.removeAttribute("message");
|
|
24
24
|
}
|
|
25
25
|
}, [props.message]);
|
|
26
|
+
|
|
26
27
|
useEffect(() => {
|
|
27
|
-
if (element
|
|
28
|
+
if (element?.current) {
|
|
28
29
|
element.current.validation.list = props.validationList || [];
|
|
29
30
|
}
|
|
30
|
-
}, [props.validationList]);
|
|
31
|
+
}, [element.current, props.validationList]);
|
|
32
|
+
|
|
31
33
|
useEffect(() => {
|
|
32
34
|
if (props.label !== null && props.label !== undefined) {
|
|
33
35
|
element.current?.setAttribute("label", props.label);
|
|
34
36
|
} else {
|
|
35
37
|
element.current?.removeAttribute("label");
|
|
36
38
|
}
|
|
37
|
-
}, [props.label]);
|
|
39
|
+
}, [props.label, element.current]);
|
|
38
40
|
|
|
39
41
|
useEffect(() => {
|
|
40
42
|
if (props.required !== null && props.required !== undefined) {
|
package/react/lib/events-hook.ts
CHANGED