@descope/sdk-component-drivers 0.2.39 → 0.2.41
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.map +1 -1
- package/dist/index.d.ts +3 -13
- package/dist/index.esm.js.map +1 -1
- package/package.json +3 -3
|
@@ -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/AvatarDriver.ts","../../src/ButtonDriver.ts","../../src/FlowDriver.ts","../../src/ModalDriver.ts","../../src/MultiSelectDriver.ts","../../src/NotificationDriver.ts","../../src/SingleSelectDriver.ts","../../src/TextDriver.ts","../../src/TextFieldDriver.ts","../../src/UserAttributeDriver.ts","../../src/UserAuthMethodDriver.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 AvatarDriver extends BaseDriver {\n nodeName = 'descope-avatar';\n\n set displayName(name: string) {\n this.ele?.setAttribute('display-name', name);\n }\n\n set image(imgUrl: string) {\n this.ele?.setAttribute('img', imgUrl);\n }\n\n get flowId() {\n return this.ele?.getAttribute('flow-id');\n }\n\n onClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('click', cb);\n\n return () => this.ele?.removeEventListener('click', 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 FlowDriver extends BaseDriver {\n nodeName = 'descope-wc';\n\n set projectId(projectId: string) {\n this.ele?.setAttribute('project-id', projectId);\n }\n\n set baseUrl(baseUrl: string) {\n this.ele?.setAttribute('base-url', baseUrl);\n }\n\n set flowId(flowId: string) {\n this.ele?.setAttribute('flow-id', flowId);\n }\n\n onSuccess(cb: () => void) {\n this.ele?.addEventListener('success', cb);\n\n return () => this.ele?.removeEventListener('success', cb);\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 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 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","import { BaseDriver } from './BaseDriver';\n\nexport class UserAttributeDriver extends BaseDriver {\n nodeName = 'descope-user-attribute';\n\n set value(value: string) {\n this.ele?.setAttribute('value', value);\n }\n\n set badgeLabel(label: string) {\n this.ele?.setAttribute('badge-label', label);\n }\n\n get label() {\n return this.ele?.getAttribute('label') || '';\n }\n\n get editFlowId() {\n return this.ele?.getAttribute('edit-flow-id') || '';\n }\n\n get deleteFlowId() {\n return this.ele?.getAttribute('delete-flow-id') || '';\n }\n\n onEditClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('edit-clicked', cb);\n\n return () => this.ele?.removeEventListener('edit-clicked', cb);\n }\n\n onDeleteClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('delete-clicked', cb);\n\n return () => this.ele?.removeEventListener('delete-clicked', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class UserAuthMethodDriver extends BaseDriver {\n nodeName = 'descope-user-auth-method';\n\n set fulfilled(isFulfilled: boolean) {\n isFulfilled\n ? this.ele?.setAttribute('fulfilled', 'true')\n : this.ele?.removeAttribute('fulfilled');\n }\n\n onButtonClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('button-clicked', cb);\n\n return () => this.ele?.removeEventListener('button-clicked', cb);\n }\n\n get flowId() {\n return this.ele?.getAttribute('flow-id');\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","displayName","setAttribute","image","imgUrl","flowId","getAttribute","onClick","disable","enable","removeAttribute","projectId","baseUrl","onSuccess","_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","onInput","value","innerText","badgeLabel","label","editFlowId","deleteFlowId","onEditClick","onDeleteClick","fulfilled","isFulfilled","onButtonClick"],"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/AvatarDriver.ts","../../src/ButtonDriver.ts","../../src/FlowDriver.ts","../../src/ModalDriver.ts","../../src/MultiSelectDriver.ts","../../src/NotificationDriver.ts","../../src/SingleSelectDriver.ts","../../src/TextDriver.ts","../../src/TextFieldDriver.ts","../../src/UserAttributeDriver.ts","../../src/UserAuthMethodDriver.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: Column[]) => 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 }: Column) => 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: Column[]) => void) {\n this.#onColumnsChangeCb = cb;\n }\n\n set renderColumn(\n renderFn: ({ path, header, type, attrs }: Column) => string,\n ) {\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 AvatarDriver extends BaseDriver {\n nodeName = 'descope-avatar';\n\n set displayName(name: string) {\n this.ele?.setAttribute('display-name', name);\n }\n\n set image(imgUrl: string) {\n this.ele?.setAttribute('img', imgUrl);\n }\n\n get flowId() {\n return this.ele?.getAttribute('flow-id');\n }\n\n onClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('click', cb);\n\n return () => this.ele?.removeEventListener('click', 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 FlowDriver extends BaseDriver {\n nodeName = 'descope-wc';\n\n set projectId(projectId: string) {\n this.ele?.setAttribute('project-id', projectId);\n }\n\n set baseUrl(baseUrl: string) {\n this.ele?.setAttribute('base-url', baseUrl);\n }\n\n set flowId(flowId: string) {\n this.ele?.setAttribute('flow-id', flowId);\n }\n\n onSuccess(cb: () => void) {\n this.ele?.addEventListener('success', cb);\n\n return () => this.ele?.removeEventListener('success', cb);\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 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 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","import { BaseDriver } from './BaseDriver';\n\nexport class UserAttributeDriver extends BaseDriver {\n nodeName = 'descope-user-attribute';\n\n set value(value: string) {\n this.ele?.setAttribute('value', value);\n }\n\n set badgeLabel(label: string) {\n this.ele?.setAttribute('badge-label', label);\n }\n\n get label() {\n return this.ele?.getAttribute('label') || '';\n }\n\n get editFlowId() {\n return this.ele?.getAttribute('edit-flow-id') || '';\n }\n\n get deleteFlowId() {\n return this.ele?.getAttribute('delete-flow-id') || '';\n }\n\n onEditClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('edit-clicked', cb);\n\n return () => this.ele?.removeEventListener('edit-clicked', cb);\n }\n\n onDeleteClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('delete-clicked', cb);\n\n return () => this.ele?.removeEventListener('delete-clicked', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class UserAuthMethodDriver extends BaseDriver {\n nodeName = 'descope-user-auth-method';\n\n set fulfilled(isFulfilled: boolean) {\n isFulfilled\n ? this.ele?.setAttribute('fulfilled', 'true')\n : this.ele?.removeAttribute('fulfilled');\n }\n\n onButtonClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('button-clicked', cb);\n\n return () => this.ele?.removeEventListener('button-clicked', cb);\n }\n\n get flowId() {\n return this.ele?.getAttribute('flow-id');\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","displayName","setAttribute","image","imgUrl","flowId","getAttribute","onClick","disable","enable","removeAttribute","projectId","baseUrl","onSuccess","_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","onInput","value","innerText","badgeLabel","label","editFlowId","deleteFlowId","onEditClick","onDeleteClick","fulfilled","isFulfilled","onButtonClick"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -33,24 +33,14 @@ declare class GridDriver<T extends any> extends BaseDriver {
|
|
|
33
33
|
get ele(): Element & {
|
|
34
34
|
data: T[];
|
|
35
35
|
columns: Column[];
|
|
36
|
-
renderColumn: ({ path, header, type, attrs }:
|
|
37
|
-
path: any;
|
|
38
|
-
header: any;
|
|
39
|
-
type: any;
|
|
40
|
-
attrs: any;
|
|
41
|
-
}) => string;
|
|
36
|
+
renderColumn: ({ path, header, type, attrs }: Column) => string;
|
|
42
37
|
};
|
|
43
38
|
get data(): T[];
|
|
44
39
|
set data(data: T[]);
|
|
45
40
|
get columns(): any[];
|
|
46
41
|
filterColumns(filterFn: (col: Column) => boolean): void;
|
|
47
|
-
onColumnsChange(cb: (columns:
|
|
48
|
-
set renderColumn(renderFn: ({ path, header, type, attrs }:
|
|
49
|
-
path: any;
|
|
50
|
-
header: any;
|
|
51
|
-
type: any;
|
|
52
|
-
attrs: any;
|
|
53
|
-
}) => string);
|
|
42
|
+
onColumnsChange(cb: (columns: Column[]) => void): void;
|
|
43
|
+
set renderColumn(renderFn: ({ path, header, type, attrs }: Column) => string);
|
|
54
44
|
}
|
|
55
45
|
|
|
56
46
|
declare class ButtonDriver extends BaseDriver {
|
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","../src/AvatarDriver.ts","../src/UserAttributeDriver.ts","../src/UserAuthMethodDriver.ts","../src/FlowDriver.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 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 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","import { BaseDriver } from './BaseDriver';\n\nexport class AvatarDriver extends BaseDriver {\n nodeName = 'descope-avatar';\n\n set displayName(name: string) {\n this.ele?.setAttribute('display-name', name);\n }\n\n set image(imgUrl: string) {\n this.ele?.setAttribute('img', imgUrl);\n }\n\n get flowId() {\n return this.ele?.getAttribute('flow-id');\n }\n\n onClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('click', cb);\n\n return () => this.ele?.removeEventListener('click', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class UserAttributeDriver extends BaseDriver {\n nodeName = 'descope-user-attribute';\n\n set value(value: string) {\n this.ele?.setAttribute('value', value);\n }\n\n set badgeLabel(label: string) {\n this.ele?.setAttribute('badge-label', label);\n }\n\n get label() {\n return this.ele?.getAttribute('label') || '';\n }\n\n get editFlowId() {\n return this.ele?.getAttribute('edit-flow-id') || '';\n }\n\n get deleteFlowId() {\n return this.ele?.getAttribute('delete-flow-id') || '';\n }\n\n onEditClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('edit-clicked', cb);\n\n return () => this.ele?.removeEventListener('edit-clicked', cb);\n }\n\n onDeleteClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('delete-clicked', cb);\n\n return () => this.ele?.removeEventListener('delete-clicked', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class UserAuthMethodDriver extends BaseDriver {\n nodeName = 'descope-user-auth-method';\n\n set fulfilled(isFulfilled: boolean) {\n isFulfilled\n ? this.ele?.setAttribute('fulfilled', 'true')\n : this.ele?.removeAttribute('fulfilled');\n }\n\n onButtonClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('button-clicked', cb);\n\n return () => this.ele?.removeEventListener('button-clicked', cb);\n }\n\n get flowId() {\n return this.ele?.getAttribute('flow-id');\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class FlowDriver extends BaseDriver {\n nodeName = 'descope-wc';\n\n set projectId(projectId: string) {\n this.ele?.setAttribute('project-id', projectId);\n }\n\n set baseUrl(baseUrl: string) {\n this.ele?.setAttribute('base-url', baseUrl);\n }\n\n set flowId(flowId: string) {\n this.ele?.setAttribute('flow-id', flowId);\n }\n\n onSuccess(cb: () => void) {\n this.ele?.addEventListener('success', cb);\n\n return () => this.ele?.removeEventListener('success', cb);\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","onInput","value","NotificationDriver","show","appendChild","TextDriver","innerText","TextFieldDriver","AvatarDriver","displayName","image","imgUrl","flowId","getAttribute","UserAttributeDriver","badgeLabel","label","editFlowId","deleteFlowId","onEditClick","onDeleteClick","UserAuthMethodDriver","fulfilled","isFulfilled","onButtonClick","FlowDriver","projectId","baseUrl","onSuccess"],"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","../src/AvatarDriver.ts","../src/UserAttributeDriver.ts","../src/UserAuthMethodDriver.ts","../src/FlowDriver.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: Column[]) => 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 }: Column) => 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: Column[]) => void) {\n this.#onColumnsChangeCb = cb;\n }\n\n set renderColumn(\n renderFn: ({ path, header, type, attrs }: Column) => string,\n ) {\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 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 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","import { BaseDriver } from './BaseDriver';\n\nexport class AvatarDriver extends BaseDriver {\n nodeName = 'descope-avatar';\n\n set displayName(name: string) {\n this.ele?.setAttribute('display-name', name);\n }\n\n set image(imgUrl: string) {\n this.ele?.setAttribute('img', imgUrl);\n }\n\n get flowId() {\n return this.ele?.getAttribute('flow-id');\n }\n\n onClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('click', cb);\n\n return () => this.ele?.removeEventListener('click', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class UserAttributeDriver extends BaseDriver {\n nodeName = 'descope-user-attribute';\n\n set value(value: string) {\n this.ele?.setAttribute('value', value);\n }\n\n set badgeLabel(label: string) {\n this.ele?.setAttribute('badge-label', label);\n }\n\n get label() {\n return this.ele?.getAttribute('label') || '';\n }\n\n get editFlowId() {\n return this.ele?.getAttribute('edit-flow-id') || '';\n }\n\n get deleteFlowId() {\n return this.ele?.getAttribute('delete-flow-id') || '';\n }\n\n onEditClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('edit-clicked', cb);\n\n return () => this.ele?.removeEventListener('edit-clicked', cb);\n }\n\n onDeleteClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('delete-clicked', cb);\n\n return () => this.ele?.removeEventListener('delete-clicked', cb);\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class UserAuthMethodDriver extends BaseDriver {\n nodeName = 'descope-user-auth-method';\n\n set fulfilled(isFulfilled: boolean) {\n isFulfilled\n ? this.ele?.setAttribute('fulfilled', 'true')\n : this.ele?.removeAttribute('fulfilled');\n }\n\n onButtonClick(cb: (e: Event) => void) {\n this.ele?.addEventListener('button-clicked', cb);\n\n return () => this.ele?.removeEventListener('button-clicked', cb);\n }\n\n get flowId() {\n return this.ele?.getAttribute('flow-id');\n }\n}\n","import { BaseDriver } from './BaseDriver';\n\nexport class FlowDriver extends BaseDriver {\n nodeName = 'descope-wc';\n\n set projectId(projectId: string) {\n this.ele?.setAttribute('project-id', projectId);\n }\n\n set baseUrl(baseUrl: string) {\n this.ele?.setAttribute('base-url', baseUrl);\n }\n\n set flowId(flowId: string) {\n this.ele?.setAttribute('flow-id', flowId);\n }\n\n onSuccess(cb: () => void) {\n this.ele?.addEventListener('success', cb);\n\n return () => this.ele?.removeEventListener('success', cb);\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","onInput","value","NotificationDriver","show","appendChild","TextDriver","innerText","TextFieldDriver","AvatarDriver","displayName","image","imgUrl","flowId","getAttribute","UserAttributeDriver","badgeLabel","label","editFlowId","deleteFlowId","onEditClick","onDeleteClick","UserAuthMethodDriver","fulfilled","isFulfilled","onButtonClick","FlowDriver","projectId","baseUrl","onSuccess"],"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.2.
|
|
3
|
+
"version": "0.2.41",
|
|
4
4
|
"author": "Descope Team <info@descope.com>",
|
|
5
5
|
"homepage": "https://github.com/descope/sdk-component-drivers",
|
|
6
6
|
"bugs": {
|
|
@@ -76,11 +76,11 @@
|
|
|
76
76
|
"rollup-plugin-livereload": "^2.0.5",
|
|
77
77
|
"ts-jest": "^29.0.0",
|
|
78
78
|
"ts-node": "10.9.2",
|
|
79
|
-
"typescript": "^
|
|
79
|
+
"typescript": "^5.0.2"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
82
|
"tslib": "2.6.3",
|
|
83
|
-
"@descope/sdk-helpers": "0.1.
|
|
83
|
+
"@descope/sdk-helpers": "0.1.60"
|
|
84
84
|
},
|
|
85
85
|
"overrides": {
|
|
86
86
|
"terser": "^5.14.2"
|