jb-core 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,10 +5,13 @@
5
5
  "removeComments": false,
6
6
  "sourceMap": true,
7
7
  "allowJs": true,
8
- "composite": true,
9
8
  "target": "ES2020",
9
+ "declaration": true,
10
+ "declarationMap":true,
11
+ "incremental": false
10
12
  },
11
13
  "exclude": [
14
+ "stories",
12
15
  "node_modules",
13
16
  "**/*.spec.ts",
14
17
  ]
@@ -11,10 +11,8 @@
11
11
  "allowJs": true,
12
12
  "target": "ES2020",
13
13
  "typeRoots" : ["../node_modules/@types", "./global.d.ts"],
14
- "composite": true,
15
14
  "declaration": true,
16
- "declarationDir": "./",
17
- "declarationMap": false,
15
+ "declarationMap": true,
18
16
  },
19
17
  "include": [
20
18
  "global.d.ts",
@@ -1 +1,2 @@
1
- export declare const isMobile: () => boolean;
1
+ export declare const isMobile: () => boolean;
2
+ //# sourceMappingURL=device-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-detection.d.ts","sourceRoot":"","sources":["../lib/device-detection.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,eAEpB,CAAC"}
package/dist/events.d.ts CHANGED
@@ -1,22 +1,23 @@
1
- /**
2
- * add type to event target for easier access to target
3
- */
4
- export type EventTypeWithTarget<TEvent, TTarget> = TEvent & {
5
- target: TTarget;
6
- };
7
- /**
8
- * this function will stop event from propagate even in capturing phase and will call handler only if event target is the element
9
- */
10
- export declare function listenAndSilentEvent<TEvent extends Event, TTarget>(element: TTarget, eventName: string, handler: (e: TEvent) => void, options?: AddEventListenerOptions): void;
11
- /**
12
- * create a keyboardEvent based on `e` value and replace them with initObj
13
- */
14
- export declare function createKeyboardEvent(eventName: string, e: KeyboardEvent, initObj: KeyboardEventInit): KeyboardEvent;
15
- /**
16
- * create a InputEvent based on `e` value and replace them with initObj
17
- */
18
- export declare function createInputEvent(eventName: string, e: InputEvent, initObj: InputEventInit): InputEvent;
19
- /**
20
- * create a InputEvent based on `e` value and replace them with initObj
21
- */
22
- export declare function createFocusEvent(eventName: string, e: FocusEvent, initObj: FocusEventInit): FocusEvent;
1
+ /**
2
+ * add type to event target for easier access to target
3
+ */
4
+ export type EventTypeWithTarget<TEvent, TTarget> = TEvent & {
5
+ target: TTarget;
6
+ };
7
+ /**
8
+ * this function will stop event from propagate even in capturing phase and will call handler only if event target is the element
9
+ */
10
+ export declare function listenAndSilentEvent<TEvent extends Event, TTarget>(element: TTarget, eventName: string, handler: (e: TEvent) => void, options?: AddEventListenerOptions): void;
11
+ /**
12
+ * create a keyboardEvent based on `e` value and replace them with initObj
13
+ */
14
+ export declare function createKeyboardEvent(eventName: string, e: KeyboardEvent, initObj: KeyboardEventInit): KeyboardEvent;
15
+ /**
16
+ * create a InputEvent based on `e` value and replace them with initObj
17
+ */
18
+ export declare function createInputEvent(eventName: string, e: InputEvent, initObj: InputEventInit): InputEvent;
19
+ /**
20
+ * create a InputEvent based on `e` value and replace them with initObj
21
+ */
22
+ export declare function createFocusEvent(eventName: string, e: FocusEvent, initObj: FocusEventInit): FocusEvent;
23
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../lib/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,GAAG;IAC1D,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AACF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAC,MAAM,KAAK,IAAI,EAAE,OAAO,GAAE,uBAA4B,QAQ1K;AACD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,iBAuBlG;AACD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,cAiBzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,cAazF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":[],"sources":["../lib/events.ts","../lib/device-detection.ts","../lib/persian-tools.ts"],"sourcesContent":["/**\r\n * add type to event target for easier access to target\r\n */\r\nexport type EventTypeWithTarget<TEvent, TTarget> = TEvent & {\r\n target: TTarget;\r\n};\r\n/**\r\n * this function will stop event from propagate even in capturing phase and will call handler only if event target is the element\r\n */\r\nexport function listenAndSilentEvent<TEvent extends Event, TTarget>(element: TTarget, eventName: string, handler: (e:TEvent) => void, options: AddEventListenerOptions = {}) {\r\n document.addEventListener(eventName, (e: TEvent) => {\r\n if (e.composedPath().includes(element as unknown as EventTarget)) {\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n handler(e);\r\n }\r\n },{capture:true,...options});\r\n}\r\n/**\r\n * create a keyboardEvent based on `e` value and replace them with initObj\r\n */\r\nexport function createKeyboardEvent(eventName: string, e: KeyboardEvent, initObj: KeyboardEventInit) {\r\n const initialObject: KeyboardEventInit = {\r\n altKey: e.altKey,\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n code: e.code,\r\n composed: e.composed,\r\n ctrlKey: e.ctrlKey,\r\n detail: e.detail,\r\n isComposing: e.isComposing,\r\n key: e.key,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n repeat: e.repeat,\r\n shiftKey: e.shiftKey,\r\n view: e.view,\r\n charCode: e.charCode,\r\n keyCode: e.keyCode,\r\n which: e.which,\r\n ...initObj\r\n };\r\n const event = new KeyboardEvent(eventName, initialObject);\r\n return event;\r\n}\r\n/**\r\n * create a InputEvent based on `e` value and replace them with initObj\r\n */\r\nexport function createInputEvent(eventName: string, e: InputEvent, initObj: InputEventInit) {\r\n const initialObject: InputEventInit = {\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n composed: e.composed,\r\n detail: e.detail,\r\n isComposing: e.isComposing,\r\n view: e.view,\r\n which: e.which,\r\n data: e.data,\r\n dataTransfer: e.dataTransfer,\r\n inputType: e.inputType,\r\n targetRanges: typeof e.getTargetRanges() == \"function\" ? e.getTargetRanges() : [],\r\n ...initObj\r\n };\r\n const event = new InputEvent(eventName, initialObject);\r\n return event;\r\n}\r\n\r\n/**\r\n * create a InputEvent based on `e` value and replace them with initObj\r\n */\r\nexport function createFocusEvent(eventName: string, e: FocusEvent, initObj: FocusEventInit) {\r\n const initialObject: FocusEventInit = {\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n composed: e.composed,\r\n detail: e.detail,\r\n view: e.view,\r\n which: e.which,\r\n relatedTarget: e.relatedTarget,\r\n ...initObj\r\n };\r\n const event = new FocusEvent(eventName, initialObject);\r\n return event;\r\n}","export const isMobile = ()=>{\r\n return /Mobi/i.test(window.navigator.userAgent);\r\n};","function faToEnDigits(input:string | number):string{\r\n if (typeof input !== \"string\"){\r\n return '';\r\n }\r\n const regex = /[۰-۹]/g;\r\n const result = input.replace(regex, function (w) {\r\n return String.fromCharCode(w.charCodeAt(0) - 1728);\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nfunction enToFaDigits(input:string | number):string{\r\n if (typeof input !== \"string\" && isNaN(input)){\r\n return '';\r\n }\r\n const regex = /[0-9]/g;\r\n const result = input.toString().replace(regex, function (w) {\r\n return String.fromCharCode(w.charCodeAt(0) + 1728);\r\n }\r\n );\r\n return result;\r\n}\r\nexport {enToFaDigits, faToEnDigits};"],"mappings":"sCAsEM,SAA2B,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,KAAM,EAAE,KACR,MAAO,EAAE,MACT,cAAe,EAAE,iBACd,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,2BAnCK,SAA2B,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,KAAM,EAAE,KACR,MAAO,EAAE,MACT,KAAM,EAAE,KACR,aAAc,EAAE,aAChB,UAAW,EAAE,UACb,aAA4C,mBAAvB,EAAE,kBAAkC,EAAE,kBAAoB,MAC5E,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,8BA5CK,SAA8B,EAAmB,EAAkB,GACvE,MAAM,EAAmC,CACvC,OAAQ,EAAE,OACV,QAAS,EAAE,QACX,WAAY,EAAE,WACd,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,IAAK,EAAE,IACP,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,SAAU,EAAE,SACZ,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,MAAO,EAAE,SACN,GAGL,OADc,IAAI,cAAc,EAAW,EAE5C,uBEhCD,SAAsB,GACpB,MAAqB,iBAAV,GAAsB,MAAM,GAC9B,GAGM,EAAM,WAAW,QADlB,UACiC,SAAU,GACvD,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,uBAtBD,SAAsB,GACpB,MAAqB,iBAAV,EACF,GAGM,EAAM,QADP,UACsB,SAAU,GAC5C,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,mBDVuB,IACf,QAAQ,KAAK,OAAO,UAAU,wCDQjC,SAA8D,EAAkB,EAAmB,EAA6B,EAAmC,CAAE,GACzK,SAAS,iBAAiB,GAAY,IAChC,EAAE,eAAe,SAAS,KAC5B,EAAE,kBACF,EAAE,2BACF,EAAQ,GACT,GACD,CAAC,SAAQ,KAAQ,GACpB"}
1
+ {"version":3,"file":"index.cjs.js","names":[],"sources":["../lib/events.ts","../lib/device-detection.ts","../lib/persian-tools.ts"],"sourcesContent":["","",""],"mappings":"sCAsEM,SAA2B,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,KAAM,EAAE,KACR,MAAO,EAAE,MACT,cAAe,EAAE,iBACd,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,2BAnCK,SAA2B,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,KAAM,EAAE,KACR,MAAO,EAAE,MACT,KAAM,EAAE,KACR,aAAc,EAAE,aAChB,UAAW,EAAE,UACb,aAA4C,mBAAvB,EAAE,kBAAkC,EAAE,kBAAoB,MAC5E,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,8BA5CK,SAA8B,EAAmB,EAAkB,GACvE,MAAM,EAAmC,CACvC,OAAQ,EAAE,OACV,QAAS,EAAE,QACX,WAAY,EAAE,WACd,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,IAAK,EAAE,IACP,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,SAAU,EAAE,SACZ,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,MAAO,EAAE,SACN,GAGL,OADc,IAAI,cAAc,EAAW,EAE5C,uBEhCD,SAAsB,GACpB,MAAqB,iBAAV,GAAsB,MAAM,GAC9B,GAGM,EAAM,WAAW,QADlB,UACiC,SAAU,GACvD,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,uBAtBD,SAAsB,GACpB,MAAqB,iBAAV,EACF,GAGM,EAAM,QADP,UACsB,SAAU,GAC5C,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,mBDVuB,IACf,QAAQ,KAAK,OAAO,UAAU,wCDQjC,SAA8D,EAAkB,EAAmB,EAA6B,EAAmC,CAAE,GACzK,SAAS,iBAAiB,GAAY,IAChC,EAAE,eAAe,SAAS,KAC5B,EAAE,kBACF,EAAE,2BACF,EAAQ,GACT,GACD,CAAC,SAAQ,KAAQ,GACpB"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export * from "./events.js";
2
- export * from "./device-detection.js";
3
- export * from "./persian-tools.js";
1
+ export * from "./events.js";
2
+ export * from "./device-detection.js";
3
+ export * from "./persian-tools.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../lib/events.ts","../lib/device-detection.ts","../lib/persian-tools.ts"],"sourcesContent":["/**\r\n * add type to event target for easier access to target\r\n */\r\nexport type EventTypeWithTarget<TEvent, TTarget> = TEvent & {\r\n target: TTarget;\r\n};\r\n/**\r\n * this function will stop event from propagate even in capturing phase and will call handler only if event target is the element\r\n */\r\nexport function listenAndSilentEvent<TEvent extends Event, TTarget>(element: TTarget, eventName: string, handler: (e:TEvent) => void, options: AddEventListenerOptions = {}) {\r\n document.addEventListener(eventName, (e: TEvent) => {\r\n if (e.composedPath().includes(element as unknown as EventTarget)) {\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n handler(e);\r\n }\r\n },{capture:true,...options});\r\n}\r\n/**\r\n * create a keyboardEvent based on `e` value and replace them with initObj\r\n */\r\nexport function createKeyboardEvent(eventName: string, e: KeyboardEvent, initObj: KeyboardEventInit) {\r\n const initialObject: KeyboardEventInit = {\r\n altKey: e.altKey,\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n code: e.code,\r\n composed: e.composed,\r\n ctrlKey: e.ctrlKey,\r\n detail: e.detail,\r\n isComposing: e.isComposing,\r\n key: e.key,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n repeat: e.repeat,\r\n shiftKey: e.shiftKey,\r\n view: e.view,\r\n charCode: e.charCode,\r\n keyCode: e.keyCode,\r\n which: e.which,\r\n ...initObj\r\n };\r\n const event = new KeyboardEvent(eventName, initialObject);\r\n return event;\r\n}\r\n/**\r\n * create a InputEvent based on `e` value and replace them with initObj\r\n */\r\nexport function createInputEvent(eventName: string, e: InputEvent, initObj: InputEventInit) {\r\n const initialObject: InputEventInit = {\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n composed: e.composed,\r\n detail: e.detail,\r\n isComposing: e.isComposing,\r\n view: e.view,\r\n which: e.which,\r\n data: e.data,\r\n dataTransfer: e.dataTransfer,\r\n inputType: e.inputType,\r\n targetRanges: typeof e.getTargetRanges() == \"function\" ? e.getTargetRanges() : [],\r\n ...initObj\r\n };\r\n const event = new InputEvent(eventName, initialObject);\r\n return event;\r\n}\r\n\r\n/**\r\n * create a InputEvent based on `e` value and replace them with initObj\r\n */\r\nexport function createFocusEvent(eventName: string, e: FocusEvent, initObj: FocusEventInit) {\r\n const initialObject: FocusEventInit = {\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n composed: e.composed,\r\n detail: e.detail,\r\n view: e.view,\r\n which: e.which,\r\n relatedTarget: e.relatedTarget,\r\n ...initObj\r\n };\r\n const event = new FocusEvent(eventName, initialObject);\r\n return event;\r\n}","export const isMobile = ()=>{\r\n return /Mobi/i.test(window.navigator.userAgent);\r\n};","function faToEnDigits(input:string | number):string{\r\n if (typeof input !== \"string\"){\r\n return '';\r\n }\r\n const regex = /[۰-۹]/g;\r\n const result = input.replace(regex, function (w) {\r\n return String.fromCharCode(w.charCodeAt(0) - 1728);\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nfunction enToFaDigits(input:string | number):string{\r\n if (typeof input !== \"string\" && isNaN(input)){\r\n return '';\r\n }\r\n const regex = /[0-9]/g;\r\n const result = input.toString().replace(regex, function (w) {\r\n return String.fromCharCode(w.charCodeAt(0) + 1728);\r\n }\r\n );\r\n return result;\r\n}\r\nexport {enToFaDigits, faToEnDigits};"],"mappings":"AASM,SAAU,EAAoD,EAAkB,EAAmB,EAA6B,EAAmC,CAAE,GACzK,SAAS,iBAAiB,GAAY,IAChC,EAAE,eAAe,SAAS,KAC5B,EAAE,kBACF,EAAE,2BACF,EAAQ,GACT,GACD,CAAC,SAAQ,KAAQ,GACpB,CAIK,SAAU,EAAoB,EAAmB,EAAkB,GACvE,MAAM,EAAmC,CACvC,OAAQ,EAAE,OACV,QAAS,EAAE,QACX,WAAY,EAAE,WACd,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,IAAK,EAAE,IACP,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,SAAU,EAAE,SACZ,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,MAAO,EAAE,SACN,GAGL,OADc,IAAI,cAAc,EAAW,EAE5C,CAIK,SAAU,EAAiB,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,KAAM,EAAE,KACR,MAAO,EAAE,MACT,KAAM,EAAE,KACR,aAAc,EAAE,aAChB,UAAW,EAAE,UACb,aAA4C,mBAAvB,EAAE,kBAAkC,EAAE,kBAAoB,MAC5E,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,CAKK,SAAU,EAAiB,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,KAAM,EAAE,KACR,MAAO,EAAE,MACT,cAAe,EAAE,iBACd,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,OCnFY,EAAW,IACf,QAAQ,KAAK,OAAO,UAAU,WCDvC,SAAS,EAAa,GACpB,GAAqB,iBAAV,EACT,MAAO,GAOT,OAJe,EAAM,QADP,UACsB,SAAU,GAC5C,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,CAED,SAAS,EAAa,GACpB,GAAqB,iBAAV,GAAsB,MAAM,GACrC,MAAO,GAOT,OAJe,EAAM,WAAW,QADlB,UACiC,SAAU,GACvD,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../lib/events.ts","../lib/device-detection.ts","../lib/persian-tools.ts"],"sourcesContent":["","",""],"mappings":"AASM,SAAU,EAAoD,EAAkB,EAAmB,EAA6B,EAAmC,CAAE,GACzK,SAAS,iBAAiB,GAAY,IAChC,EAAE,eAAe,SAAS,KAC5B,EAAE,kBACF,EAAE,2BACF,EAAQ,GACT,GACD,CAAC,SAAQ,KAAQ,GACpB,CAIK,SAAU,EAAoB,EAAmB,EAAkB,GACvE,MAAM,EAAmC,CACvC,OAAQ,EAAE,OACV,QAAS,EAAE,QACX,WAAY,EAAE,WACd,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,IAAK,EAAE,IACP,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,SAAU,EAAE,SACZ,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,MAAO,EAAE,SACN,GAGL,OADc,IAAI,cAAc,EAAW,EAE5C,CAIK,SAAU,EAAiB,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,KAAM,EAAE,KACR,MAAO,EAAE,MACT,KAAM,EAAE,KACR,aAAc,EAAE,aAChB,UAAW,EAAE,UACb,aAA4C,mBAAvB,EAAE,kBAAkC,EAAE,kBAAoB,MAC5E,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,CAKK,SAAU,EAAiB,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,KAAM,EAAE,KACR,MAAO,EAAE,MACT,cAAe,EAAE,iBACd,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,OCnFY,EAAW,IACf,QAAQ,KAAK,OAAO,UAAU,WCDvC,SAAS,EAAa,GACpB,GAAqB,iBAAV,EACT,MAAO,GAOT,OAJe,EAAM,QADP,UACsB,SAAU,GAC5C,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,CAED,SAAS,EAAa,GACpB,GAAqB,iBAAV,GAAsB,MAAM,GACrC,MAAO,GAOT,OAJe,EAAM,WAAW,QADlB,UACiC,SAAU,GACvD,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","names":[],"sources":["../lib/events.ts","../lib/device-detection.ts","../lib/persian-tools.ts"],"sourcesContent":["/**\r\n * add type to event target for easier access to target\r\n */\r\nexport type EventTypeWithTarget<TEvent, TTarget> = TEvent & {\r\n target: TTarget;\r\n};\r\n/**\r\n * this function will stop event from propagate even in capturing phase and will call handler only if event target is the element\r\n */\r\nexport function listenAndSilentEvent<TEvent extends Event, TTarget>(element: TTarget, eventName: string, handler: (e:TEvent) => void, options: AddEventListenerOptions = {}) {\r\n document.addEventListener(eventName, (e: TEvent) => {\r\n if (e.composedPath().includes(element as unknown as EventTarget)) {\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n handler(e);\r\n }\r\n },{capture:true,...options});\r\n}\r\n/**\r\n * create a keyboardEvent based on `e` value and replace them with initObj\r\n */\r\nexport function createKeyboardEvent(eventName: string, e: KeyboardEvent, initObj: KeyboardEventInit) {\r\n const initialObject: KeyboardEventInit = {\r\n altKey: e.altKey,\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n code: e.code,\r\n composed: e.composed,\r\n ctrlKey: e.ctrlKey,\r\n detail: e.detail,\r\n isComposing: e.isComposing,\r\n key: e.key,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n repeat: e.repeat,\r\n shiftKey: e.shiftKey,\r\n view: e.view,\r\n charCode: e.charCode,\r\n keyCode: e.keyCode,\r\n which: e.which,\r\n ...initObj\r\n };\r\n const event = new KeyboardEvent(eventName, initialObject);\r\n return event;\r\n}\r\n/**\r\n * create a InputEvent based on `e` value and replace them with initObj\r\n */\r\nexport function createInputEvent(eventName: string, e: InputEvent, initObj: InputEventInit) {\r\n const initialObject: InputEventInit = {\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n composed: e.composed,\r\n detail: e.detail,\r\n isComposing: e.isComposing,\r\n view: e.view,\r\n which: e.which,\r\n data: e.data,\r\n dataTransfer: e.dataTransfer,\r\n inputType: e.inputType,\r\n targetRanges: typeof e.getTargetRanges() == \"function\" ? e.getTargetRanges() : [],\r\n ...initObj\r\n };\r\n const event = new InputEvent(eventName, initialObject);\r\n return event;\r\n}\r\n\r\n/**\r\n * create a InputEvent based on `e` value and replace them with initObj\r\n */\r\nexport function createFocusEvent(eventName: string, e: FocusEvent, initObj: FocusEventInit) {\r\n const initialObject: FocusEventInit = {\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n composed: e.composed,\r\n detail: e.detail,\r\n view: e.view,\r\n which: e.which,\r\n relatedTarget: e.relatedTarget,\r\n ...initObj\r\n };\r\n const event = new FocusEvent(eventName, initialObject);\r\n return event;\r\n}","export const isMobile = ()=>{\r\n return /Mobi/i.test(window.navigator.userAgent);\r\n};","function faToEnDigits(input:string | number):string{\r\n if (typeof input !== \"string\"){\r\n return '';\r\n }\r\n const regex = /[۰-۹]/g;\r\n const result = input.replace(regex, function (w) {\r\n return String.fromCharCode(w.charCodeAt(0) - 1728);\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nfunction enToFaDigits(input:string | number):string{\r\n if (typeof input !== \"string\" && isNaN(input)){\r\n return '';\r\n }\r\n const regex = /[0-9]/g;\r\n const result = input.toString().replace(regex, function (w) {\r\n return String.fromCharCode(w.charCodeAt(0) + 1728);\r\n }\r\n );\r\n return result;\r\n}\r\nexport {enToFaDigits, faToEnDigits};"],"mappings":"iQAsEM,SAA2B,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,KAAM,EAAE,KACR,MAAO,EAAE,MACT,cAAe,EAAE,iBACd,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,qBAnCK,SAA2B,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,KAAM,EAAE,KACR,MAAO,EAAE,MACT,KAAM,EAAE,KACR,aAAc,EAAE,aAChB,UAAW,EAAE,UACb,aAA4C,mBAAvB,EAAE,kBAAkC,EAAE,kBAAoB,MAC5E,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,wBA5CK,SAA8B,EAAmB,EAAkB,GACvE,MAAM,EAAmC,CACvC,OAAQ,EAAE,OACV,QAAS,EAAE,QACX,WAAY,EAAE,WACd,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,IAAK,EAAE,IACP,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,SAAU,EAAE,SACZ,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,MAAO,EAAE,SACN,GAGL,OADc,IAAI,cAAc,EAAW,EAE5C,iBEhCD,SAAsB,GACpB,MAAqB,iBAAV,GAAsB,MAAM,GAC9B,GAGM,EAAM,WAAW,QADlB,UACiC,SAAU,GACvD,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,iBAtBD,SAAsB,GACpB,MAAqB,iBAAV,EACF,GAGM,EAAM,QADP,UACsB,SAAU,GAC5C,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,aDVuB,IACf,QAAQ,KAAK,OAAO,UAAU,kCDQjC,SAA8D,EAAkB,EAAmB,EAA6B,EAAmC,CAAE,GACzK,SAAS,iBAAiB,GAAY,IAChC,EAAE,eAAe,SAAS,KAC5B,EAAE,kBACF,EAAE,2BACF,EAAQ,GACT,GACD,CAAC,SAAQ,KAAQ,GACpB"}
1
+ {"version":3,"file":"index.umd.js","names":[],"sources":["../lib/events.ts","../lib/device-detection.ts","../lib/persian-tools.ts"],"sourcesContent":["","",""],"mappings":"iQAsEM,SAA2B,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,KAAM,EAAE,KACR,MAAO,EAAE,MACT,cAAe,EAAE,iBACd,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,qBAnCK,SAA2B,EAAmB,EAAe,GACjE,MAAM,EAAgC,CACpC,QAAS,EAAE,QACX,WAAY,EAAE,WACd,SAAU,EAAE,SACZ,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,KAAM,EAAE,KACR,MAAO,EAAE,MACT,KAAM,EAAE,KACR,aAAc,EAAE,aAChB,UAAW,EAAE,UACb,aAA4C,mBAAvB,EAAE,kBAAkC,EAAE,kBAAoB,MAC5E,GAGL,OADc,IAAI,WAAW,EAAW,EAEzC,wBA5CK,SAA8B,EAAmB,EAAkB,GACvE,MAAM,EAAmC,CACvC,OAAQ,EAAE,OACV,QAAS,EAAE,QACX,WAAY,EAAE,WACd,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,YAAa,EAAE,YACf,IAAK,EAAE,IACP,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,OAAQ,EAAE,OACV,SAAU,EAAE,SACZ,KAAM,EAAE,KACR,SAAU,EAAE,SACZ,QAAS,EAAE,QACX,MAAO,EAAE,SACN,GAGL,OADc,IAAI,cAAc,EAAW,EAE5C,iBEhCD,SAAsB,GACpB,MAAqB,iBAAV,GAAsB,MAAM,GAC9B,GAGM,EAAM,WAAW,QADlB,UACiC,SAAU,GACvD,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,iBAtBD,SAAsB,GACpB,MAAqB,iBAAV,EACF,GAGM,EAAM,QADP,UACsB,SAAU,GAC5C,OAAO,OAAO,aAAa,EAAE,WAAW,GAAK,KAC9C,GAGF,aDVuB,IACf,QAAQ,KAAK,OAAO,UAAU,kCDQjC,SAA8D,EAAkB,EAAmB,EAA6B,EAAmC,CAAE,GACzK,SAAS,iBAAiB,GAAY,IAChC,EAAE,eAAe,SAAS,KAC5B,EAAE,kBACF,EAAE,2BACF,EAAQ,GACT,GACD,CAAC,SAAQ,KAAQ,GACpB"}
@@ -1,3 +1,4 @@
1
- declare function faToEnDigits(input: string | number): string;
2
- declare function enToFaDigits(input: string | number): string;
3
- export { enToFaDigits, faToEnDigits };
1
+ declare function faToEnDigits(input: string | number): string;
2
+ declare function enToFaDigits(input: string | number): string;
3
+ export { enToFaDigits, faToEnDigits };
4
+ //# sourceMappingURL=persian-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persian-tools.d.ts","sourceRoot":"","sources":["../lib/persian-tools.ts"],"names":[],"mappings":"AAAA,iBAAS,YAAY,CAAC,KAAK,EAAC,MAAM,GAAG,MAAM,GAAE,MAAM,CAUlD;AAED,iBAAS,YAAY,CAAC,KAAK,EAAC,MAAM,GAAG,MAAM,GAAE,MAAM,CAUlD;AACD,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC"}
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "react component",
15
15
  "event"
