jb-select 6.4.0 → 6.4.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/README.md CHANGED
@@ -69,11 +69,13 @@ by doing this, calling a `document.querySelector('jb-select').value` will give y
69
69
 
70
70
  ### using `jb-option-list`
71
71
  this web-component is an assistance for developers to manage their option list in javascript without involving too much HTML in their logic
72
+
72
73
  ```html
73
74
  <jb-select>
74
75
  <jb-option-list />
75
76
  </jb-select>
76
77
  ```
78
+
77
79
  ```js
78
80
  const optionListElement = document.querySelector('jb-option-list')
79
81
  optionListElement.optionList = [1,2,3]
@@ -101,6 +103,7 @@ optionListElement.setCallback("getTitle", (option)=>{
101
103
  optionListElement.setCallback("getValue", (option)=>option.id);
102
104
 
103
105
  ```
106
+
104
107
  `jb-option-list` use `jb-option` inside itself and just help you to manage your option list easier in js
105
108
 
106
109
  ## get value
@@ -194,6 +197,8 @@ remember you must set this callback before set value and option list
194
197
 
195
198
  in some cases in your project you need to change defualt style of web-component for example you need zero margin or different border-radius and etc.
196
199
  if you want to set a custom style to this web-component all you need is to set css variable in parent scope of web-component
200
+
201
+
197
202
  | css variable name | description |
198
203
  | ------------- | ------------- |
199
204
  | --jb-select-margin | web-component margin default is `0 0` |
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "web component",
17
17
  "react component"
18
18
  ],
19
- "version": "6.4.0",
19
+ "version": "6.4.1",
20
20
  "bugs": "https://github.com/javadbat/jb-select/issues",
21
21
  "license": "MIT",
22
22
  "files": [
@@ -2,6 +2,7 @@ import React, { CSSProperties } from 'react';
2
2
  import 'jb-select';
3
3
  import { JBSelectWebComponent } from 'jb-select';
4
4
  import { EventProps } from './events-hook.js';
5
+ import { type JBSelectAttributes } from './attributes-hook.js';
5
6
  export type JBSelectEventType<T> = T & {
6
7
  target: JBSelectWebComponent;
7
8
  };
@@ -20,31 +21,15 @@ declare global {
20
21
  }
21
22
  }
22
23
  }
