@descope/sdk-component-drivers 0.1.17 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/package.json +3 -3
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("tslib"),t=require("@descope/sdk-helpers");var s,r;class i{constructor(t,r){s.set(this,void 0),this.nodeName="",e.__classPrivateFieldSet(this,s,t,"f"),this.logger=r.logger}get asyncEle(){return(async(e,t)=>new Promise((s=>{const r=setInterval((()=>{const t="function"==typeof e?e():e;t&&(clearInterval(r),s(t))}),100);setTimeout((()=>{clearInterval(r),s(null)}),t)})))(e.__classPrivateFieldGet(this,s,"f"),1e3)}get ele(){var t,r;const i="function"==typeof e.__classPrivateFieldGet(this,s,"f")?e.__classPrivateFieldGet(this,s,"f").call(this):e.__classPrivateFieldGet(this,s,"f");return i?(null==i?void 0:i.localName)!==this.nodeName?(null===(r=this.logger)||void 0===r||r.debug(`node name do not match, expected "${this.nodeName}", received "${i.localName}" `,Error()),null):i:(null===(t=this.logger)||void 0===t||t.debug("no element for driver ",this.constructor.name,new Error),null)}}s=new WeakMap;const l=/^descope-grid-([^-]+)-column$/,n={text:class extends i{constructor(){super(...arguments),this.nodeName="descope-grid-text-column"}onSortDirectionChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("direction-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}},custom:class extends i{constructor(){super(...arguments),this.nodeName="descope-grid-custom-column"}onSortDirectionChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("direction-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}}};r=new WeakMap;var o;o=new WeakMap;exports.ButtonDriver=class extends i{constructor(){super(...arguments),this.nodeName="descope-button"}onClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("click",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("click",e)}}disable(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("disabled","true")}enable(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("disabled")}},exports.GridDriver=class extends i{constructor(){super(...arguments),this.nodeName="descope-grid",r.set(this,void 0)}onSelectedItemsChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("selected-items-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}get ele(){return super.ele}get data(){var e;return null===(e=this.ele)||void 0===e?void 0:e.data}set data(e){this.ele&&(this.ele.data=e)}get columns(){return this.ele?Array.from(this.ele.children).reduce(((e,t)=>{var s;const r=null===(s=l.exec(t.localName))||void 0===s?void 0:s[1],i=n[r];return i?(e.push(new i(t,{logger:this.logger})),e):e}),[]):[]}filterColumns(s){var i;const
|
|
1
|
+
"use strict";var e=require("tslib"),t=require("@descope/sdk-helpers");var s,r;class i{constructor(t,r){s.set(this,void 0),this.nodeName="",e.__classPrivateFieldSet(this,s,t,"f"),this.logger=r.logger}get asyncEle(){return(async(e,t)=>new Promise((s=>{const r=setInterval((()=>{const t="function"==typeof e?e():e;t&&(clearInterval(r),s(t))}),100);setTimeout((()=>{clearInterval(r),s(null)}),t)})))(e.__classPrivateFieldGet(this,s,"f"),1e3)}get ele(){var t,r;const i="function"==typeof e.__classPrivateFieldGet(this,s,"f")?e.__classPrivateFieldGet(this,s,"f").call(this):e.__classPrivateFieldGet(this,s,"f");return i?(null==i?void 0:i.localName)!==this.nodeName?(null===(r=this.logger)||void 0===r||r.debug(`node name do not match, expected "${this.nodeName}", received "${i.localName}" `,Error()),null):i:(null===(t=this.logger)||void 0===t||t.debug("no element for driver ",this.constructor.name,new Error),null)}}s=new WeakMap;const l=/^descope-grid-([^-]+)-column$/,n={text:class extends i{constructor(){super(...arguments),this.nodeName="descope-grid-text-column"}onSortDirectionChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("direction-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}},custom:class extends i{constructor(){super(...arguments),this.nodeName="descope-grid-custom-column"}onSortDirectionChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("direction-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}}};r=new WeakMap;var o;o=new WeakMap;exports.ButtonDriver=class extends i{constructor(){super(...arguments),this.nodeName="descope-button"}onClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("click",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("click",e)}}disable(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("disabled","true")}enable(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("disabled")}},exports.GridDriver=class extends i{constructor(){super(...arguments),this.nodeName="descope-grid",r.set(this,void 0)}onSelectedItemsChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("selected-items-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}get ele(){return super.ele}get data(){var e;return null===(e=this.ele)||void 0===e?void 0:e.data}set data(e){this.ele&&(this.ele.data=e)}get columns(){return this.ele?Array.from(this.ele.children).reduce(((e,t)=>{var s;const r=null===(s=l.exec(t.localName))||void 0===s?void 0:s[1],i=n[r];return i?(e.push(new i(t,{logger:this.logger})),e):e}),[]):[]}filterColumns(s){var i,l;const n=null===(i=this.ele.columns)||void 0===i?void 0:i.filter(s);t.compareArrays(n,this.ele.columns)||(this.ele.columns=n,null===(l=e.__classPrivateFieldGet(this,r,"f"))||void 0===l||l.call(this,n))}onColumnsChange(t){e.__classPrivateFieldSet(this,r,t,"f")}set renderColumn(e){this.ele.renderColumn=e}},exports.ModalDriver=class extends i{constructor(){super(...arguments),o.set(this,void 0),this.nodeName="descope-modal"}close(){var e,t;null===(e=this.ele)||void 0===e||e.removeAttribute("opened"),null===(t=this.afterClose)||void 0===t||t.call(this)}async open(){var e,t;await(null===(e=this.beforeOpen)||void 0===e?void 0:e.call(this)),null===(t=this.ele)||void 0===t||t.setAttribute("opened","true")}reset(){var t;this.ele&&(this.ele.innerHTML=""),e.__classPrivateFieldGet(this,o,"f")&&(null===(t=this.ele)||void 0===t||t.append(e.__classPrivateFieldGet(this,o,"f").content.cloneNode(!0)))}setContent(t){e.__classPrivateFieldSet(this,o,t,"f"),this.reset()}remove(){var e;null===(e=this.ele)||void 0===e||e.remove()}},exports.MultiSelectDriver=class extends i{constructor(){super(...arguments),this.nodeName="descope-multi-select-combo-box"}async setData(e){var t;null===(t=await this.asyncEle)||void 0===t||t.setAttribute("data",JSON.stringify(e.sort()))}},exports.NotificationDriver=class extends i{constructor(){super(...arguments),this.nodeName="descope-notification"}close(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("opened")}show(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("opened","true")}setContent(e){this.ele.innerHTML="",this.ele.appendChild(e.content.cloneNode(!0))}remove(){var e;null===(e=this.ele)||void 0===e||e.remove()}},exports.SingleSelectDriver=class extends i{constructor(){super(...arguments),this.nodeName="descope-combo-box"}async setData(e){var t;null===(t=await this.asyncEle)||void 0===t||t.setAttribute("data",JSON.stringify(e.sort()))}},exports.TextDriver=class extends i{constructor(){super(...arguments),this.nodeName="descope-text"}get ele(){return super.ele}get text(){var e;return null===(e=this.ele)||void 0===e?void 0:e.innerText}set text(e){this.ele&&(this.ele.innerText=e)}},exports.TextFieldDriver=class extends i{constructor(){super(...arguments),this.nodeName="descope-text-field"}onInput(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("input",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("input",e)}}get value(){var e;return null===(e=this.ele)||void 0===e?void 0:e.value}set value(e){this.ele&&(this.ele.value=e)}disable(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("disabled","true")}enable(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("disabled")}};
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/BaseDriver.ts","../../src/helpers.ts","../../src/gridDrivers/GridDriver.ts","../../src/gridDrivers/GridTextColumnDriver.ts","../../src/gridDrivers/GridCustomColumnDriver.ts","../../src/ButtonDriver.ts","../../src/ModalDriver.ts","../../src/MultiSelectDriver.ts","../../src/NotificationDriver.ts","../../src/SingleSelectDriver.ts","../../src/TextDriver.ts","../../src/TextFieldDriver.ts"],"sourcesContent":["import { waitForElement } from './helpers';\nimport { RefOrRefFn } from './types';\n\ntype Logger = {\n error(...data: any[]): void;\n warn(...data: any[]): void;\n info(...data: any[]): void;\n debug(...data: any[]): void;\n};\n\nexport class BaseDriver {\n #ele: RefOrRefFn;\n\n logger: Logger | undefined;\n\n // eslint-disable-next-line class-methods-use-this\n nodeName = '';\n\n constructor(refOrRefFn: RefOrRefFn, config: { logger: Logger }) {\n this.#ele = refOrRefFn;\n this.logger = config.logger;\n }\n\n get asyncEle() {\n return waitForElement(this.#ele, 1000);\n }\n\n get ele() {\n const ele = typeof this.#ele === 'function' ? this.#ele() : this.#ele;\n if (!ele) {\n this.logger?.debug(\n `no element for driver `,\n this.constructor.name,\n new Error(),\n );\n\n return null;\n }\n\n if (ele?.localName !== this.nodeName) {\n this.logger?.debug(\n `node name do not match, expected \"${this.nodeName}\", received \"${ele.localName}\" `,\n Error(),\n );\n\n return null;\n }\n\n return ele;\n }\n}\n","import { RefOrRefFn } from './types';\n\nexport const waitForElement = async (ele: RefOrRefFn, timeout: number) =>\n new Promise<Element | null>((resolve) => {\n const interval = setInterval(() => {\n const element = typeof ele === 'function' ? ele() : ele;\n if (element) {\n clearInterval(interval);\n resolve(element);\n }\n }, 100);\n setTimeout(() => {\n clearInterval(interval);\n resolve(null);\n }, timeout);\n });\n","import { compareArrays } from '@descope/sdk-helpers';\nimport { BaseDriver } from '../BaseDriver';\nimport { GridCustomColumnDriver } from './GridCustomColumnDriver';\nimport { GridTextColumnDriver } from './GridTextColumnDriver';\n\ntype Column = {\n path: string;\n header: string;\n type: string;\n attrs: Record<string, string>;\n};\n\nconst columnRegex = /^descope-grid-([^-]+)-column$/;\n\nconst driversMapping = {\n text: GridTextColumnDriver,\n custom: GridCustomColumnDriver,\n};\n\nexport class GridDriver<T extends any> extends BaseDriver {\n nodeName = 'descope-grid';\n #onColumnsChangeCb: (columns: typeof this.ele.columns) => void;\n\n onSelectedItemsChange(cb: (e: CustomEvent<{ value: T[] }>) => void) {\n this.ele?.addEventListener('selected-items-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n\n get ele() {\n return super.ele as Element & {\n data: T[];\n columns: Column[];\n renderColumn: ({ path, header, type, attrs }) => string;\n };\n }\n\n get data() {\n return this.ele?.data;\n }\n\n set data(data: T[]) {\n if (this.ele) this.ele.data = data;\n }\n\n get columns() {\n if (!this.ele) return [];\n return Array.from(this.ele.children).reduce((acc, child) => {\n const columnType = columnRegex.exec(child.localName)?.[1];\n const Driver = driversMapping[columnType];\n\n if (!Driver) return acc;\n\n acc.push(new Driver(child, { logger: this.logger }));\n\n return acc;\n }, []);\n }\n\n filterColumns(filterFn: (col: Column) => boolean) {\n const filteredColumns = this.ele.columns.filter(filterFn);\n if (!compareArrays(filteredColumns, this.ele.columns)) {\n this.ele.columns = filteredColumns;\n this.#onColumnsChangeCb?.(filteredColumns);\n }\n }\n\n onColumnsChange(cb: (columns: typeof this.ele.columns) => void) {\n this.#onColumnsChangeCb = cb;\n }\n\n set renderColumn(renderFn: ({ path, header, type, attrs }) => string) {\n this.ele.renderColumn = renderFn;\n }\n}\n","import { BaseDriver } from '../BaseDriver';\n\nexport class GridTextColumnDriver extends BaseDriver {\n nodeName = 'descope-grid-text-column';\n\n onSortDirectionChange(\n cb: (e: CustomEvent<{ value: 'asc' | 'desc' | null }>) => void,\n ) {\n this.ele?.addEventListener('direction-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n}\n","import { BaseDriver } from '../BaseDriver';\n\nexport class GridCustomColumnDriver extends BaseDriver {\n nodeName = 'descope-grid-custom-column';\n\n onSortDirectionChange(\n cb: (e: CustomEvent<{ value: 'asc' | 'desc' | null }>) => void,\n ) {\n this.ele?.addEventListener('direction-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class ButtonDriver extends BaseDriver {\n nodeName = 'descope-button';\n\n onClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('click', cb);\n\n return () => this.ele?.removeEventListener('click', cb);\n }\n\n disable() {\n this.ele?.setAttribute('disabled', 'true');\n }\n\n enable() {\n this.ele?.removeAttribute('disabled');\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class ModalDriver extends BaseDriver {\n #modalContent: HTMLTemplateElement;\n\n beforeOpen: undefined | (() => void | Promise<void>);\n\n afterClose: undefined | (() => void);\n\n nodeName = 'descope-modal';\n\n close() {\n this.ele?.removeAttribute('opened');\n this.afterClose?.();\n }\n\n async open() {\n await this.beforeOpen?.();\n this.ele?.setAttribute('opened', 'true');\n }\n\n reset() {\n if (this.ele) this.ele.innerHTML = '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.#modalContent &&\n this.ele?.append(this.#modalContent.content.cloneNode(true));\n }\n\n setContent(template: HTMLTemplateElement) {\n this.#modalContent = template;\n this.reset();\n }\n\n remove() {\n this.ele?.remove();\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class MultiSelectDriver extends BaseDriver {\n nodeName = 'descope-multi-select-combo-box';\n\n async setData(data: { label: string; value: string }[]) {\n (await this.asyncEle)?.setAttribute('data', JSON.stringify(data.sort()));\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class NotificationDriver extends BaseDriver {\n nodeName = 'descope-notification';\n\n close() {\n this.ele?.removeAttribute('opened');\n }\n\n show() {\n this.ele?.setAttribute('opened', 'true');\n }\n\n setContent(template: HTMLTemplateElement) {\n this.ele.innerHTML = '';\n this.ele.appendChild(template.content.cloneNode(true));\n }\n\n remove() {\n this.ele?.remove();\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class SingleSelectDriver extends BaseDriver {\n nodeName = 'descope-combo-box';\n\n async setData(data: { label: string; value: string }[]) {\n (await this.asyncEle)?.setAttribute('data', JSON.stringify(data.sort()));\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class TextDriver extends BaseDriver {\n nodeName = 'descope-text';\n\n get ele() {\n return super.ele as Element & { innerText: string };\n }\n\n get text() {\n return this.ele?.innerText;\n }\n\n set text(content: string) {\n if (this.ele) this.ele.innerText = content;\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class TextFieldDriver extends BaseDriver {\n nodeName = 'descope-text-field';\n\n onInput(cb: (e: InputEvent) => void) {\n this.ele?.addEventListener('input', cb);\n\n return () => this.ele?.removeEventListener('input', cb);\n }\n\n get value() {\n return (<HTMLInputElement>this.ele)?.value;\n }\n\n set value(value: string) {\n if (this.ele) {\n (<HTMLInputElement>this.ele).value = value;\n }\n }\n\n disable() {\n this.ele?.setAttribute('disabled', 'true');\n }\n\n enable() {\n this.ele?.removeAttribute('disabled');\n }\n}\n"],"names":["BaseDriver","constructor","refOrRefFn","config","_BaseDriver_ele","set","this","nodeName","__classPrivateFieldSet","logger","asyncEle","async","ele","timeout","Promise","resolve","interval","setInterval","element","clearInterval","setTimeout","waitForElement","__classPrivateFieldGet","call","localName","_b","debug","Error","_a","name","columnRegex","driversMapping","text","onSortDirectionChange","cb","addEventListener","removeEventListener","custom","onClick","disable","setAttribute","enable","removeAttribute","_GridDriver_onColumnsChangeCb","onSelectedItemsChange","super","data","columns","Array","from","children","reduce","acc","child","columnType","exec","Driver","push","filterColumns","filterFn","filteredColumns","filter","compareArrays","onColumnsChange","renderColumn","renderFn","_ModalDriver_modalContent","close","afterClose","beforeOpen","reset","innerHTML","append","content","cloneNode","setContent","template","remove","JSON","stringify","sort","show","appendChild","innerText","onInput","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/BaseDriver.ts","../../src/helpers.ts","../../src/gridDrivers/GridDriver.ts","../../src/gridDrivers/GridTextColumnDriver.ts","../../src/gridDrivers/GridCustomColumnDriver.ts","../../src/ButtonDriver.ts","../../src/ModalDriver.ts","../../src/MultiSelectDriver.ts","../../src/NotificationDriver.ts","../../src/SingleSelectDriver.ts","../../src/TextDriver.ts","../../src/TextFieldDriver.ts"],"sourcesContent":["import { waitForElement } from './helpers';\nimport { RefOrRefFn } from './types';\n\ntype Logger = {\n error(...data: any[]): void;\n warn(...data: any[]): void;\n info(...data: any[]): void;\n debug(...data: any[]): void;\n};\n\nexport class BaseDriver {\n #ele: RefOrRefFn;\n\n logger: Logger | undefined;\n\n // eslint-disable-next-line class-methods-use-this\n nodeName = '';\n\n constructor(refOrRefFn: RefOrRefFn, config: { logger: Logger }) {\n this.#ele = refOrRefFn;\n this.logger = config.logger;\n }\n\n get asyncEle() {\n return waitForElement(this.#ele, 1000);\n }\n\n get ele() {\n const ele = typeof this.#ele === 'function' ? this.#ele() : this.#ele;\n if (!ele) {\n this.logger?.debug(\n `no element for driver `,\n this.constructor.name,\n new Error(),\n );\n\n return null;\n }\n\n if (ele?.localName !== this.nodeName) {\n this.logger?.debug(\n `node name do not match, expected \"${this.nodeName}\", received \"${ele.localName}\" `,\n Error(),\n );\n\n return null;\n }\n\n return ele;\n }\n}\n","import { RefOrRefFn } from './types';\n\nexport const waitForElement = async (ele: RefOrRefFn, timeout: number) =>\n new Promise<Element | null>((resolve) => {\n const interval = setInterval(() => {\n const element = typeof ele === 'function' ? ele() : ele;\n if (element) {\n clearInterval(interval);\n resolve(element);\n }\n }, 100);\n setTimeout(() => {\n clearInterval(interval);\n resolve(null);\n }, timeout);\n });\n","import { compareArrays } from '@descope/sdk-helpers';\nimport { BaseDriver } from '../BaseDriver';\nimport { GridCustomColumnDriver } from './GridCustomColumnDriver';\nimport { GridTextColumnDriver } from './GridTextColumnDriver';\n\ntype Column = {\n path: string;\n header: string;\n type: string;\n attrs: Record<string, string>;\n};\n\nconst columnRegex = /^descope-grid-([^-]+)-column$/;\n\nconst driversMapping = {\n text: GridTextColumnDriver,\n custom: GridCustomColumnDriver,\n};\n\nexport class GridDriver<T extends any> extends BaseDriver {\n nodeName = 'descope-grid';\n #onColumnsChangeCb: (columns: typeof this.ele.columns) => void;\n\n onSelectedItemsChange(cb: (e: CustomEvent<{ value: T[] }>) => void) {\n this.ele?.addEventListener('selected-items-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n\n get ele() {\n return super.ele as Element & {\n data: T[];\n columns: Column[];\n renderColumn: ({ path, header, type, attrs }) => string;\n };\n }\n\n get data() {\n return this.ele?.data;\n }\n\n set data(data: T[]) {\n if (this.ele) this.ele.data = data;\n }\n\n get columns() {\n if (!this.ele) return [];\n return Array.from(this.ele.children).reduce((acc, child) => {\n const columnType = columnRegex.exec(child.localName)?.[1];\n const Driver = driversMapping[columnType];\n\n if (!Driver) return acc;\n\n acc.push(new Driver(child, { logger: this.logger }));\n\n return acc;\n }, []);\n }\n\n filterColumns(filterFn: (col: Column) => boolean) {\n const filteredColumns = this.ele.columns?.filter(filterFn);\n if (!compareArrays(filteredColumns, this.ele.columns)) {\n this.ele.columns = filteredColumns;\n this.#onColumnsChangeCb?.(filteredColumns);\n }\n }\n\n onColumnsChange(cb: (columns: typeof this.ele.columns) => void) {\n this.#onColumnsChangeCb = cb;\n }\n\n set renderColumn(renderFn: ({ path, header, type, attrs }) => string) {\n this.ele.renderColumn = renderFn;\n }\n}\n","import { BaseDriver } from '../BaseDriver';\n\nexport class GridTextColumnDriver extends BaseDriver {\n nodeName = 'descope-grid-text-column';\n\n onSortDirectionChange(\n cb: (e: CustomEvent<{ value: 'asc' | 'desc' | null }>) => void,\n ) {\n this.ele?.addEventListener('direction-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n}\n","import { BaseDriver } from '../BaseDriver';\n\nexport class GridCustomColumnDriver extends BaseDriver {\n nodeName = 'descope-grid-custom-column';\n\n onSortDirectionChange(\n cb: (e: CustomEvent<{ value: 'asc' | 'desc' | null }>) => void,\n ) {\n this.ele?.addEventListener('direction-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class ButtonDriver extends BaseDriver {\n nodeName = 'descope-button';\n\n onClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('click', cb);\n\n return () => this.ele?.removeEventListener('click', cb);\n }\n\n disable() {\n this.ele?.setAttribute('disabled', 'true');\n }\n\n enable() {\n this.ele?.removeAttribute('disabled');\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class ModalDriver extends BaseDriver {\n #modalContent: HTMLTemplateElement;\n\n beforeOpen: undefined | (() => void | Promise<void>);\n\n afterClose: undefined | (() => void);\n\n nodeName = 'descope-modal';\n\n close() {\n this.ele?.removeAttribute('opened');\n this.afterClose?.();\n }\n\n async open() {\n await this.beforeOpen?.();\n this.ele?.setAttribute('opened', 'true');\n }\n\n reset() {\n if (this.ele) this.ele.innerHTML = '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.#modalContent &&\n this.ele?.append(this.#modalContent.content.cloneNode(true));\n }\n\n setContent(template: HTMLTemplateElement) {\n this.#modalContent = template;\n this.reset();\n }\n\n remove() {\n this.ele?.remove();\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class MultiSelectDriver extends BaseDriver {\n nodeName = 'descope-multi-select-combo-box';\n\n async setData(data: { label: string; value: string }[]) {\n (await this.asyncEle)?.setAttribute('data', JSON.stringify(data.sort()));\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class NotificationDriver extends BaseDriver {\n nodeName = 'descope-notification';\n\n close() {\n this.ele?.removeAttribute('opened');\n }\n\n show() {\n this.ele?.setAttribute('opened', 'true');\n }\n\n setContent(template: HTMLTemplateElement) {\n this.ele.innerHTML = '';\n this.ele.appendChild(template.content.cloneNode(true));\n }\n\n remove() {\n this.ele?.remove();\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class SingleSelectDriver extends BaseDriver {\n nodeName = 'descope-combo-box';\n\n async setData(data: { label: string; value: string }[]) {\n (await this.asyncEle)?.setAttribute('data', JSON.stringify(data.sort()));\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class TextDriver extends BaseDriver {\n nodeName = 'descope-text';\n\n get ele() {\n return super.ele as Element & { innerText: string };\n }\n\n get text() {\n return this.ele?.innerText;\n }\n\n set text(content: string) {\n if (this.ele) this.ele.innerText = content;\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class TextFieldDriver extends BaseDriver {\n nodeName = 'descope-text-field';\n\n onInput(cb: (e: InputEvent) => void) {\n this.ele?.addEventListener('input', cb);\n\n return () => this.ele?.removeEventListener('input', cb);\n }\n\n get value() {\n return (<HTMLInputElement>this.ele)?.value;\n }\n\n set value(value: string) {\n if (this.ele) {\n (<HTMLInputElement>this.ele).value = value;\n }\n }\n\n disable() {\n this.ele?.setAttribute('disabled', 'true');\n }\n\n enable() {\n this.ele?.removeAttribute('disabled');\n }\n}\n"],"names":["BaseDriver","constructor","refOrRefFn","config","_BaseDriver_ele","set","this","nodeName","__classPrivateFieldSet","logger","asyncEle","async","ele","timeout","Promise","resolve","interval","setInterval","element","clearInterval","setTimeout","waitForElement","__classPrivateFieldGet","call","localName","_b","debug","Error","_a","name","columnRegex","driversMapping","text","onSortDirectionChange","cb","addEventListener","removeEventListener","custom","onClick","disable","setAttribute","enable","removeAttribute","_GridDriver_onColumnsChangeCb","onSelectedItemsChange","super","data","columns","Array","from","children","reduce","acc","child","columnType","exec","Driver","push","filterColumns","filterFn","filteredColumns","filter","compareArrays","onColumnsChange","renderColumn","renderFn","_ModalDriver_modalContent","close","afterClose","beforeOpen","reset","innerHTML","append","content","cloneNode","setContent","template","remove","JSON","stringify","sort","show","appendChild","innerText","onInput","value"],"mappings":"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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__classPrivateFieldSet as e,__classPrivateFieldGet as t}from"tslib";import{compareArrays as s}from"@descope/sdk-helpers";var n,l;class
|
|
1
|
+
import{__classPrivateFieldSet as e,__classPrivateFieldGet as t}from"tslib";import{compareArrays as s}from"@descope/sdk-helpers";var n,l;class i{constructor(t,s){n.set(this,void 0),this.nodeName="",e(this,n,t,"f"),this.logger=s.logger}get asyncEle(){return(async(e,t)=>new Promise((s=>{const n=setInterval((()=>{const t="function"==typeof e?e():e;t&&(clearInterval(n),s(t))}),100);setTimeout((()=>{clearInterval(n),s(null)}),t)})))(t(this,n,"f"),1e3)}get ele(){var e,s;const l="function"==typeof t(this,n,"f")?t(this,n,"f").call(this):t(this,n,"f");return l?(null==l?void 0:l.localName)!==this.nodeName?(null===(s=this.logger)||void 0===s||s.debug(`node name do not match, expected "${this.nodeName}", received "${l.localName}" `,Error()),null):l:(null===(e=this.logger)||void 0===e||e.debug("no element for driver ",this.constructor.name,new Error),null)}}n=new WeakMap;const r=/^descope-grid-([^-]+)-column$/,o={text:class extends i{constructor(){super(...arguments),this.nodeName="descope-grid-text-column"}onSortDirectionChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("direction-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}},custom:class extends i{constructor(){super(...arguments),this.nodeName="descope-grid-custom-column"}onSortDirectionChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("direction-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}}};class d extends i{constructor(){super(...arguments),this.nodeName="descope-grid",l.set(this,void 0)}onSelectedItemsChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("selected-items-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}get ele(){return super.ele}get data(){var e;return null===(e=this.ele)||void 0===e?void 0:e.data}set data(e){this.ele&&(this.ele.data=e)}get columns(){return this.ele?Array.from(this.ele.children).reduce(((e,t)=>{var s;const n=null===(s=r.exec(t.localName))||void 0===s?void 0:s[1],l=o[n];return l?(e.push(new l(t,{logger:this.logger})),e):e}),[]):[]}filterColumns(e){var n,i;const r=null===(n=this.ele.columns)||void 0===n?void 0:n.filter(e);s(r,this.ele.columns)||(this.ele.columns=r,null===(i=t(this,l,"f"))||void 0===i||i.call(this,r))}onColumnsChange(t){e(this,l,t,"f")}set renderColumn(e){this.ele.renderColumn=e}}l=new WeakMap;class a extends i{constructor(){super(...arguments),this.nodeName="descope-button"}onClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("click",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("click",e)}}disable(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("disabled","true")}enable(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("disabled")}}var u;class c extends i{constructor(){super(...arguments),u.set(this,void 0),this.nodeName="descope-modal"}close(){var e,t;null===(e=this.ele)||void 0===e||e.removeAttribute("opened"),null===(t=this.afterClose)||void 0===t||t.call(this)}async open(){var e,t;await(null===(e=this.beforeOpen)||void 0===e?void 0:e.call(this)),null===(t=this.ele)||void 0===t||t.setAttribute("opened","true")}reset(){var e;this.ele&&(this.ele.innerHTML=""),t(this,u,"f")&&(null===(e=this.ele)||void 0===e||e.append(t(this,u,"f").content.cloneNode(!0)))}setContent(t){e(this,u,t,"f"),this.reset()}remove(){var e;null===(e=this.ele)||void 0===e||e.remove()}}u=new WeakMap;class v extends i{constructor(){super(...arguments),this.nodeName="descope-multi-select-combo-box"}async setData(e){var t;null===(t=await this.asyncEle)||void 0===t||t.setAttribute("data",JSON.stringify(e.sort()))}}class h extends i{constructor(){super(...arguments),this.nodeName="descope-combo-box"}async setData(e){var t;null===(t=await this.asyncEle)||void 0===t||t.setAttribute("data",JSON.stringify(e.sort()))}}class m extends i{constructor(){super(...arguments),this.nodeName="descope-notification"}close(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("opened")}show(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("opened","true")}setContent(e){this.ele.innerHTML="",this.ele.appendChild(e.content.cloneNode(!0))}remove(){var e;null===(e=this.ele)||void 0===e||e.remove()}}class p extends i{constructor(){super(...arguments),this.nodeName="descope-text"}get ele(){return super.ele}get text(){var e;return null===(e=this.ele)||void 0===e?void 0:e.innerText}set text(e){this.ele&&(this.ele.innerText=e)}}class g extends i{constructor(){super(...arguments),this.nodeName="descope-text-field"}onInput(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("input",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("input",e)}}get value(){var e;return null===(e=this.ele)||void 0===e?void 0:e.value}set value(e){this.ele&&(this.ele.value=e)}disable(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("disabled","true")}enable(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("disabled")}}export{a as ButtonDriver,d as GridDriver,c as ModalDriver,v as MultiSelectDriver,m as NotificationDriver,h as SingleSelectDriver,p as TextDriver,g as TextFieldDriver};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/BaseDriver.ts","../src/helpers.ts","../src/gridDrivers/GridDriver.ts","../src/gridDrivers/GridTextColumnDriver.ts","../src/gridDrivers/GridCustomColumnDriver.ts","../src/ButtonDriver.ts","../src/ModalDriver.ts","../src/MultiSelectDriver.ts","../src/SingleSelectDriver.ts","../src/NotificationDriver.ts","../src/TextDriver.ts","../src/TextFieldDriver.ts"],"sourcesContent":["import { waitForElement } from './helpers';\nimport { RefOrRefFn } from './types';\n\ntype Logger = {\n error(...data: any[]): void;\n warn(...data: any[]): void;\n info(...data: any[]): void;\n debug(...data: any[]): void;\n};\n\nexport class BaseDriver {\n #ele: RefOrRefFn;\n\n logger: Logger | undefined;\n\n // eslint-disable-next-line class-methods-use-this\n nodeName = '';\n\n constructor(refOrRefFn: RefOrRefFn, config: { logger: Logger }) {\n this.#ele = refOrRefFn;\n this.logger = config.logger;\n }\n\n get asyncEle() {\n return waitForElement(this.#ele, 1000);\n }\n\n get ele() {\n const ele = typeof this.#ele === 'function' ? this.#ele() : this.#ele;\n if (!ele) {\n this.logger?.debug(\n `no element for driver `,\n this.constructor.name,\n new Error(),\n );\n\n return null;\n }\n\n if (ele?.localName !== this.nodeName) {\n this.logger?.debug(\n `node name do not match, expected \"${this.nodeName}\", received \"${ele.localName}\" `,\n Error(),\n );\n\n return null;\n }\n\n return ele;\n }\n}\n","import { RefOrRefFn } from './types';\n\nexport const waitForElement = async (ele: RefOrRefFn, timeout: number) =>\n new Promise<Element | null>((resolve) => {\n const interval = setInterval(() => {\n const element = typeof ele === 'function' ? ele() : ele;\n if (element) {\n clearInterval(interval);\n resolve(element);\n }\n }, 100);\n setTimeout(() => {\n clearInterval(interval);\n resolve(null);\n }, timeout);\n });\n","import { compareArrays } from '@descope/sdk-helpers';\nimport { BaseDriver } from '../BaseDriver';\nimport { GridCustomColumnDriver } from './GridCustomColumnDriver';\nimport { GridTextColumnDriver } from './GridTextColumnDriver';\n\ntype Column = {\n path: string;\n header: string;\n type: string;\n attrs: Record<string, string>;\n};\n\nconst columnRegex = /^descope-grid-([^-]+)-column$/;\n\nconst driversMapping = {\n text: GridTextColumnDriver,\n custom: GridCustomColumnDriver,\n};\n\nexport class GridDriver<T extends any> extends BaseDriver {\n nodeName = 'descope-grid';\n #onColumnsChangeCb: (columns: typeof this.ele.columns) => void;\n\n onSelectedItemsChange(cb: (e: CustomEvent<{ value: T[] }>) => void) {\n this.ele?.addEventListener('selected-items-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n\n get ele() {\n return super.ele as Element & {\n data: T[];\n columns: Column[];\n renderColumn: ({ path, header, type, attrs }) => string;\n };\n }\n\n get data() {\n return this.ele?.data;\n }\n\n set data(data: T[]) {\n if (this.ele) this.ele.data = data;\n }\n\n get columns() {\n if (!this.ele) return [];\n return Array.from(this.ele.children).reduce((acc, child) => {\n const columnType = columnRegex.exec(child.localName)?.[1];\n const Driver = driversMapping[columnType];\n\n if (!Driver) return acc;\n\n acc.push(new Driver(child, { logger: this.logger }));\n\n return acc;\n }, []);\n }\n\n filterColumns(filterFn: (col: Column) => boolean) {\n const filteredColumns = this.ele.columns.filter(filterFn);\n if (!compareArrays(filteredColumns, this.ele.columns)) {\n this.ele.columns = filteredColumns;\n this.#onColumnsChangeCb?.(filteredColumns);\n }\n }\n\n onColumnsChange(cb: (columns: typeof this.ele.columns) => void) {\n this.#onColumnsChangeCb = cb;\n }\n\n set renderColumn(renderFn: ({ path, header, type, attrs }) => string) {\n this.ele.renderColumn = renderFn;\n }\n}\n","import { BaseDriver } from '../BaseDriver';\n\nexport class GridTextColumnDriver extends BaseDriver {\n nodeName = 'descope-grid-text-column';\n\n onSortDirectionChange(\n cb: (e: CustomEvent<{ value: 'asc' | 'desc' | null }>) => void,\n ) {\n this.ele?.addEventListener('direction-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n}\n","import { BaseDriver } from '../BaseDriver';\n\nexport class GridCustomColumnDriver extends BaseDriver {\n nodeName = 'descope-grid-custom-column';\n\n onSortDirectionChange(\n cb: (e: CustomEvent<{ value: 'asc' | 'desc' | null }>) => void,\n ) {\n this.ele?.addEventListener('direction-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class ButtonDriver extends BaseDriver {\n nodeName = 'descope-button';\n\n onClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('click', cb);\n\n return () => this.ele?.removeEventListener('click', cb);\n }\n\n disable() {\n this.ele?.setAttribute('disabled', 'true');\n }\n\n enable() {\n this.ele?.removeAttribute('disabled');\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class ModalDriver extends BaseDriver {\n #modalContent: HTMLTemplateElement;\n\n beforeOpen: undefined | (() => void | Promise<void>);\n\n afterClose: undefined | (() => void);\n\n nodeName = 'descope-modal';\n\n close() {\n this.ele?.removeAttribute('opened');\n this.afterClose?.();\n }\n\n async open() {\n await this.beforeOpen?.();\n this.ele?.setAttribute('opened', 'true');\n }\n\n reset() {\n if (this.ele) this.ele.innerHTML = '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.#modalContent &&\n this.ele?.append(this.#modalContent.content.cloneNode(true));\n }\n\n setContent(template: HTMLTemplateElement) {\n this.#modalContent = template;\n this.reset();\n }\n\n remove() {\n this.ele?.remove();\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class MultiSelectDriver extends BaseDriver {\n nodeName = 'descope-multi-select-combo-box';\n\n async setData(data: { label: string; value: string }[]) {\n (await this.asyncEle)?.setAttribute('data', JSON.stringify(data.sort()));\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class SingleSelectDriver extends BaseDriver {\n nodeName = 'descope-combo-box';\n\n async setData(data: { label: string; value: string }[]) {\n (await this.asyncEle)?.setAttribute('data', JSON.stringify(data.sort()));\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class NotificationDriver extends BaseDriver {\n nodeName = 'descope-notification';\n\n close() {\n this.ele?.removeAttribute('opened');\n }\n\n show() {\n this.ele?.setAttribute('opened', 'true');\n }\n\n setContent(template: HTMLTemplateElement) {\n this.ele.innerHTML = '';\n this.ele.appendChild(template.content.cloneNode(true));\n }\n\n remove() {\n this.ele?.remove();\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class TextDriver extends BaseDriver {\n nodeName = 'descope-text';\n\n get ele() {\n return super.ele as Element & { innerText: string };\n }\n\n get text() {\n return this.ele?.innerText;\n }\n\n set text(content: string) {\n if (this.ele) this.ele.innerText = content;\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class TextFieldDriver extends BaseDriver {\n nodeName = 'descope-text-field';\n\n onInput(cb: (e: InputEvent) => void) {\n this.ele?.addEventListener('input', cb);\n\n return () => this.ele?.removeEventListener('input', cb);\n }\n\n get value() {\n return (<HTMLInputElement>this.ele)?.value;\n }\n\n set value(value: string) {\n if (this.ele) {\n (<HTMLInputElement>this.ele).value = value;\n }\n }\n\n disable() {\n this.ele?.setAttribute('disabled', 'true');\n }\n\n enable() {\n this.ele?.removeAttribute('disabled');\n }\n}\n"],"names":["BaseDriver","constructor","refOrRefFn","config","_BaseDriver_ele","set","this","nodeName","__classPrivateFieldSet","logger","asyncEle","async","ele","timeout","Promise","resolve","interval","setInterval","element","clearInterval","setTimeout","waitForElement","__classPrivateFieldGet","call","localName","_b","debug","Error","_a","name","columnRegex","driversMapping","text","onSortDirectionChange","cb","addEventListener","removeEventListener","custom","GridDriver","_GridDriver_onColumnsChangeCb","onSelectedItemsChange","super","data","columns","Array","from","children","reduce","acc","child","columnType","exec","Driver","push","filterColumns","filterFn","filteredColumns","filter","compareArrays","onColumnsChange","renderColumn","renderFn","ButtonDriver","onClick","disable","setAttribute","enable","removeAttribute","ModalDriver","_ModalDriver_modalContent","close","afterClose","beforeOpen","reset","innerHTML","append","content","cloneNode","setContent","template","remove","MultiSelectDriver","JSON","stringify","sort","SingleSelectDriver","NotificationDriver","show","appendChild","TextDriver","innerText","TextFieldDriver","onInput","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/BaseDriver.ts","../src/helpers.ts","../src/gridDrivers/GridDriver.ts","../src/gridDrivers/GridTextColumnDriver.ts","../src/gridDrivers/GridCustomColumnDriver.ts","../src/ButtonDriver.ts","../src/ModalDriver.ts","../src/MultiSelectDriver.ts","../src/SingleSelectDriver.ts","../src/NotificationDriver.ts","../src/TextDriver.ts","../src/TextFieldDriver.ts"],"sourcesContent":["import { waitForElement } from './helpers';\nimport { RefOrRefFn } from './types';\n\ntype Logger = {\n error(...data: any[]): void;\n warn(...data: any[]): void;\n info(...data: any[]): void;\n debug(...data: any[]): void;\n};\n\nexport class BaseDriver {\n #ele: RefOrRefFn;\n\n logger: Logger | undefined;\n\n // eslint-disable-next-line class-methods-use-this\n nodeName = '';\n\n constructor(refOrRefFn: RefOrRefFn, config: { logger: Logger }) {\n this.#ele = refOrRefFn;\n this.logger = config.logger;\n }\n\n get asyncEle() {\n return waitForElement(this.#ele, 1000);\n }\n\n get ele() {\n const ele = typeof this.#ele === 'function' ? this.#ele() : this.#ele;\n if (!ele) {\n this.logger?.debug(\n `no element for driver `,\n this.constructor.name,\n new Error(),\n );\n\n return null;\n }\n\n if (ele?.localName !== this.nodeName) {\n this.logger?.debug(\n `node name do not match, expected \"${this.nodeName}\", received \"${ele.localName}\" `,\n Error(),\n );\n\n return null;\n }\n\n return ele;\n }\n}\n","import { RefOrRefFn } from './types';\n\nexport const waitForElement = async (ele: RefOrRefFn, timeout: number) =>\n new Promise<Element | null>((resolve) => {\n const interval = setInterval(() => {\n const element = typeof ele === 'function' ? ele() : ele;\n if (element) {\n clearInterval(interval);\n resolve(element);\n }\n }, 100);\n setTimeout(() => {\n clearInterval(interval);\n resolve(null);\n }, timeout);\n });\n","import { compareArrays } from '@descope/sdk-helpers';\nimport { BaseDriver } from '../BaseDriver';\nimport { GridCustomColumnDriver } from './GridCustomColumnDriver';\nimport { GridTextColumnDriver } from './GridTextColumnDriver';\n\ntype Column = {\n path: string;\n header: string;\n type: string;\n attrs: Record<string, string>;\n};\n\nconst columnRegex = /^descope-grid-([^-]+)-column$/;\n\nconst driversMapping = {\n text: GridTextColumnDriver,\n custom: GridCustomColumnDriver,\n};\n\nexport class GridDriver<T extends any> extends BaseDriver {\n nodeName = 'descope-grid';\n #onColumnsChangeCb: (columns: typeof this.ele.columns) => void;\n\n onSelectedItemsChange(cb: (e: CustomEvent<{ value: T[] }>) => void) {\n this.ele?.addEventListener('selected-items-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n\n get ele() {\n return super.ele as Element & {\n data: T[];\n columns: Column[];\n renderColumn: ({ path, header, type, attrs }) => string;\n };\n }\n\n get data() {\n return this.ele?.data;\n }\n\n set data(data: T[]) {\n if (this.ele) this.ele.data = data;\n }\n\n get columns() {\n if (!this.ele) return [];\n return Array.from(this.ele.children).reduce((acc, child) => {\n const columnType = columnRegex.exec(child.localName)?.[1];\n const Driver = driversMapping[columnType];\n\n if (!Driver) return acc;\n\n acc.push(new Driver(child, { logger: this.logger }));\n\n return acc;\n }, []);\n }\n\n filterColumns(filterFn: (col: Column) => boolean) {\n const filteredColumns = this.ele.columns?.filter(filterFn);\n if (!compareArrays(filteredColumns, this.ele.columns)) {\n this.ele.columns = filteredColumns;\n this.#onColumnsChangeCb?.(filteredColumns);\n }\n }\n\n onColumnsChange(cb: (columns: typeof this.ele.columns) => void) {\n this.#onColumnsChangeCb = cb;\n }\n\n set renderColumn(renderFn: ({ path, header, type, attrs }) => string) {\n this.ele.renderColumn = renderFn;\n }\n}\n","import { BaseDriver } from '../BaseDriver';\n\nexport class GridTextColumnDriver extends BaseDriver {\n nodeName = 'descope-grid-text-column';\n\n onSortDirectionChange(\n cb: (e: CustomEvent<{ value: 'asc' | 'desc' | null }>) => void,\n ) {\n this.ele?.addEventListener('direction-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n}\n","import { BaseDriver } from '../BaseDriver';\n\nexport class GridCustomColumnDriver extends BaseDriver {\n nodeName = 'descope-grid-custom-column';\n\n onSortDirectionChange(\n cb: (e: CustomEvent<{ value: 'asc' | 'desc' | null }>) => void,\n ) {\n this.ele?.addEventListener('direction-changed', cb);\n\n return () => this.ele?.removeEventListener('selected-items-changed', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class ButtonDriver extends BaseDriver {\n nodeName = 'descope-button';\n\n onClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('click', cb);\n\n return () => this.ele?.removeEventListener('click', cb);\n }\n\n disable() {\n this.ele?.setAttribute('disabled', 'true');\n }\n\n enable() {\n this.ele?.removeAttribute('disabled');\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class ModalDriver extends BaseDriver {\n #modalContent: HTMLTemplateElement;\n\n beforeOpen: undefined | (() => void | Promise<void>);\n\n afterClose: undefined | (() => void);\n\n nodeName = 'descope-modal';\n\n close() {\n this.ele?.removeAttribute('opened');\n this.afterClose?.();\n }\n\n async open() {\n await this.beforeOpen?.();\n this.ele?.setAttribute('opened', 'true');\n }\n\n reset() {\n if (this.ele) this.ele.innerHTML = '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.#modalContent &&\n this.ele?.append(this.#modalContent.content.cloneNode(true));\n }\n\n setContent(template: HTMLTemplateElement) {\n this.#modalContent = template;\n this.reset();\n }\n\n remove() {\n this.ele?.remove();\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class MultiSelectDriver extends BaseDriver {\n nodeName = 'descope-multi-select-combo-box';\n\n async setData(data: { label: string; value: string }[]) {\n (await this.asyncEle)?.setAttribute('data', JSON.stringify(data.sort()));\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class SingleSelectDriver extends BaseDriver {\n nodeName = 'descope-combo-box';\n\n async setData(data: { label: string; value: string }[]) {\n (await this.asyncEle)?.setAttribute('data', JSON.stringify(data.sort()));\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class NotificationDriver extends BaseDriver {\n nodeName = 'descope-notification';\n\n close() {\n this.ele?.removeAttribute('opened');\n }\n\n show() {\n this.ele?.setAttribute('opened', 'true');\n }\n\n setContent(template: HTMLTemplateElement) {\n this.ele.innerHTML = '';\n this.ele.appendChild(template.content.cloneNode(true));\n }\n\n remove() {\n this.ele?.remove();\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class TextDriver extends BaseDriver {\n nodeName = 'descope-text';\n\n get ele() {\n return super.ele as Element & { innerText: string };\n }\n\n get text() {\n return this.ele?.innerText;\n }\n\n set text(content: string) {\n if (this.ele) this.ele.innerText = content;\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class TextFieldDriver extends BaseDriver {\n nodeName = 'descope-text-field';\n\n onInput(cb: (e: InputEvent) => void) {\n this.ele?.addEventListener('input', cb);\n\n return () => this.ele?.removeEventListener('input', cb);\n }\n\n get value() {\n return (<HTMLInputElement>this.ele)?.value;\n }\n\n set value(value: string) {\n if (this.ele) {\n (<HTMLInputElement>this.ele).value = value;\n }\n }\n\n disable() {\n this.ele?.setAttribute('disabled', 'true');\n }\n\n enable() {\n this.ele?.removeAttribute('disabled');\n }\n}\n"],"names":["BaseDriver","constructor","refOrRefFn","config","_BaseDriver_ele","set","this","nodeName","__classPrivateFieldSet","logger","asyncEle","async","ele","timeout","Promise","resolve","interval","setInterval","element","clearInterval","setTimeout","waitForElement","__classPrivateFieldGet","call","localName","_b","debug","Error","_a","name","columnRegex","driversMapping","text","onSortDirectionChange","cb","addEventListener","removeEventListener","custom","GridDriver","_GridDriver_onColumnsChangeCb","onSelectedItemsChange","super","data","columns","Array","from","children","reduce","acc","child","columnType","exec","Driver","push","filterColumns","filterFn","filteredColumns","filter","compareArrays","onColumnsChange","renderColumn","renderFn","ButtonDriver","onClick","disable","setAttribute","enable","removeAttribute","ModalDriver","_ModalDriver_modalContent","close","afterClose","beforeOpen","reset","innerHTML","append","content","cloneNode","setContent","template","remove","MultiSelectDriver","JSON","stringify","sort","SingleSelectDriver","NotificationDriver","show","appendChild","TextDriver","innerText","TextFieldDriver","onInput","value"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@descope/sdk-component-drivers",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"author": "Descope Team <info@descope.com>",
|
|
5
5
|
"homepage": "https://github.com/descope/sdk-component-drivers",
|
|
6
6
|
"bugs": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@rollup/plugin-terser": "^0.4.0",
|
|
43
43
|
"@rollup/plugin-typescript": "^11.0.0",
|
|
44
44
|
"@types/jest": "^29.0.0",
|
|
45
|
-
"@types/node": "20.11.
|
|
45
|
+
"@types/node": "20.11.30",
|
|
46
46
|
"@types/js-cookie": "^3.0.2",
|
|
47
47
|
"@typescript-eslint/parser": "^7.0.0",
|
|
48
48
|
"eslint": "8.57.0",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
82
|
"tslib": "2.6.2",
|
|
83
|
-
"@descope/sdk-helpers": "0.1.
|
|
83
|
+
"@descope/sdk-helpers": "0.1.19"
|
|
84
84
|
},
|
|
85
85
|
"overrides": {
|
|
86
86
|
"terser": "^5.14.2"
|