16
16
  ],
17
- "version": "0.4.0",
17
+ "version": "0.5.0",
18
18
  "bugs": "https://github.com/javadbat/jb-core/issues",
19
19
  "license": "MIT",
20
20
  "files": [
@@ -24,6 +24,7 @@
24
24
  "dist/",
25
25
  "styles/",
26
26
  "configs/",
27
+ "theme/",
27
28
  "react/",
28
29
  "react/dist/"
29
30
  ],
@@ -1,3 +1,3 @@
1
- export * from './use-event.js';
2
- export * from './useInstance.js';
3
- export * from './useLazyRef.js';
1
+ export * from './use-event.js';
2
+ export * from './useInstance.js';
3
+ export * from './useLazyRef.js';
@@ -1 +1 @@
1
- export declare function useEvent<TRef extends React.MutableRefObject<any | null>, TEvent>(ref: TRef, event: string, handler?: (e: TEvent) => void, passive?: boolean): void;
1
+ export declare function useEvent<TRef extends React.MutableRefObject<any | null>, TEvent>(ref: TRef, event: string, handler?: (e: TEvent) => void, passive?: boolean): void;
@@ -1,10 +1,10 @@
1
- type BaseConstructableClass<T = any> = new (...args: any[]) => T;
2
- type Initializers<T extends BaseConstructableClass> = ConstructorParameters<T>;
3
- /**
4
- * create a instance of an class with lazy initialization
5
- * @param Store class to create instance of
6
- * @param initializers initializers to pass to the class constructor
7
- * @returns instance of the class
8
- */
9
- export declare const useInstance: <T extends BaseConstructableClass<any>>(Store: T, initializers: ConstructorParameters<T>) => InstanceType<T>;
10
- export {};
1
+ type BaseConstructableClass<T = any> = new (...args: any[]) => T;
2
+ type Initializers<T extends BaseConstructableClass> = ConstructorParameters<T>;
3
+ /**
4
+ * create a instance of an class with lazy initialization
5
+ * @param Store class to create instance of
6
+ * @param initializers initializers to pass to the class constructor
7
+ * @returns instance of the class
8
+ */
9
+ export declare const useInstance: <T extends BaseConstructableClass>(Store: T, initializers: Initializers<T>) => InstanceType<T>;
10
+ export {};
@@ -1,4 +1,4 @@
1
- import { MutableRefObject } from "react";
2
- type InitFunc<T> = () => T;
3
- export declare const useLazyRef: <T>(initValFunc: InitFunc<T>) => MutableRefObject<any>;
4
- export {};
1
+ import { MutableRefObject } from "react";
2
+ type InitFunc<T> = () => T;
3
+ export declare const useLazyRef: <T>(initValFunc: InitFunc<T>) => MutableRefObject<any>;
4
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":[],"sources":["../lib/hooks/use-event.ts","../lib/hooks/useLazyRef.ts","../lib/hooks/useInstance.ts"],"sourcesContent":["import { useCallback, useEffect } from \"react\";\r\n\r\nexport function useEvent<TRef extends React.MutableRefObject<any|null>,TEvent>(ref:TRef, event:string, handler?:(e:TEvent)=>void, passive = false) {\r\n const internalHandler = useCallback((e:TEvent)=>{\r\n if(ref.current && typeof handler == \"function\"){\r\n handler(e);\r\n }\r\n },[ref,handler]);\r\n useEffect(() => {\r\n const dom = ref.current;\r\n if (dom) {\r\n // initiate the event handler\r\n dom.addEventListener(event, internalHandler, { passive, capture:false }); \r\n }\r\n // this will clean up the event every time the component is re-rendered\r\n return function cleanup() {\r\n if(dom){\r\n dom.removeEventListener(event, internalHandler, {passive, capture:false});\r\n }\r\n };\r\n },[ref,event,handler,passive]);\r\n}","import { MutableRefObject, useRef } from \"react\";\r\n\r\ntype InitFunc<T> = ()=>T\r\nexport const useLazyRef = <T>(initValFunc:InitFunc<T>) => {\r\n const ref:MutableRefObject<any> = useRef(null);\r\n if (ref.current === null) {\r\n ref.current = initValFunc();\r\n }\r\n return ref;\r\n};\r\n\r\n// used by: useMobx","import { useLazyRef } from \"./useLazyRef.js\";\r\n\r\n\r\ntype BaseConstructableClass<T = any> = new (...args: any[]) => T;\r\n\r\n// Type to get the constructor parameters of a class\r\ntype Initializers<T extends BaseConstructableClass> = ConstructorParameters<T>;\r\n\r\n// useInstance function that accepts a Store class and its initializers\r\n/**\r\n * create a instance of an class with lazy initialization\r\n * @param Store class to create instance of\r\n * @param initializers initializers to pass to the class constructor\r\n * @returns instance of the class\r\n */\r\nexport const useInstance = <T extends BaseConstructableClass>(Store: T, initializers: Initializers<T>): InstanceType<T> => {\r\n const vm = useLazyRef(() => new Store(...initializers));\r\n return vm.current;\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,SAAU,SAA+D,KAAU,OAAc,SAA2B,UAAU,OAAK;CAC/I,MAAM,kBAAkB,uBAAY,CAAC,MAAS;AAC5C,MAAG,IAAI,kBAAkB,WAAW,WAClC,SAAQ,EAAE;CAEb,GAAC,CACF,KACE;sBAEE,MAAA;QACA,MAAI,IAAA;MACL,IAED,KAAO,iBAAgB,OAAA,iBAAA;GAClB;GACD,SAAI;EACL,EAAA;AAGN,SAAA,SAAA,UAAA;;;;;;;;;;;;;;;;MClBY,aAAa,CAAI,gBAAyB;CACrD,MAAM,MAA4B,kBAAO,KAAK;AAC9C,KAAI,IAAI,YAAY,KAClB,KAAI,UAAU,aAAa;AAE7B,QAAO;AACR;;;;MCKE,cAAA,CAAA,OAAA,iBAAA;CACH,MAAO,KAAM,WAAW,MAAsC,IAAQ,MAAE,GAAA,cAAkD;AACxH,QAAM,GAAE"}
1
+ {"version":3,"file":"index.cjs.js","names":[],"sources":["../lib/hooks/use-event.ts","../lib/hooks/useLazyRef.ts","../lib/hooks/useInstance.ts"],"sourcesContent":["","",""],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,SAAU,SAA+D,KAAU,OAAc,SAA2B,UAAU,OAAK;CAC/I,MAAM,kBAAkB,uBAAY,CAAC,MAAS;AAC5C,MAAG,IAAI,kBAAkB,WAAW,WAClC,SAAQ,EAAE;CAEb,GAAC,CACF,KACE;sBAEE,MAAA;QACA,MAAI,IAAA;AACN,MAAA,IAEA,KAAO,iBAAgB,OAAA,iBAAA;GAClB;GACD,SAAI;EACN,EAAA;AAGN,SAAA,SAAA,UAAA;;;;;;;;;;;;;;;;MClBa,aAAa,CAAI,gBAAyB;CACrD,MAAM,MAA4B,kBAAO,KAAK;AAC9C,KAAI,IAAI,YAAY,KAClB,KAAI,UAAU,aAAa;AAE7B,QAAO;AACR;;;;;CCMD,MAAO,KAAM,WAAW,MAAsC,IAAQ,MAAE,GAAA,cAAkD;AACxH,QAAM,GAAE"}
@@ -1 +1 @@
1
- export * from './hooks/index.js';
1
+ export * from './hooks/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../lib/hooks/use-event.ts","../lib/hooks/useLazyRef.ts","../lib/hooks/useInstance.ts"],"sourcesContent":["import { useCallback, useEffect } from \"react\";\r\n\r\nexport function useEvent<TRef extends React.MutableRefObject<any|null>,TEvent>(ref:TRef, event:string, handler?:(e:TEvent)=>void, passive = false) {\r\n const internalHandler = useCallback((e:TEvent)=>{\r\n if(ref.current && typeof handler == \"function\"){\r\n handler(e);\r\n }\r\n },[ref,handler]);\r\n useEffect(() => {\r\n const dom = ref.current;\r\n if (dom) {\r\n // initiate the event handler\r\n dom.addEventListener(event, internalHandler, { passive, capture:false }); \r\n }\r\n // this will clean up the event every time the component is re-rendered\r\n return function cleanup() {\r\n if(dom){\r\n dom.removeEventListener(event, internalHandler, {passive, capture:false});\r\n }\r\n };\r\n },[ref,event,handler,passive]);\r\n}","import { MutableRefObject, useRef } from \"react\";\r\n\r\ntype InitFunc<T> = ()=>T\r\nexport const useLazyRef = <T>(initValFunc:InitFunc<T>) => {\r\n const ref:MutableRefObject<any> = useRef(null);\r\n if (ref.current === null) {\r\n ref.current = initValFunc();\r\n }\r\n return ref;\r\n};\r\n\r\n// used by: useMobx","import { useLazyRef } from \"./useLazyRef.js\";\r\n\r\n\r\ntype BaseConstructableClass<T = any> = new (...args: any[]) => T;\r\n\r\n// Type to get the constructor parameters of a class\r\ntype Initializers<T extends BaseConstructableClass> = ConstructorParameters<T>;\r\n\r\n// useInstance function that accepts a Store class and its initializers\r\n/**\r\n * create a instance of an class with lazy initialization\r\n * @param Store class to create instance of\r\n * @param initializers initializers to pass to the class constructor\r\n * @returns instance of the class\r\n */\r\nexport const useInstance = <T extends BaseConstructableClass>(Store: T, initializers: Initializers<T>): InstanceType<T> => {\r\n const vm = useLazyRef(() => new Store(...initializers));\r\n return vm.current;\r\n};\r\n"],"mappings":";;;AAEM,SAAU,SAA+D,KAAU,OAAc,SAA2B,UAAU,OAAK;CAC/I,MAAM,kBAAkB,YAAY,CAAC,MAAS;AAC5C,MAAG,IAAI,kBAAkB,WAAW,WAClC,SAAQ,EAAE;CAEb,GAAC,CACF,KACE;WAEE,MAAA;QACA,MAAI,IAAA;MACL,IAED,KAAO,iBAAgB,OAAA,iBAAA;GAClB;GACD,SAAI;EACL,EAAA;AAGN,SAAA,SAAA,UAAA;;;;;;;;;;;;;;;;MClBY,aAAa,CAAI,gBAAyB;CACrD,MAAM,MAA4B,OAAO,KAAK;AAC9C,KAAI,IAAI,YAAY,KAClB,KAAI,UAAU,aAAa;AAE7B,QAAO;AACR;;;;MCKE,cAAA,CAAA,OAAA,iBAAA;CACH,MAAO,KAAM,WAAW,MAAsC,IAAQ,MAAE,GAAA,cAAkD;AACxH,QAAM,GAAE"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../lib/hooks/use-event.ts","../lib/hooks/useLazyRef.ts","../lib/hooks/useInstance.ts"],"sourcesContent":["","",""],"mappings":";;;AAEM,SAAU,SAA+D,KAAU,OAAc,SAA2B,UAAU,OAAK;CAC/I,MAAM,kBAAkB,YAAY,CAAC,MAAS;AAC5C,MAAG,IAAI,kBAAkB,WAAW,WAClC,SAAQ,EAAE;CAEb,GAAC,CACF,KACE;WAEE,MAAA;QACA,MAAI,IAAA;AACN,MAAA,IAEA,KAAO,iBAAgB,OAAA,iBAAA;GAClB;GACD,SAAI;EACN,EAAA;AAGN,SAAA,SAAA,UAAA;;;;;;;;;;;;;;;;MClBa,aAAa,CAAI,gBAAyB;CACrD,MAAM,MAA4B,OAAO,KAAK;AAC9C,KAAI,IAAI,YAAY,KAClB,KAAI,UAAU,aAAa;AAE7B,QAAO;AACR;;;;;CCMD,MAAO,KAAM,WAAW,MAAsC,IAAQ,MAAE,GAAA,cAAkD;AACxH,QAAM,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","names":[],"sources":["../lib/hooks/use-event.ts","../lib/hooks/useLazyRef.ts","../lib/hooks/useInstance.ts"],"sourcesContent":["import { useCallback, useEffect } from \"react\";\r\n\r\nexport function useEvent<TRef extends React.MutableRefObject<any|null>,TEvent>(ref:TRef, event:string, handler?:(e:TEvent)=>void, passive = false) {\r\n const internalHandler = useCallback((e:TEvent)=>{\r\n if(ref.current && typeof handler == \"function\"){\r\n handler(e);\r\n }\r\n },[ref,handler]);\r\n useEffect(() => {\r\n const dom = ref.current;\r\n if (dom) {\r\n // initiate the event handler\r\n dom.addEventListener(event, internalHandler, { passive, capture:false }); \r\n }\r\n // this will clean up the event every time the component is re-rendered\r\n return function cleanup() {\r\n if(dom){\r\n dom.removeEventListener(event, internalHandler, {passive, capture:false});\r\n }\r\n };\r\n },[ref,event,handler,passive]);\r\n}","import { MutableRefObject, useRef } from \"react\";\r\n\r\ntype InitFunc<T> = ()=>T\r\nexport const useLazyRef = <T>(initValFunc:InitFunc<T>) => {\r\n const ref:MutableRefObject<any> = useRef(null);\r\n if (ref.current === null) {\r\n ref.current = initValFunc();\r\n }\r\n return ref;\r\n};\r\n\r\n// used by: useMobx","import { useLazyRef } from \"./useLazyRef.js\";\r\n\r\n\r\ntype BaseConstructableClass<T = any> = new (...args: any[]) => T;\r\n\r\n// Type to get the constructor parameters of a class\r\ntype Initializers<T extends BaseConstructableClass> = ConstructorParameters<T>;\r\n\r\n// useInstance function that accepts a Store class and its initializers\r\n/**\r\n * create a instance of an class with lazy initialization\r\n * @param Store class to create instance of\r\n * @param initializers initializers to pass to the class constructor\r\n * @returns instance of the class\r\n */\r\nexport const useInstance = <T extends BaseConstructableClass>(Store: T, initializers: Initializers<T>): InstanceType<T> => {\r\n const vm = useLazyRef(() => new Store(...initializers));\r\n return vm.current;\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,SAAU,SAA+D,KAAU,OAAc,SAA2B,UAAU,OAAK;CAC/I,MAAM,kBAAkB,uBAAY,CAAC,MAAS;AAC5C,MAAG,IAAI,kBAAkB,WAAW,WAClC,SAAQ,EAAE;CAEb,GAAC,CACF,KACE;sBAEE,MAAA;QACA,MAAI,IAAA;MACL,IAED,KAAO,iBAAgB,OAAA,iBAAA;GAClB;GACD,SAAI;EACL,EAAA;AAGN,SAAA,SAAA,UAAA;;;;;;;;;;;;;;;;MClBY,aAAa,CAAI,gBAAyB;CACrD,MAAM,MAA4B,kBAAO,KAAK;AAC9C,KAAI,IAAI,YAAY,KAClB,KAAI,UAAU,aAAa;AAE7B,QAAO;AACR;;;;MCKE,cAAA,CAAA,OAAA,iBAAA;CACH,MAAO,KAAM,WAAW,MAAsC,IAAQ,MAAE,GAAA,cAAkD;AACxH,QAAM,GAAE"}
1
+ {"version":3,"file":"index.umd.js","names":[],"sources":["../lib/hooks/use-event.ts","../lib/hooks/useLazyRef.ts","../lib/hooks/useInstance.ts"],"sourcesContent":["","",""],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,SAAU,SAA+D,KAAU,OAAc,SAA2B,UAAU,OAAK;CAC/I,MAAM,kBAAkB,uBAAY,CAAC,MAAS;AAC5C,MAAG,IAAI,kBAAkB,WAAW,WAClC,SAAQ,EAAE;CAEb,GAAC,CACF,KACE;sBAEE,MAAA;QACA,MAAI,IAAA;AACN,MAAA,IAEA,KAAO,iBAAgB,OAAA,iBAAA;GAClB;GACD,SAAI;EACN,EAAA;AAGN,SAAA,SAAA,UAAA;;;;;;;;;;;;;;;;MClBa,aAAa,CAAI,gBAAyB;CACrD,MAAM,MAA4B,kBAAO,KAAK;AAC9C,KAAI,IAAI,YAAY,KAClB,KAAI,UAAU,aAAa;AAE7B,QAAO;AACR;;;;;CCMD,MAAO,KAAM,WAAW,MAAsC,IAAQ,MAAE,GAAA,cAAkD;AACxH,QAAM,GAAE"}
@@ -2,6 +2,7 @@
2
2
  "compilerOptions": {
3
3
  "baseUrl": ".",
4
4
  "rootDir": "./lib",
5
+ "declarationDir": "./dist"
5
6
  },
6
7
  "include": [
7
8
  "lib/**/*.ts",
@@ -1,3 +1,4 @@
1
+ //this is a schema for colors do not use it in your code base we will remove it later when pallet is ready in theme folder
1
2
  root{
2
3
  //recommended by teammate
3
4
  --primary-c:blue,
@@ -0,0 +1,39 @@
1
+ export function defineColors() {
2
+ setColorProperty({
3
+ name: "--jb-primary",
4
+ syntax: "<color>",
5
+ inherits: true,
6
+ initialValue: "oklch(0.6 0.26 256)",
7
+ });
8
+ setColorProperty({
9
+ name: "--jb-neutral",
10
+ syntax: "<color>",
11
+ inherits: true,
12
+ initialValue: "oklch(0.18 0.014 258.36)",
13
+ });
14
+ setColorProperty({
15
+ name: "--jb-black",
16
+ syntax: "<color>",
17
+ inherits: true,
18
+ initialValue: "oklch(0.14 0 0)",
19
+ });
20
+ setColorProperty({
21
+ name: "--jb-white",
22
+ syntax: "<color>",
23
+ inherits: true,
24
+ initialValue: "oklch(1 0 0)",
25
+ });
26
+ }
27
+ function setColorProperty(value: PropertyDefinition) {
28
+ try {
29
+ window.CSS.registerProperty({
30
+ ...value
31
+ });
32
+ } catch (e) {
33
+ // if property is already defined
34
+ }
35
+ }
36
+ //
37
+ export function getNeutralColor(index: number) {
38
+ return `oklch(${(6 * (3+index*1.3))*0.01} ${(14+(index*0.09))*0.001} 258.36)`;
39
+ }
@@ -1 +0,0 @@
1
- export declare const isMobile: () => boolean;
@@ -1,22 +0,0 @@
1
- /**
2
- * add type to event target for easier access to target
3
- */
4
- export type EventTypeWithTarget<TEvent, TTarget> = TEvent & {
5
- target: TTarget;
6
- };
7
- /**
8
- * this function will stop event from propagate even in capturing phase and will call handler only if event target is the element
9
- */
10
- export declare function listenAndSilentEvent<TEvent extends Event, TTarget>(element: TTarget, eventName: string, handler: (e: TEvent) => void, options?: AddEventListenerOptions): void;
11
- /**
12
- * create a keyboardEvent based on `e` value and replace them with initObj
13
- */
14
- export declare function createKeyboardEvent(eventName: string, e: KeyboardEvent, initObj: KeyboardEventInit): KeyboardEvent;
15
- /**
16
- * create a InputEvent based on `e` value and replace them with initObj
17
- */
18
- export declare function createInputEvent(eventName: string, e: InputEvent, initObj: InputEventInit): InputEvent;
19
- /**
20
- * create a InputEvent based on `e` value and replace them with initObj
21
- */
22
- export declare function createFocusEvent(eventName: string, e: FocusEvent, initObj: FocusEventInit): FocusEvent;
@@ -1,3 +0,0 @@
1
- export * from "./events.js";
2
- export * from "./device-detection.js";
3
- export * from "./persian-tools.js";
@@ -1,3 +0,0 @@
1
- declare function faToEnDigits(input: string | number): string;
2
- declare function enToFaDigits(input: string | number): string;
3
- export { enToFaDigits, faToEnDigits };
@@ -1 +0,0 @@
1
- export declare const isMobile: () => boolean;
@@ -1,22 +0,0 @@
1
- /**
2
- * add type to event target for easier access to target
3
- */
4
- export type EventTypeWithTarget<TEvent, TTarget> = TEvent & {
5
- target: TTarget;
6
- };
7
- /**
8
- * this function will stop event from propagate even in capturing phase and will call handler only if event target is the element
9
- */
10
- export declare function listenAndSilentEvent<TEvent extends Event, TTarget>(element: TTarget, eventName: string, handler: (e: TEvent) => void, options?: AddEventListenerOptions): void;
11
- /**
12
- * create a keyboardEvent based on `e` value and replace them with initObj
13
- */
14
- export declare function createKeyboardEvent(eventName: string, e: KeyboardEvent, initObj: KeyboardEventInit): KeyboardEvent;
15
- /**
16
- * create a InputEvent based on `e` value and replace them with initObj
17
- */
18
- export declare function createInputEvent(eventName: string, e: InputEvent, initObj: InputEventInit): InputEvent;
19
- /**
20
- * create a InputEvent based on `e` value and replace them with initObj
21
- */
22
- export declare function createFocusEvent(eventName: string, e: FocusEvent, initObj: FocusEventInit): FocusEvent;
@@ -1,3 +0,0 @@
1
- export * from "./events.js";
2
- export * from "./device-detection.js";
3
- export * from "./persian-tools.js";
@@ -1,3 +0,0 @@
1
- declare function faToEnDigits(input: string | number): string;
2
- declare function enToFaDigits(input: string | number): string;
3
- export { enToFaDigits, faToEnDigits };
@@ -1,3 +0,0 @@
1
- declare function faToEnDigits(input: string | number): string;
2
- declare function enToFaDigits(input: string | number): string;
3
- export { enToFaDigits, faToEnDigits };