23
- export declare const JBSelect: React.ForwardRefExoticComponent<EventProps & {
24
+ type TValue = any;
25
+ export declare const JBSelect: React.ForwardRefExoticComponent<EventProps & JBSelectAttributes<any> & {
24
26
  style?: CSSProperties;
25
- label?: string;
26
- getSelectedValueDOM?: (option: any) => HTMLElement;
27
- value?: any;
28
- required?: boolean;
29
- message?: string;
30
- placeholder?: string;
31
- searchPlaceholder?: string;
32
27
  className?: string;
33
28
  children?: React.ReactNode;
34
- name?: string;
35
- error?: string;
36
29
  } & React.RefAttributes<unknown>>;
37
- export type Props = EventProps & {
30
+ export type Props = EventProps & JBSelectAttributes<TValue> & {
38
31
  style?: CSSProperties;
39
- label?: string;
40
- getSelectedValueDOM?: (option: any) => HTMLElement;
41
- value?: any;
42
- required?: boolean;
43
- message?: string;
44
- placeholder?: string;
45
- searchPlaceholder?: string;
46
32
  className?: string;
47
33
  children?: React.ReactNode;
48
- name?: string;
49
- error?: string;
50
34
  };
35
+ export {};
@@ -0,0 +1,16 @@
1
+ import { JBSelectWebComponent, type ValidationValue } from "jb-select";
2
+ import { type ValidationItem } from "jb-validation";
3
+ import { RefObject } from "react";
4
+ export type JBSelectAttributes<TValue> = {
5
+ validationList?: ValidationItem<ValidationValue<TValue>>[];
6
+ name?: string;
7
+ label?: string;
8
+ error?: string;
9
+ value?: any;
10
+ message?: string;
11
+ placeholder?: string;
12
+ searchPlaceholder?: string;
13
+ required?: boolean;
14
+ getSelectedValueDOM?: (option: any) => HTMLElement;
15
+ };
16
+ export declare function useJBSelectAttribute<TValue>(element: RefObject<JBSelectWebComponent>, props: JBSelectAttributes<TValue>): void;
@@ -1,2 +1,2 @@
1
- "use strict";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,s=l(u),i=0,f=s.length;i<f;i++)o=s[i],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 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})});i.displayName="JBOptionList";const f=o.default.forwardRef((e,t)=>{let r=(0,o.useRef)(null),[l,u]=(0,o.useState)(0);return(0,o.useImperativeHandle)(t,()=>r?r.current:{},[r]),(0,o.useEffect)(()=>{u(l+1)},[r.current]),(0,o.useEffect)(()=>{r.current&&(r.current.value=e.value)},[e.value]),(0,o.useEffect)(()=>{"function"==typeof e.getSelectedValueDOM&&r.current&&r.current&&(r.current.callbacks.getSelectedValueDOM=e.getSelectedValueDOM)},[e.getSelectedValueDOM]),(0,o.useEffect)(()=>{null!==e.message&&void 0!==e.message&&r.current?.setAttribute("message",e.message)},[e.message]),(0,o.useEffect)(()=>{null!==e.placeholder&&void 0!==e.placeholder&&r.current?.setAttribute("placeholder",e.placeholder)},[e.placeholder]),(0,o.useEffect)(()=>{null!==e.searchPlaceholder&&void 0!==e.searchPlaceholder&&r.current?.setAttribute("search-placeholder",e.searchPlaceholder)},[e.searchPlaceholder]),(0,o.useEffect)(()=>{e.error?r?.current?.setAttribute("error",e.error):r?.current?.removeAttribute("error")},[e.error]),(0,s.useEvent)(r,"load",e.onLoad,!0),(0,s.useEvent)(r,"init",e.onInit,!0),(0,s.useEvent)(r,"keyup",e.onKeyUp),(0,s.useEvent)(r,"change",e.onChange),(0,s.useEvent)(r,"input",e.onInput),o.default.createElement("jb-select",{style:e.style?e.style:void 0,class:e.className?e.className:"",label:e.label,ref:r,required:e.required||"false",name:e.name??void 0},e.children)});f.displayName="JBSelect";const d=o.default.forwardRef((e,t)=>{let r=(0,o.useRef)(null),{value:l,children:u,className:n,...c}=e;return(0,o.useImperativeHandle)(t,()=>r?r.current:void 0,[r]),(0,o.useEffect)(()=>{r.current&&void 0!==l&&(r.current.value=l)},[l,r]),o.default.createElement("jb-option",{class:n,ref:r,...c},u)});d.displayName="JBOption",exports.JBOption=d,exports.JBOptionList=i,exports.JBSelect=f;
1
+ "use strict";var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getPrototypeOf,n=Object.prototype.hasOwnProperty,a=(e,u,a,c)=>{if(u&&"object"==typeof u||"function"==typeof u)for(var o,s=l(u),i=0,f=s.length;i<f;i++)o=s[i],n.call(e,o)||o===a||t(e,o,{get:(e=>u[e]).bind(null,o),enumerable:!(c=r(u,o))||c.enumerable});return e},c=(r,l,n)=>(n=null!=r?e(u(r)):{},a(!l&&r&&r.__esModule?n:t(n,"default",{value:r,enumerable:!0}),r));const o=c(require("react"));require("jb-select");const s=c(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})});i.displayName="JBOptionList";const f=o.default.forwardRef((e,t)=>{let r=(0,o.useRef)(null);return(0,o.useImperativeHandle)(t,()=>r?r.current:void 0,[r]),(0,s.useEvent)(r,"load",e.onLoad,!0),(0,s.useEvent)(r,"init",e.onInit,!0),(0,s.useEvent)(r,"keyup",e.onKeyUp),(0,s.useEvent)(r,"change",e.onChange),(0,s.useEvent)(r,"input",e.onInput),(0,o.useEffect)(()=>{null!==e.message&&void 0!==e.message?r.current?.setAttribute("message",e.message):r.current?.removeAttribute("message")},[e.message]),(0,o.useEffect)(()=>{r&&r.current&&(r.current.validation.list=e.validationList||[])},[e.validationList]),(0,o.useEffect)(()=>{null!==e.label&&void 0!==e.label?r.current?.setAttribute("label",e.label):r.current?.removeAttribute("label")},[e.label]),(0,o.useEffect)(()=>{null!==e.required&&void 0!==e.required?r.current?.setAttribute("required",""):r.current?.removeAttribute("required")},[e.required]),(0,o.useEffect)(()=>{null!==e.placeholder&&void 0!==e.placeholder&&r.current?.setAttribute("placeholder",e.placeholder)},[e.placeholder]),(0,o.useEffect)(()=>{null!==e.searchPlaceholder&&void 0!==e.searchPlaceholder&&r.current?.setAttribute("search-placeholder",e.searchPlaceholder)},[e.searchPlaceholder]),(0,o.useEffect)(()=>{e.error?r?.current?.setAttribute("error",e.error):r?.current?.removeAttribute("error")},[e.error]),(0,o.useEffect)(()=>{e.name?r?.current?.setAttribute("name",e.name||""):r?.current?.removeAttribute("name")},[e.name]),(0,o.useEffect)(()=>{r.current&&(r.current.value=e.value)},[e.value]),(0,o.useEffect)(()=>{"function"==typeof e.getSelectedValueDOM&&r.current&&r.current&&(r.current.callbacks.getSelectedValueDOM=e.getSelectedValueDOM)},[e.getSelectedValueDOM]),o.default.createElement("jb-select",{style:e.style?e.style:void 0,class:e.className?e.className:"",ref:r},e.children)});f.displayName="JBSelect";const d=o.default.forwardRef((e,t)=>{let r=(0,o.useRef)(null),{value:l,children:u,className:n,...a}=e;return(0,o.useImperativeHandle)(t,()=>r?r.current:void 0,[r]),(0,o.useEffect)(()=>{r.current&&void 0!==l&&(r.current.value=l)},[l,r]),o.default.createElement("jb-option",{class:n,ref:r,...a},u)});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/JBSelect.tsx","../lib/JBOption.tsx"],"sourcesContent":["","","",""],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;MACY,6BAAuB,cAAA,WAAqB,CAAA,OAAM,QAAO;CAkBrE,MAAO,UAAM,kBAAY,KAAG;AAC1B,gCAAgB,KAAkD,MAAK,UAAA,QAAA,UAAA,WAAA,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;;;;;;;;;;ACzCP,SAAU,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;;;;MClBqB,yBAAiB,cAAkB,WAAA,CAAA,OAAA,QAAA;CAsBxD,MAAO,UAAM,kBAAW,KAAM;CAC5B,MAAM,CAAA,gBAAuC,qBAAK,GAAA,oBAAA,EAAA;AAClD,gCAAO,KAAgB,MAAA,UAAA,QAAwB,UAAU,CAAC,GAAA,CAC1D,OAKA,EAAA;sBACE,MAAA;AACE,uBAAiB,iBAAA,EAAA;CACrB,GAAA,CACE,QAAG;sBAEH,MAAA;AACE,MAAA,QAAY,QAChB,SAAe,QAAA,QAAA,MAAA;KAGb,MAAA,KACD,EAAA;AACD,sBAAU,MAAG;AACX,aAAU,MAAO,uBAAmB,cAAY,QAAY,WAAA,QAAA,QAC1D,SAAQ,QAAO,UAAE,sBAA8B,MAAO;CAEzD,GAAE,CACH,MAAU;sBAEN,MAAA;AACF,MAAA,MAAA,YAAA,QAAA,MAAA,YAAA,UACE,SAAM,SAAa,aAAA,WAAA,MAAA,QAAA;WAGnB;AAEJ,sBAAU,MAAA;AACV,MAAA,MAAa,gBAAE,QAAA,MAAA,gBAAA,UACT,SAAM,SAAO,aAAA,eAAA,MAAA,YAAA;WAEV;sBAEP,MAAA;AACE,MAAA,MAAM,sBAAO,QAAA,MAAA,sBAAA,UACjB,SAAU,SAAc,aAAA,sBAAA,MAAA,kBAAA;CAMxB,GAAA,CAgBM,MAAC;;;;;;;;;;;;;;;;;;;MC3FG,yBAAuB,cAAA,WAAmB,CAAqC,OAAM,QAAO;CAgBxG,MAAO,UAAM,kBAAW,KAAM;CAC5B,MAAM,EAAA,OAAO,UAAwC,UAAK,GAAA,MAAA,GAAA;AAC1D,gCAAa,KAAS,MAAA,UAAc,QAAK,UAAQ,WAAA,CACjD,OAMA,EAAA;sBACM,MAAA;MACF,QAAQ,WAAQ,UAAa,UAC/B,SAAA,QAAA,QAAA;CAGF,GAAA,CAKA,OAOM"}
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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"}
@@ -1,2 +1,2 @@
1
- import e,{useEffect as t,useImperativeHandle as r,useRef as l,useState as n}from"react";import"jb-select";import{useEvent as a}from"jb-core/react";let o=e.forwardRef((n,a)=>{let o=l(null);return r(a,()=>o?o.current:void 0,[o]),t(()=>{o.current&&Array.isArray(n.optionList)&&(o.current.optionList=n.optionList)},[n.optionList,o]),t(()=>{o.current&&"function"==typeof n.getTitle&&o.current.setCallback("getTitle",n.getTitle)},[n.getTitle,o]),t(()=>{o.current&&"function"==typeof n.getValue&&o.current.setCallback("getValue",n.getValue)},[n.getValue,o]),t(()=>{o.current&&"function"==typeof n.getContentDOM&&o.current.setCallback("getContentDOM",n.getContentDOM)},[n.getContentDOM,o]),e.createElement("jb-option-list",{ref:o})});o.displayName="JBOptionList";let c=e.forwardRef((o,c)=>{let u=l(null),[i,s]=n(0);return r(c,()=>u?u.current:{},[u]),t(()=>{s(i+1)},[u.current]),t(()=>{u.current&&(u.current.value=o.value)},[o.value]),t(()=>{"function"==typeof o.getSelectedValueDOM&&u.current&&u.current&&(u.current.callbacks.getSelectedValueDOM=o.getSelectedValueDOM)},[o.getSelectedValueDOM]),t(()=>{null!==o.message&&void 0!==o.message&&u.current?.setAttribute("message",o.message)},[o.message]),t(()=>{null!==o.placeholder&&void 0!==o.placeholder&&u.current?.setAttribute("placeholder",o.placeholder)},[o.placeholder]),t(()=>{null!==o.searchPlaceholder&&void 0!==o.searchPlaceholder&&u.current?.setAttribute("search-placeholder",o.searchPlaceholder)},[o.searchPlaceholder]),t(()=>{o.error?u?.current?.setAttribute("error",o.error):u?.current?.removeAttribute("error")},[o.error]),a(u,"load",o.onLoad,!0),a(u,"init",o.onInit,!0),a(u,"keyup",o.onKeyUp),a(u,"change",o.onChange),a(u,"input",o.onInput),e.createElement("jb-select",{style:o.style?o.style:void 0,class:o.className?o.className:"",label:o.label,ref:u,required:o.required||"false",name:o.name??void 0},o.children)});c.displayName="JBSelect";let u=e.forwardRef((n,a)=>{let o=l(null),{value:c,children:u,className:i,...s}=n;return r(a,()=>o?o.current:void 0,[o]),t(()=>{o.current&&void 0!==c&&(o.current.value=c)},[c,o]),e.createElement("jb-option",{class:i,ref:o,...s},u)});u.displayName="JBOption";export{u as JBOption,o as JBOptionList,c as JBSelect};
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 a=e.forwardRef((n,a)=>{let u=l(null);return r(a,()=>u?u.current:void 0,[u]),t(()=>{u.current&&Array.isArray(n.optionList)&&(u.current.optionList=n.optionList)},[n.optionList,u]),t(()=>{u.current&&"function"==typeof n.getTitle&&u.current.setCallback("getTitle",n.getTitle)},[n.getTitle,u]),t(()=>{u.current&&"function"==typeof n.getValue&&u.current.setCallback("getValue",n.getValue)},[n.getValue,u]),t(()=>{u.current&&"function"==typeof n.getContentDOM&&u.current.setCallback("getContentDOM",n.getContentDOM)},[n.getContentDOM,u]),e.createElement("jb-option-list",{ref:u})});a.displayName="JBOptionList";let u=e.forwardRef((a,u)=>{var o;let c=l(null);return r(u,()=>c?c.current:void 0,[c]),n(c,"load",a.onLoad,!0),n(c,"init",a.onInit,!0),n(c,"keyup",a.onKeyUp),n(c,"change",a.onChange),n(c,"input",a.onInput),t(()=>{null!==o.message&&void 0!==o.message?c.current?.setAttribute("message",o.message):c.current?.removeAttribute("message")},[(o=a).message]),t(()=>{c&&c.current&&(c.current.validation.list=o.validationList||[])},[o.validationList]),t(()=>{null!==o.label&&void 0!==o.label?c.current?.setAttribute("label",o.label):c.current?.removeAttribute("label")},[o.label]),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",{style:a.style?a.style:void 0,class:a.className?a.className:"",ref:c},a.children)});u.displayName="JBSelect";let o=e.forwardRef((n,a)=>{let u=l(null),{value:o,children:c,className:i,...s}=n;return r(a,()=>u?u.current:void 0,[u]),t(()=>{u.current&&void 0!==o&&(u.current.value=o)},[o,u]),e.createElement("jb-option",{class:i,ref:u,...s},c)});o.displayName="JBOption";export{o as JBOption,a as JBOptionList,u as JBSelect};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../lib/JBOptionList.tsx","../lib/events-hook.ts","../lib/JBSelect.tsx","../lib/JBOption.tsx"],"sourcesContent":["","","",""],"mappings":";;;;;MACY,6BAAuB,MAAA,WAAqB,CAAA,OAAM,QAAO;CAkBrE,MAAO,UAAM,OAAY,KAAG;AAC1B,qBAAgB,KAAkD,MAAK,UAAA,QAAA,UAAA,WAAA,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;;;;;;;;;;ACzCP,SAAU,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;;;;MClBqB,yBAAiB,MAAkB,WAAA,CAAA,OAAA,QAAA;CAsBxD,MAAO,UAAM,OAAW,KAAM;CAC5B,MAAM,CAAA,gBAAuC,qBAAK,GAAA,SAAA,EAAA;AAClD,qBAAO,KAAgB,MAAA,UAAA,QAAwB,UAAU,CAAC,GAAA,CAC1D,OAKA,EAAA;WACE,MAAA;AACE,uBAAiB,iBAAA,EAAA;CACrB,GAAA,CACE,QAAG;WAEH,MAAA;AACE,MAAA,QAAY,QAChB,SAAe,QAAA,QAAA,MAAA;KAGb,MAAA,KACD,EAAA;AACD,WAAU,MAAG;AACX,aAAU,MAAO,uBAAmB,cAAY,QAAY,WAAA,QAAA,QAC1D,SAAQ,QAAO,UAAE,sBAA8B,MAAO;CAEzD,GAAE,CACH,MAAU;WAEN,MAAA;AACF,MAAA,MAAA,YAAA,QAAA,MAAA,YAAA,UACE,SAAM,SAAa,aAAA,WAAA,MAAA,QAAA;WAGnB;AAEJ,WAAU,MAAA;AACV,MAAA,MAAa,gBAAE,QAAA,MAAA,gBAAA,UACT,SAAM,SAAO,aAAA,eAAA,MAAA,YAAA;WAEV;WAEP,MAAA;AACE,MAAA,MAAM,sBAAO,QAAA,MAAA,sBAAA,UACjB,SAAU,SAAc,aAAA,sBAAA,MAAA,kBAAA;CAMxB,GAAA,CAgBM,MAAC;;;;;;;;;;;;;;;;;;;MC3FG,yBAAuB,MAAA,WAAmB,CAAqC,OAAM,QAAO;CAgBxG,MAAO,UAAM,OAAW,KAAM;CAC5B,MAAM,EAAA,OAAO,UAAwC,UAAK,GAAA,MAAA,GAAA;AAC1D,qBAAa,KAAS,MAAA,UAAc,QAAK,UAAQ,WAAA,CACjD,OAMA,EAAA;WACM,MAAA;MACF,QAAQ,WAAQ,UAAa,UAC/B,SAAA,QAAA,QAAA;CAGF,GAAA,CAKA,OAOM"}
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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"}
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,l){"use strict";var n=Object.create,u=Object.defineProperty,a=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,f=(e,t,r,l)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var n,o=c(t),f=0,i=o.length;f<i;f++)n=o[f],s.call(e,n)||n===r||u(e,n,{get:(e=>t[e]).bind(null,n),enumerable:!(l=a(t,n))||l.enumerable});return e},i=(e,t,r)=>(r=null!=e?n(o(e)):{},f(!t&&e&&e.__esModule?r:u(r,"default",{value:e,enumerable:!0}),e));t=i(t),l=i(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})});d.displayName="JBOptionList";let p=t.default.forwardRef((e,r)=>{let n=(0,t.useRef)(null),[u,a]=(0,t.useState)(0);return(0,t.useImperativeHandle)(r,()=>n?n.current:{},[n]),(0,t.useEffect)(()=>{a(u+1)},[n.current]),(0,t.useEffect)(()=>{n.current&&(n.current.value=e.value)},[e.value]),(0,t.useEffect)(()=>{"function"==typeof e.getSelectedValueDOM&&n.current&&n.current&&(n.current.callbacks.getSelectedValueDOM=e.getSelectedValueDOM)},[e.getSelectedValueDOM]),(0,t.useEffect)(()=>{null!==e.message&&void 0!==e.message&&n.current?.setAttribute("message",e.message)},[e.message]),(0,t.useEffect)(()=>{null!==e.placeholder&&void 0!==e.placeholder&&n.current?.setAttribute("placeholder",e.placeholder)},[e.placeholder]),(0,t.useEffect)(()=>{null!==e.searchPlaceholder&&void 0!==e.searchPlaceholder&&n.current?.setAttribute("search-placeholder",e.searchPlaceholder)},[e.searchPlaceholder]),(0,t.useEffect)(()=>{e.error?n?.current?.setAttribute("error",e.error):n?.current?.removeAttribute("error")},[e.error]),(0,l.useEvent)(n,"load",e.onLoad,!0),(0,l.useEvent)(n,"init",e.onInit,!0),(0,l.useEvent)(n,"keyup",e.onKeyUp),(0,l.useEvent)(n,"change",e.onChange),(0,l.useEvent)(n,"input",e.onInput),t.default.createElement("jb-select",{style:e.style?e.style:void 0,class:e.className?e.className:"",label:e.label,ref:n,required:e.required||"false",name:e.name??void 0},e.children)});p.displayName="JBSelect";let b=t.default.forwardRef((e,r)=>{let l=(0,t.useRef)(null),{value:n,children:u,className:a,...c}=e;return(0,t.useImperativeHandle)(r,()=>l?l.current:void 0,[l]),(0,t.useEffect)(()=>{l.current&&void 0!==n&&(l.current.value=n)},[n,l]),t.default.createElement("jb-option",{class:a,ref:l,...c},u)});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);
1
+ var e,t;e=this,t=function(e,t,r,l){"use strict";var u=Object.create,n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,i=(e,t,r,l)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var u,o=c(t),i=0,f=o.length;i<f;i++)u=o[i],s.call(e,u)||u===r||n(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(l=a(t,u))||l.enumerable});return e},f=(e,t,r)=>(r=null!=e?u(o(e)):{},i(!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})});d.displayName="JBOptionList";let p=t.default.forwardRef((e,r)=>{let u=(0,t.useRef)(null);return(0,t.useImperativeHandle)(r,()=>u?u.current:void 0,[u]),(0,l.useEvent)(u,"load",e.onLoad,!0),(0,l.useEvent)(u,"init",e.onInit,!0),(0,l.useEvent)(u,"keyup",e.onKeyUp),(0,l.useEvent)(u,"change",e.onChange),(0,l.useEvent)(u,"input",e.onInput),(0,t.useEffect)(()=>{null!==e.message&&void 0!==e.message?u.current?.setAttribute("message",e.message):u.current?.removeAttribute("message")},[e.message]),(0,t.useEffect)(()=>{u&&u.current&&(u.current.validation.list=e.validationList||[])},[e.validationList]),(0,t.useEffect)(()=>{null!==e.label&&void 0!==e.label?u.current?.setAttribute("label",e.label):u.current?.removeAttribute("label")},[e.label]),(0,t.useEffect)(()=>{null!==e.required&&void 0!==e.required?u.current?.setAttribute("required",""):u.current?.removeAttribute("required")},[e.required]),(0,t.useEffect)(()=>{null!==e.placeholder&&void 0!==e.placeholder&&u.current?.setAttribute("placeholder",e.placeholder)},[e.placeholder]),(0,t.useEffect)(()=>{null!==e.searchPlaceholder&&void 0!==e.searchPlaceholder&&u.current?.setAttribute("search-placeholder",e.searchPlaceholder)},[e.searchPlaceholder]),(0,t.useEffect)(()=>{e.error?u?.current?.setAttribute("error",e.error):u?.current?.removeAttribute("error")},[e.error]),(0,t.useEffect)(()=>{e.name?u?.current?.setAttribute("name",e.name||""):u?.current?.removeAttribute("name")},[e.name]),(0,t.useEffect)(()=>{u.current&&(u.current.value=e.value)},[e.value]),(0,t.useEffect)(()=>{"function"==typeof e.getSelectedValueDOM&&u.current&&u.current&&(u.current.callbacks.getSelectedValueDOM=e.getSelectedValueDOM)},[e.getSelectedValueDOM]),t.default.createElement("jb-select",{style:e.style?e.style:void 0,class:e.className?e.className:"",ref:u},e.children)});p.displayName="JBSelect";let b=t.default.forwardRef((e,r)=>{let l=(0,t.useRef)(null),{value:u,children:n,className:a,...c}=e;return(0,t.useImperativeHandle)(r,()=>l?l.current:void 0,[l]),(0,t.useEffect)(()=>{l.current&&void 0!==u&&(l.current.value=u)},[u,l]),t.default.createElement("jb-option",{class:a,ref:l,...c},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/JBSelect.tsx","../lib/JBOption.tsx"],"sourcesContent":["","","",""],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MACY,6BAAuB,cAAA,WAAqB,CAAA,OAAM,QAAO;CAkBrE,MAAO,UAAM,kBAAY,KAAG;AAC1B,gCAAgB,KAAkD,MAAK,UAAA,QAAA,UAAA,WAAA,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;;;;;;;;;;ACzCP,SAAU,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;;;;MClBqB,yBAAiB,cAAkB,WAAA,CAAA,OAAA,QAAA;CAsBxD,MAAO,UAAM,kBAAW,KAAM;CAC5B,MAAM,CAAA,gBAAuC,qBAAK,GAAA,oBAAA,EAAA;AAClD,gCAAO,KAAgB,MAAA,UAAA,QAAwB,UAAU,CAAC,GAAA,CAC1D,OAKA,EAAA;sBACE,MAAA;AACE,uBAAiB,iBAAA,EAAA;CACrB,GAAA,CACE,QAAG;sBAEH,MAAA;AACE,MAAA,QAAY,QAChB,SAAe,QAAA,QAAA,MAAA;KAGb,MAAA,KACD,EAAA;AACD,sBAAU,MAAG;AACX,aAAU,MAAO,uBAAmB,cAAY,QAAY,WAAA,QAAA,QAC1D,SAAQ,QAAO,UAAE,sBAA8B,MAAO;CAEzD,GAAE,CACH,MAAU;sBAEN,MAAA;AACF,MAAA,MAAA,YAAA,QAAA,MAAA,YAAA,UACE,SAAM,SAAa,aAAA,WAAA,MAAA,QAAA;WAGnB;AAEJ,sBAAU,MAAA;AACV,MAAA,MAAa,gBAAE,QAAA,MAAA,gBAAA,UACT,SAAM,SAAO,aAAA,eAAA,MAAA,YAAA;WAEV;sBAEP,MAAA;AACE,MAAA,MAAM,sBAAO,QAAA,MAAA,sBAAA,UACjB,SAAU,SAAc,aAAA,sBAAA,MAAA,kBAAA;CAMxB,GAAA,CAgBM,MAAC;;;;;;;;;;;;;;;;;;;MC3FG,yBAAuB,cAAA,WAAmB,CAAqC,OAAM,QAAO;CAgBxG,MAAO,UAAM,kBAAW,KAAM;CAC5B,MAAM,EAAA,OAAO,UAAwC,UAAK,GAAA,MAAA,GAAA;AAC1D,gCAAa,KAAS,MAAA,UAAc,QAAK,UAAQ,WAAA,CACjD,OAMA,EAAA;sBACM,MAAA;MACF,QAAQ,WAAQ,UAAa,UAC/B,SAAA,QAAA,QAAA;CAGF,GAAA,CAKA,OAOM"}
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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"}
@@ -4,6 +4,7 @@ import 'jb-select';
4
4
  // eslint-disable-next-line no-duplicate-imports
5
5
  import { JBSelectWebComponent } from 'jb-select';
6
6
  import { EventProps, useEvents } from './events-hook.js';
7
+ import { useJBSelectAttribute, type JBSelectAttributes } from './attributes-hook.js';
7
8
  export type JBSelectEventType<T> = T & {
8
9
  target: JBSelectWebComponent
9
10
  }
@@ -24,70 +25,29 @@ declare global {
24
25
  }
25
26
  }
26
27
  }
27
-
28
+ //TODO: use generic when using react19 ref
29
+ type TValue = any;
28
30
  export const JBSelect = React.forwardRef((props:Props, ref) => {
29
31
  const element = useRef<JBSelectWebComponent>(null);
30
- const [refChangeCount, refChangeCountSetter] = useState(0);
31
32
  useImperativeHandle(
32
33
  ref,
33
- () => (element ? element.current : {}),
34
+ () => (element ? element.current : undefined),
34
35
  [element],
35
36
  );
36
- useEffect(() => {
37
- refChangeCountSetter(refChangeCount + 1);
38
- }, [element.current]);
39
- useEffect(() => {
40
- if(element.current){
41
- element.current.value = props.value;
42
- }
43
- }, [props.value]);
44
- useEffect(() => {
45
- if (typeof props.getSelectedValueDOM == "function" && element.current && element.current) {
46
- element.current.callbacks.getSelectedValueDOM = props.getSelectedValueDOM;
47
- }
48
- }, [props.getSelectedValueDOM]);
49
- useEffect(() => {
50
- if (props.message !== null && props.message !== undefined ) {
51
- element.current?.setAttribute("message", props.message);
52
- }
53
- }, [props.message]);
54
- useEffect(() => {
55
- if (props.placeholder !== null && props.placeholder !== undefined) {
56
- element.current?.setAttribute("placeholder", props.placeholder);
57
- }
58
- }, [props.placeholder]);
59
- useEffect(() => {
60
- if (props.searchPlaceholder !== null && props.searchPlaceholder !== undefined) {
61
- element.current?.setAttribute("search-placeholder", props.searchPlaceholder);
62
- }
63
- }, [props.searchPlaceholder]);
64
- useEffect(() => {
65
- if (props.error) {
66
- element?.current?.setAttribute('error', props.error);
67
- } else {
68
- element?.current?.removeAttribute('error');
69
- }
70
- }, [props.error]);
37
+
38
+
71
39
  useEvents(element,props);
40
+ useJBSelectAttribute(element,props);
72
41
  return (
73
- <jb-select style={props.style?props.style:undefined} class={props.className?props.className:""} label={props.label} ref={element} required={props.required || 'false'} name={props.name??undefined}>
42
+ <jb-select style={props.style?props.style:undefined} class={props.className?props.className:""} ref={element}>
74
43
  {props.children}
75
44
  </jb-select>
76
45
  );
77
46
  });
78
47
 
79
- export type Props = EventProps & {
48
+ export type Props = EventProps & JBSelectAttributes<TValue> & {
80
49
  style?:CSSProperties,
81
- label?: string,
82
- getSelectedValueDOM?: (option:any)=>HTMLElement,
83
- value?: any,
84
- required?: boolean,
85
- message?: string,
86
- placeholder?: string,
87
- searchPlaceholder?: string,
88
50
  className?: string,
89
51
  children?:React.ReactNode,
90
- name?:string,
91
- error?:string,
92
52
  }
93
53
  JBSelect.displayName = 'JBSelect';
@@ -0,0 +1,82 @@
1
+ import { JBSelectWebComponent, type ValidationValue } from "jb-select";
2
+ import { type ValidationItem } from "jb-validation";
3
+ import { RefObject, useEffect } from "react";
4
+
5
+ export type JBSelectAttributes<TValue> = {
6
+ validationList?: ValidationItem<ValidationValue<TValue>>[],
7
+ name?: string,
8
+ label?: string,
9
+ error?: string,
10
+ value?: any,
11
+ message?: string,
12
+ placeholder?: string,
13
+ searchPlaceholder?: string,
14
+ required?: boolean,
15
+ getSelectedValueDOM?: (option: any) => HTMLElement,
16
+
17
+ }
18
+ export function useJBSelectAttribute<TValue>(element: RefObject<JBSelectWebComponent>, props: JBSelectAttributes<TValue>) {
19
+ useEffect(() => {
20
+ if (props.message !== null && props.message !== undefined) {
21
+ element.current?.setAttribute("message", props.message);
22
+ } else {
23
+ element.current?.removeAttribute("message");
24
+ }
25
+ }, [props.message]);
26
+ useEffect(() => {
27
+ if (element && element.current) {
28
+ element.current.validation.list = props.validationList || [];
29
+ }
30
+ }, [props.validationList]);
31
+ useEffect(() => {
32
+ if (props.label !== null && props.label !== undefined) {
33
+ element.current?.setAttribute("label", props.label);
34
+ } else {
35
+ element.current?.removeAttribute("label");
36
+ }
37
+ }, [props.label]);
38
+
39
+ useEffect(() => {
40
+ if (props.required !== null && props.required !== undefined) {
41
+ element.current?.setAttribute("required", "");
42
+ } else {
43
+ element.current?.removeAttribute("required");
44
+ }
45
+ }, [props.required]);
46
+
47
+ useEffect(() => {
48
+ if (props.placeholder !== null && props.placeholder !== undefined) {
49
+ element.current?.setAttribute("placeholder", props.placeholder);
50
+ }
51
+ }, [props.placeholder]);
52
+ useEffect(() => {
53
+ if (props.searchPlaceholder !== null && props.searchPlaceholder !== undefined) {
54
+ element.current?.setAttribute("search-placeholder", props.searchPlaceholder);
55
+ }
56
+ }, [props.searchPlaceholder]);
57
+ useEffect(() => {
58
+ if (props.error) {
59
+ element?.current?.setAttribute('error', props.error);
60
+ } else {
61
+ element?.current?.removeAttribute('error');
62
+ }
63
+ }, [props.error]);
64
+
65
+ useEffect(() => {
66
+ if (props.name) {
67
+ element?.current?.setAttribute('name', props.name || '');
68
+ } else {
69
+ element?.current?.removeAttribute('name');
70
+ }
71
+ }, [props.name]);
72
+ useEffect(() => {
73
+ if (element.current) {
74
+ element.current.value = props.value;
75
+ }
76
+ }, [props.value]);
77
+ useEffect(() => {
78
+ if (typeof props.getSelectedValueDOM == "function" && element.current && element.current) {
79
+ element.current.callbacks.getSelectedValueDOM = props.getSelectedValueDOM;
80
+ }
81
+ }, [props.getSelectedValueDOM]);
82
+ }