@tylertech/forge 2.6.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +83 -5
- package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
- package/dist/esm/button-toggle/index.js +1 -1
- package/dist/esm/chunks/{chunk.JUXKYUD4.js → chunk.2NMHSTAO.js} +51 -28
- package/dist/esm/chunks/{chunk.JUXKYUD4.js.map → chunk.2NMHSTAO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.GL72QT42.js → chunk.35BJJH5E.js} +2 -2
- package/dist/esm/chunks/{chunk.GL72QT42.js.map → chunk.35BJJH5E.js.map} +1 -1
- package/dist/esm/chunks/{chunk.L344BPCW.js → chunk.BLZJIYMG.js} +2 -2
- package/dist/esm/chunks/{chunk.L344BPCW.js.map → chunk.BLZJIYMG.js.map} +0 -0
- package/dist/esm/chunks/{chunk.65GHMPX2.js → chunk.ELAJS33V.js} +6 -6
- package/dist/esm/chunks/chunk.ELAJS33V.js.map +7 -0
- package/dist/esm/chunks/{chunk.GNAIKBO6.js → chunk.EUPO2VO2.js} +3 -2
- package/dist/esm/chunks/{chunk.GNAIKBO6.js.map → chunk.EUPO2VO2.js.map} +2 -2
- package/dist/esm/chunks/{chunk.CMXAORYF.js → chunk.HAWYW54W.js} +29 -21
- package/dist/esm/chunks/chunk.HAWYW54W.js.map +7 -0
- package/dist/esm/chunks/{chunk.GOWHXADJ.js → chunk.K7OLG7CS.js} +22 -14
- package/dist/esm/chunks/chunk.K7OLG7CS.js.map +7 -0
- package/dist/esm/chunks/{chunk.XHMNHBZD.js → chunk.PNKLV3BK.js} +2 -2
- package/dist/esm/chunks/{chunk.XHMNHBZD.js.map → chunk.PNKLV3BK.js.map} +1 -1
- package/dist/esm/chunks/{chunk.5H65ASFE.js → chunk.UFMUXBT4.js} +10 -10
- package/dist/esm/chunks/{chunk.5H65ASFE.js.map → chunk.UFMUXBT4.js.map} +0 -0
- package/dist/esm/chunks/{chunk.C73AZRT4.js → chunk.XE7ZMJBZ.js} +5 -3
- package/dist/esm/chunks/{chunk.C73AZRT4.js.map → chunk.XE7ZMJBZ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.MF3IZXQG.js → chunk.ZSHQMR4O.js} +2 -2
- package/dist/esm/chunks/{chunk.MF3IZXQG.js.map → chunk.ZSHQMR4O.js.map} +0 -0
- package/dist/esm/drawer/base/index.js +1 -1
- package/dist/esm/drawer/drawer/index.js +2 -2
- package/dist/esm/drawer/index.js +4 -4
- package/dist/esm/drawer/mini-drawer/index.js +2 -2
- package/dist/esm/drawer/modal-drawer/index.js +2 -2
- package/dist/esm/file-picker/index.js +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/time-picker/index.js +1 -1
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +2 -1
- package/esm/drawer/base/base-drawer-foundation.d.ts +4 -2
- package/esm/drawer/base/base-drawer-foundation.js +22 -14
- package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +2 -2
- package/esm/drawer/modal-drawer/modal-drawer-foundation.js +4 -4
- package/esm/file-picker/file-picker.js +1 -1
- package/esm/inline-message/inline-message.js +1 -1
- package/esm/paginator/paginator-foundation.js +29 -20
- package/esm/table/table.js +3 -1
- package/esm/time-picker/time-picker-constants.d.ts +1 -0
- package/esm/time-picker/time-picker-constants.js +1 -0
- package/esm/time-picker/time-picker-foundation.d.ts +4 -0
- package/esm/time-picker/time-picker-foundation.js +44 -29
- package/esm/time-picker/time-picker.d.ts +3 -0
- package/esm/time-picker/time-picker.js +7 -0
- package/package.json +1 -1
- package/styles/file-picker/_mixins.scss +3 -1
- package/styles/inline-message/inline-message.scss +4 -0
- package/dist/esm/chunks/chunk.65GHMPX2.js.map +0 -7
- package/dist/esm/chunks/chunk.CMXAORYF.js.map +0 -7
- package/dist/esm/chunks/chunk.GOWHXADJ.js.map +0 -7
|
@@ -119,7 +119,11 @@ var BaseDrawerFoundation = class {
|
|
|
119
119
|
this._closeAnimationListener = () => this._onCloseComplete();
|
|
120
120
|
}
|
|
121
121
|
connect() {
|
|
122
|
-
this.
|
|
122
|
+
if (this._open) {
|
|
123
|
+
this._setOpened();
|
|
124
|
+
} else {
|
|
125
|
+
this._setClosed();
|
|
126
|
+
}
|
|
123
127
|
this._applyDirection();
|
|
124
128
|
this._adapter.proxyScrollEvent();
|
|
125
129
|
this._hasInitialized = true;
|
|
@@ -136,35 +140,39 @@ var BaseDrawerFoundation = class {
|
|
|
136
140
|
if (!this._open) {
|
|
137
141
|
return;
|
|
138
142
|
}
|
|
143
|
+
this._setOpened();
|
|
139
144
|
this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_OPEN);
|
|
140
145
|
}
|
|
141
146
|
_onCloseComplete() {
|
|
142
147
|
if (this._open) {
|
|
143
148
|
return;
|
|
144
149
|
}
|
|
145
|
-
this.
|
|
146
|
-
this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION);
|
|
147
|
-
this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);
|
|
150
|
+
this._setClosed();
|
|
148
151
|
this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_CLOSE);
|
|
149
152
|
}
|
|
153
|
+
_setOpened() {
|
|
154
|
+
this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);
|
|
155
|
+
this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);
|
|
156
|
+
}
|
|
157
|
+
_setClosed() {
|
|
158
|
+
this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSING, BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION]);
|
|
159
|
+
this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);
|
|
160
|
+
this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);
|
|
161
|
+
}
|
|
150
162
|
_applyOpen() {
|
|
151
163
|
if (this._open) {
|
|
152
|
-
this.
|
|
153
|
-
} else {
|
|
154
|
-
this._setDrawerClosedState();
|
|
155
|
-
}
|
|
156
|
-
if (this._open) {
|
|
164
|
+
this._triggerDrawerOpen();
|
|
157
165
|
this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);
|
|
158
166
|
} else {
|
|
167
|
+
this._triggerDrawerClose();
|
|
159
168
|
this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);
|
|
160
169
|
}
|
|
161
170
|
}
|
|
162
|
-
|
|
171
|
+
_triggerDrawerOpen() {
|
|
163
172
|
this._adapter.listenTransitionComplete(this._openAnimationListener);
|
|
164
|
-
this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);
|
|
165
|
-
this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);
|
|
173
|
+
this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);
|
|
166
174
|
}
|
|
167
|
-
|
|
175
|
+
_triggerDrawerClose() {
|
|
168
176
|
this._adapter.listenTransitionComplete(this._closeAnimationListener);
|
|
169
177
|
this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);
|
|
170
178
|
}
|
|
@@ -233,4 +241,4 @@ export {
|
|
|
233
241
|
BaseDrawerFoundation,
|
|
234
242
|
BaseDrawerComponent
|
|
235
243
|
};
|
|
236
|
-
//# sourceMappingURL=chunk.
|
|
244
|
+
//# sourceMappingURL=chunk.K7OLG7CS.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/drawer/base/base-drawer-constants.ts", "../../src/drawer/base/base-drawer-adapter.ts", "../../src/drawer/base/base-drawer-foundation.ts", "../../src/drawer/base/base-drawer.ts"],
|
|
4
|
+
"sourcesContent": ["const attributes = {\n OPEN: 'open',\n DIRECTION: 'direction'\n};\n\nconst classes = {\n DRAWER: 'forge-drawer',\n LEFT: 'forge-drawer--left',\n RIGHT: 'forge-drawer--right',\n CLOSING: 'forge-drawer--closing',\n CLOSED: 'forge-drawer--closed',\n NO_TRANSITION: 'forge-drawer--no-transition'\n};\n\nconst selectors = {\n DRAWER: `.${classes.DRAWER}`\n};\n\nconst events = {\n AFTER_OPEN: `forge-drawer-after-open`,\n AFTER_CLOSE: `forge-drawer-after-close`\n};\n\nexport const BASE_DRAWER_CONSTANTS = {\n attributes,\n classes,\n selectors,\n events\n};\n\nexport type DrawerDirection = 'left' | 'right';\n", "import { addClass, getShadowElement, removeClass } from '@tylertech/forge-core';\nimport { proxyShadowScrollEvent } from '../../core/utils/event-utils';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseDrawerComponent } from './base-drawer';\nimport { DrawerDirection, BASE_DRAWER_CONSTANTS } from './base-drawer-constants';\n\nexport interface IBaseDrawerAdapter extends IBaseAdapter {\n proxyScrollEvent(): void;\n tryUnproxyScrollEvent(): void;\n setDirection(direction: DrawerDirection): void;\n removeDrawerClass(className: string | string[]): void;\n setDrawerClass(className: string | string[]): void;\n listenTransitionComplete(listener: () => void): void;\n}\n\nexport class BaseDrawerAdapter extends BaseAdapter<IBaseDrawerComponent> implements IBaseDrawerAdapter {\n protected _drawerElement: HTMLElement;\n private _activeTransitionListener: ((evt: TransitionEvent) => void) | undefined;\n private _unproxyScrollEventCb: (() => void) | undefined;\n\n constructor(protected _component: IBaseDrawerComponent) {\n super(_component);\n this._drawerElement = getShadowElement(this._component, BASE_DRAWER_CONSTANTS.selectors.DRAWER);\n }\n\n public proxyScrollEvent(): void {\n // We proxy the scroll event because our internal scroll container does not dispatch this event outside of the shadow root to any listeners.\n // This is a problem because if we have any components that need to react to the scroll event, such as our popup elements, they will not be\n // notified. This will ensure we always proxy this event out from the host. \n this.tryUnproxyScrollEvent();\n this._unproxyScrollEventCb = proxyShadowScrollEvent(this._component.shadowRoot as ShadowRoot, this._component);\n }\n\n public tryUnproxyScrollEvent(): void {\n if (this._unproxyScrollEventCb) {\n this._unproxyScrollEventCb();\n }\n }\n\n public setDirection(direction: DrawerDirection): void {\n switch (direction) {\n case 'left':\n this._drawerElement.classList.remove(BASE_DRAWER_CONSTANTS.classes.RIGHT);\n this._drawerElement.classList.add(BASE_DRAWER_CONSTANTS.classes.LEFT);\n break;\n case 'right':\n this._drawerElement.classList.remove(BASE_DRAWER_CONSTANTS.classes.LEFT);\n this._drawerElement.classList.add(BASE_DRAWER_CONSTANTS.classes.RIGHT);\n break;\n }\n }\n\n public removeDrawerClass(className: string | string[]): void {\n removeClass(className, this._drawerElement);\n }\n\n public setDrawerClass(className: string | string[]): void {\n addClass(className, this._drawerElement);\n }\n\n public listenTransitionComplete(listener: () => void): void {\n if (this._activeTransitionListener) {\n this._drawerElement.removeEventListener('transitionend', this._activeTransitionListener);\n }\n this._activeTransitionListener = (evt: TransitionEvent) => {\n if (evt.propertyName === 'transform') {\n if (this._activeTransitionListener) {\n this._drawerElement.removeEventListener('transitionend', this._activeTransitionListener);\n this._activeTransitionListener = undefined;\n }\n listener();\n }\n };\n this._drawerElement.addEventListener('transitionend', this._activeTransitionListener);\n }\n}\n", "import { ICustomElementFoundation, isDefined } from '@tylertech/forge-core';\nimport { IBaseDrawerAdapter } from './base-drawer-adapter';\nimport { DrawerDirection, BASE_DRAWER_CONSTANTS } from './base-drawer-constants';\n\nexport interface IBaseDrawerFoundation extends ICustomElementFoundation {\n direction: DrawerDirection;\n}\n\nexport class BaseDrawerFoundation implements IBaseDrawerFoundation {\n protected _open = true;\n protected _direction: DrawerDirection = 'left';\n private _hasInitialized = false;\n private _openAnimationListener: () => void;\n private _closeAnimationListener: () => void;\n\n constructor(protected _adapter: IBaseDrawerAdapter) {\n this._openAnimationListener = () => this._onOpenComplete();\n this._closeAnimationListener = () => this._onCloseComplete();\n }\n\n public connect(): void {\n if (this._open) {\n this._setOpened();\n } else {\n this._setClosed();\n }\n\n this._applyDirection();\n this._adapter.proxyScrollEvent();\n this._hasInitialized = true;\n }\n\n public disconnect(): void {\n this._adapter.tryUnproxyScrollEvent();\n this._hasInitialized = false;\n }\n\n private _applyDirection(): void {\n this._adapter.setDirection(this._direction);\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.DIRECTION, isDefined(this._direction) ? this._direction.toString() : '');\n }\n\n private _onOpenComplete(): void {\n if (!this._open) {\n return;\n }\n this._setOpened();\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_OPEN);\n }\n \n private _onCloseComplete(): void {\n if (this._open) {\n return;\n }\n this._setClosed();\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_CLOSE);\n }\n\n private _setOpened(): void {\n this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n\n private _setClosed(): void {\n this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSING, BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION]);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);\n this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n\n protected _applyOpen(): void {\n if (this._open) {\n this._triggerDrawerOpen();\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n } else {\n this._triggerDrawerClose();\n this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n }\n\n protected _triggerDrawerOpen(): void {\n this._adapter.listenTransitionComplete(this._openAnimationListener);\n this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);\n }\n\n protected _triggerDrawerClose(): void {\n this._adapter.listenTransitionComplete(this._closeAnimationListener);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n this._open = value;\n if (this._hasInitialized) {\n this._applyOpen();\n }\n }\n }\n\n public get direction(): DrawerDirection {\n return this._direction;\n }\n public set direction(value: DrawerDirection) {\n if (this._direction !== value) {\n this._direction = value;\n if (this._hasInitialized) {\n this._applyDirection();\n }\n }\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { BASE_DRAWER_CONSTANTS, DrawerDirection } from './base-drawer-constants';\nimport { BaseDrawerFoundation } from './base-drawer-foundation';\n\nexport interface IBaseDrawerComponent extends IBaseComponent {\n open: boolean;\n direction: DrawerDirection;\n}\n\ndeclare global {\n interface HTMLElementEventMap {\n 'forge-drawer-after-open': CustomEvent<void>;\n 'forge-drawer-after-close': CustomEvent<void>;\n }\n}\n\nexport abstract class BaseDrawerComponent<T extends BaseDrawerFoundation> extends BaseComponent implements IBaseDrawerComponent {\n public static get observedAttributes(): string[] {\n return [\n BASE_DRAWER_CONSTANTS.attributes.OPEN,\n BASE_DRAWER_CONSTANTS.attributes.DIRECTION\n ];\n }\n\n protected abstract _foundation: T;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n this._foundation.connect();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BASE_DRAWER_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BASE_DRAWER_CONSTANTS.attributes.DIRECTION:\n this.direction = newValue as DrawerDirection;\n break;\n }\n }\n\n /** Toggles whether a `dismissible` or `modal` drawer is open or not. Has no effect on `permanent` drawers. */\n @FoundationProperty()\n public open: boolean;\n\n /** Controls the laytout direction of the drawer for positioning on the left vs. right side of the screen. */\n @FoundationProperty()\n public direction: DrawerDirection;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -379,7 +379,7 @@ var FilePickerFoundation = class {
|
|
|
379
379
|
|
|
380
380
|
// dist/build/lib/staging/src/file-picker/file-picker.ts
|
|
381
381
|
var template = '<template><form class="forge-file-picker" id="container" part="form"><div class="forge-file-picker__primary" id="primary" part="primary"><slot name="primary"></slot></div><slot id="button-slot"></slot><div class="forge-file-picker__secondary" id="secondary" part="secondary"><slot name="secondary"></slot></div><input type="file" class="forge-file-picker__input" id="input" part="input"></form><div class="forge-file-picker__helper-text" part="helper-text-container"><slot name="helper-text"></slot></div></template>';
|
|
382
|
-
var styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';
|
|
382
|
+
var styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';
|
|
383
383
|
var FilePickerComponent = class extends BaseComponent {
|
|
384
384
|
constructor() {
|
|
385
385
|
super();
|
|
@@ -510,4 +510,4 @@ export {
|
|
|
510
510
|
FilePickerComponentDelegate,
|
|
511
511
|
defineFilePickerComponent
|
|
512
512
|
};
|
|
513
|
-
//# sourceMappingURL=chunk.
|
|
513
|
+
//# sourceMappingURL=chunk.PNKLV3BK.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/file-picker/file-picker-constants.ts", "../../src/file-picker/file-picker-adapter.ts", "../../src/file-picker/file-picker-foundation.ts", "../../src/file-picker/file-picker.ts", "../../src/file-picker/file-picker-component-delegate.ts", "../../src/file-picker/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}file-picker`;\n\nconst attributes = {\n ACCEPT: 'accept',\n MAX_SIZE: 'max-size',\n CAPTURE: 'capture',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst classes = {\n HIGHLIGHT: 'highlight',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst ids = {\n CONTAINER: 'container',\n BUTTON: 'button',\n INPUT: 'input'\n};\n\nconst selectors = {\n CONTAINER: '#container',\n BUTTON: '#button',\n INPUT: '#input',\n BUTTON_SLOT: '#button-slot'\n};\n\nconst events = {\n FILES_CHANGED: `${elementName}-change`\n};\n\nexport const FILE_PICKER_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n events\n};\n\nexport interface IFilePickerChangeEventData {\n legalFiles?: File[];\n illegalFiles?: File[];\n}\n", "import { getShadowElement, emitEvent } from '@tylertech/forge-core';\n\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS } from './file-picker-constants';\nimport { BaseAdapter, IBaseAdapter } from '../core';\n\nexport interface IFilePickerAdapter extends IBaseAdapter {\n registerButtonSlotListener(listener: (evt: Event) => void): void;\n registerInputChangeListener(listener: (evt: Event) => void): void;\n registerDragEnterListener(listener: (evt: DragEvent) => void): void;\n registerDragLeaveListener(listener: (evt: DragEvent) => void): void;\n registerDragOverListener(listener: (evt: DragEvent) => void): void;\n registerDropListener(listener: (evt: DragEvent) => void): void;\n removeDragEnterListener(listener: (evt: DragEvent) => void): void;\n removeDragLeaveListener(listener: (evt: DragEvent) => void): void;\n removeDragOverListener(listener: (evt: DragEvent) => void): void;\n removeDropListener(listener: (evt: DragEvent) => void): void;\n initializeButton(): void;\n setHighlightState(value: boolean): void;\n setAccept(value: string | null): void;\n setCapture(value: string | null): void;\n setMultiple(value: boolean): void;\n setDisabled(value: boolean): void;\n setCompact(value: boolean): void;\n setBorderless(value: boolean): void;\n}\n\nexport class FilePickerAdapter extends BaseAdapter<IFilePickerComponent> implements IFilePickerAdapter {\n private _container: HTMLElement;\n private _buttonSlot: HTMLSlotElement;\n private _button: HTMLButtonElement;\n private _input: HTMLInputElement;\n private _inputEventListener: () => void;\n\n constructor(component: IFilePickerComponent) {\n super(component);\n\n this._container = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.CONTAINER);\n this._buttonSlot = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.BUTTON_SLOT) as HTMLSlotElement;\n this._input = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n\n this._inputEventListener = () => {\n this._input.value = '';\n this._input.click();\n };\n\n this._container.addEventListener('click', this._inputEventListener);\n }\n\n public registerButtonSlotListener(listener: (evt: Event) => void): void {\n this._buttonSlot.addEventListener('slotchange', listener);\n }\n\n public registerInputChangeListener(listener: (evt: Event) => void): void {\n this._input.addEventListener('change', listener);\n }\n\n public registerDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragenter', listener);\n }\n\n public registerDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragleave', listener);\n }\n\n public registerDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragover', listener);\n }\n\n public registerDropListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('drop', listener);\n }\n\n public removeDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragenter', listener);\n }\n\n public removeDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragleave', listener);\n }\n\n public removeDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragover', listener);\n }\n\n public removeDropListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('drop', listener);\n }\n\n public initializeButton(): void {\n const button = this._component.querySelector('button') as HTMLButtonElement;\n this._button = button || undefined;\n }\n\n /**\n * Sets the highlight state of the file picker.\n * @param value True if the highlight should be applied and false if not.\n */\n public setHighlightState(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT);\n }\n }\n\n /**\n * Sets the accept attribute of the input.\n * @param value The accept string.\n */\n public setAccept(value: string | null): void {\n if (value) {\n this._input.setAttribute('accept', value);\n } else {\n this._input.removeAttribute('accept');\n }\n }\n\n /**\n * Sets the capture attribute of the input.\n * @param value The capture string.\n */\n public setCapture(value: string | null): void {\n if (value) {\n this._input.setAttribute('capture', value);\n } else {\n this._input.removeAttribute('capture');\n }\n }\n\n /**\n * Sets the multiple attribute of the input.\n * @param value The multiple state.\n */\n public setMultiple(value: boolean): void {\n if (value) {\n this._input.setAttribute('multiple', '');\n } else {\n this._input.removeAttribute('multiple');\n }\n }\n\n /**\n * Sets the disabled state of the file picker.\n * @param value The disabled state.\n */\n public setDisabled(value: boolean): void {\n if (value) {\n this._container.removeEventListener('click', this._inputEventListener);\n this._button.setAttribute('disabled', '');\n this._container.setAttribute('disabled', '');\n } else {\n this._container.addEventListener('click', this._inputEventListener);\n this._button.removeAttribute('disabled');\n this._container.removeAttribute('disabled');\n }\n }\n\n /**\n * Sets the compact state of the file picker.\n * @param value The compact state.\n */\n public setCompact(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.COMPACT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.COMPACT);\n }\n }\n\n /**\n * Sets the borderless state of the file picker.\n * @param value The borderless state.\n */\n public setBorderless(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.BORDERLESS) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.BORDERLESS);\n }\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IFilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport interface IFilePickerFoundation extends ICustomElementFoundation {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\nexport class FilePickerFoundation implements IFilePickerFoundation {\n private _accept: string | null = null;\n private _maxSize: number | null = null;\n private _capture: string | null = null;\n private _multiple = false;\n private _disabled = false;\n private _compact = false;\n private _borderless = false;\n private _buttonSlotListener: (evt: Event) => void;\n private _inputChangeListener: (evt: Event) => void;\n private _dragEnterListener: (evt: DragEvent) => void;\n private _dragLeaveListener: (evt: DragEvent) => void;\n private _dragOverListener: (evt: DragEvent) => void;\n private _dropListener: (evt: DragEvent) => void;\n\n constructor(private _adapter: IFilePickerAdapter) {\n this._buttonSlotListener = evt => this._onButtonSlotChanged(evt);\n this._inputChangeListener = evt => this._onInputChange(evt);\n this._dragEnterListener = evt => this._onDragEnter(evt);\n this._dragLeaveListener = evt => this._onDragLeave(evt);\n this._dragOverListener = evt => this._onDragOver(evt);\n this._dropListener = evt => this._onDrop(evt);\n\n this._adapter.registerButtonSlotListener(this._buttonSlotListener);\n this._adapter.registerInputChangeListener(this._inputChangeListener);\n if (!this._compact) {\n this._registerDragListeners();\n }\n }\n\n public initialize(): void {\n this._adapter.initializeButton();\n }\n\n private _onButtonSlotChanged(evt: Event): void {\n this._adapter.initializeButton();\n }\n\n private _onInputChange(evt: Event): void {\n const files = (evt.target as HTMLInputElement).files;\n if (files) {\n this._handleFiles(files);\n }\n }\n\n private _onDragEnter(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDragLeave(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n }\n\n private _onDragOver(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDrop(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n\n if (!this._disabled) {\n const dataTransfer = evt.dataTransfer;\n if (dataTransfer) {\n const files = dataTransfer.files;\n this._handleFiles(files);\n }\n }\n }\n\n private _registerDragListeners(): void {\n this._adapter.registerDragEnterListener(this._dragEnterListener);\n this._adapter.registerDragLeaveListener(this._dragLeaveListener);\n this._adapter.registerDragOverListener(this._dragOverListener);\n this._adapter.registerDropListener(this._dropListener);\n }\n\n private _removeDragListeners(): void {\n this._adapter.removeDragEnterListener(this._dragEnterListener);\n this._adapter.removeDragLeaveListener(this._dragLeaveListener);\n this._adapter.removeDragOverListener(this._dragOverListener);\n this._adapter.removeDropListener(this._dropListener);\n }\n\n private _handleFiles(fileList: FileList): void {\n let data: IFilePickerChangeEventData = {};\n if (fileList) {\n const sortedFiles = this._sortFiles(fileList);\n let files = sortedFiles.legalFiles || null;\n\n // Ensure that we can only drop 1 file if not in multiple mode\n if (!this._multiple && files && files.length > 1) {\n files = files.splice(1);\n }\n\n data = sortedFiles;\n }\n this._adapter.emitHostEvent(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, data);\n }\n\n private _sortFiles(files: FileList): IFilePickerChangeEventData {\n let legalFiles: File[] = [];\n const illegalFiles: File[] = [];\n\n if (!this._accept && !this.maxSize) {\n legalFiles = Array.from(files);\n return { legalFiles, illegalFiles };\n }\n\n const formats = this._accept ? this._accept.split(',').map(f => f.trim().toLowerCase()) : [''];\n\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < files.length; i++) {\n if (!formats.some(f => {\n return files[i].type.toLowerCase().match(f) || files[i].name.toLowerCase().match('\\\\' + f);\n }) || (this._maxSize && files[i].size > this._maxSize)) {\n illegalFiles.push(files[i]);\n } else {\n legalFiles.push(files[i]);\n }\n }\n\n return { legalFiles, illegalFiles };\n }\n\n private _handleDragEvent(evt: DragEvent, isOverTarget: boolean): void {\n if (!this._disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this._adapter.setHighlightState(isOverTarget);\n }\n }\n\n /** Get and set the allowed file types */\n public get accept(): string | null {\n return this._accept;\n }\n public set accept(value: string | null) {\n if (this._accept !== value) {\n this._accept = value;\n this._adapter.setAccept(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT);\n }\n }\n }\n\n /** Get and set the maximum allowed file size */\n public get maxSize(): number | null {\n return this._maxSize;\n }\n public set maxSize(value: number | null) {\n if (this._maxSize !== value) {\n this._maxSize = value;\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE, value.toString());\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE);\n }\n }\n }\n\n /** Get and set the camera to use when capturing video or images */\n public get capture(): string | null {\n return this._capture;\n }\n public set capture(value: string | null) {\n if (this._capture !== value) {\n this._capture = value;\n this._adapter.setCapture(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE);\n }\n }\n }\n\n /** Get and set whether multiple files are allowed */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setMultiple(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n }\n }\n }\n\n /** Get and set whether the file picker is disabled */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n }\n }\n }\n\n /** Get and set whether the file picker is compact */\n public get compact(): boolean {\n return this._compact;\n }\n public set compact(value: boolean) {\n if (this._compact !== value) {\n this._compact = value;\n this._adapter.setCompact(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._removeDragListeners();\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._registerDragListeners();\n }\n }\n }\n\n /** Get and set whether the file picker is borderless */\n public get borderless(): boolean {\n return this._borderless;\n }\n public set borderless(value: boolean) {\n if (this._borderless !== value) {\n this._borderless = value;\n this._adapter.setBorderless(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n }\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ButtonComponent } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\nimport { FilePickerFoundation } from './file-picker-foundation';\n\nconst template = '<template><form class=\\\"forge-file-picker\\\" id=\\\"container\\\" part=\\\"form\\\"><div class=\\\"forge-file-picker__primary\\\" id=\\\"primary\\\" part=\\\"primary\\\"><slot name=\\\"primary\\\"></slot></div><slot id=\\\"button-slot\\\"></slot><div class=\\\"forge-file-picker__secondary\\\" id=\\\"secondary\\\" part=\\\"secondary\\\"><slot name=\\\"secondary\\\"></slot></div><input type=\\\"file\\\" class=\\\"forge-file-picker__input\\\" id=\\\"input\\\" part=\\\"input\\\"></form><div class=\\\"forge-file-picker__helper-text\\\" part=\\\"helper-text-container\\\"><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';\n\nexport interface IFilePickerComponent extends IBaseComponent {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-file-picker': IFilePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-file-picker-change': CustomEvent<IFilePickerChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-file-picker>` custom element.\n * \n * @tag forge-file-picker\n */\n@CustomElement({\n name: FILE_PICKER_CONSTANTS.elementName,\n dependencies: [ButtonComponent]\n})\nexport class FilePickerComponent extends BaseComponent implements IFilePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n FILE_PICKER_CONSTANTS.attributes.ACCEPT,\n FILE_PICKER_CONSTANTS.attributes.MAX_SIZE,\n FILE_PICKER_CONSTANTS.attributes.CAPTURE,\n FILE_PICKER_CONSTANTS.attributes.MULTIPLE,\n FILE_PICKER_CONSTANTS.attributes.DISABLED,\n FILE_PICKER_CONSTANTS.attributes.COMPACT,\n FILE_PICKER_CONSTANTS.attributes.BORDERLESS\n ];\n }\n\n private _foundation: FilePickerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new FilePickerFoundation(new FilePickerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FILE_PICKER_CONSTANTS.attributes.ACCEPT:\n this.accept = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MAX_SIZE:\n this.maxSize = coerceNumber(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.CAPTURE:\n this.capture = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.COMPACT:\n this.compact = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.BORDERLESS:\n this.borderless = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets and sets the allowed file types */\n @FoundationProperty()\n public accept: string | null;\n\n /** Gets and sets the maximum allowed file size */\n @FoundationProperty()\n public maxSize: number | null;\n\n /** Gets and sets the camera to use when capturing video or images */\n @FoundationProperty()\n public capture: string | null;\n\n /** Gets and sets whether multiple files are allowed */\n @FoundationProperty()\n public multiple: boolean;\n\n /** Gets and sets whether the file picker is disabled */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets and sets whether the file picker is compact */\n @FoundationProperty()\n public compact: boolean;\n\n /** Gets and sets whether the file picker is borderless */\n @FoundationProperty()\n public borderless: boolean;\n}\n", "import { ButtonComponentDelegate } from '../button/button-component-delegate';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport type FilePickerComponentDelegateProps = Partial<IFilePickerComponent>;\nexport interface IFilePickerComponentDelegateOptions extends IBaseComponentDelegateOptions {\n primaryText?: string;\n secondaryText?: string;\n helperText?: string;\n buttonText?: string;\n}\nexport interface IFilePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IFilePickerComponent, IFilePickerComponentDelegateOptions> {}\n\nexport class FilePickerComponentDelegate extends BaseComponentDelegate<IFilePickerComponent, IFilePickerComponentDelegateOptions> {\n constructor(config?: IFilePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IFilePickerComponent {\n return document.createElement(FILE_PICKER_CONSTANTS.elementName);\n }\n\n protected _configure(): void {\n if (this._config.options?.primaryText) {\n const primarySpan = document.createElement('span');\n primarySpan.slot = 'primary';\n primarySpan.textContent = this._config.options.primaryText;\n this._element.appendChild(primarySpan);\n }\n\n if (this._config.options?.secondaryText) {\n const secondarySpan = document.createElement('span');\n secondarySpan.slot = 'secondary';\n secondarySpan.textContent = this._config.options.secondaryText;\n this._element.appendChild(secondarySpan);\n }\n\n if (this._config.options?.buttonText) {\n new ButtonComponentDelegate({\n options: {\n parent: this._element,\n text: this._config.options.buttonText\n },\n props: { type: 'outlined' }\n });\n }\n\n if (this._config.options?.helperText) {\n const helperTextSpan = document.createElement('span');\n helperTextSpan.slot = 'helper-text';\n helperTextSpan.textContent = this._config.options.helperText;\n this._element.appendChild(helperTextSpan);\n }\n }\n\n public onChange(cb: (evt: IFilePickerChangeEventData) => void): void {\n this._element.addEventListener(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, (evt: CustomEvent<IFilePickerChangeEventData>) => cb(evt.detail));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { FilePickerComponent } from './file-picker';\n\nexport * from './file-picker-adapter';\nexport * from './file-picker-constants';\nexport * from './file-picker-foundation';\nexport * from './file-picker';\nexport * from './file-picker-component-delegate';\n\nexport function defineFilePickerComponent(): void {\n defineCustomElement(FilePickerComponent);\n}\n"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}file-picker`;\n\nconst attributes = {\n ACCEPT: 'accept',\n MAX_SIZE: 'max-size',\n CAPTURE: 'capture',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst classes = {\n HIGHLIGHT: 'highlight',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst ids = {\n CONTAINER: 'container',\n BUTTON: 'button',\n INPUT: 'input'\n};\n\nconst selectors = {\n CONTAINER: '#container',\n BUTTON: '#button',\n INPUT: '#input',\n BUTTON_SLOT: '#button-slot'\n};\n\nconst events = {\n FILES_CHANGED: `${elementName}-change`\n};\n\nexport const FILE_PICKER_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n events\n};\n\nexport interface IFilePickerChangeEventData {\n legalFiles?: File[];\n illegalFiles?: File[];\n}\n", "import { getShadowElement, emitEvent } from '@tylertech/forge-core';\n\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS } from './file-picker-constants';\nimport { BaseAdapter, IBaseAdapter } from '../core';\n\nexport interface IFilePickerAdapter extends IBaseAdapter {\n registerButtonSlotListener(listener: (evt: Event) => void): void;\n registerInputChangeListener(listener: (evt: Event) => void): void;\n registerDragEnterListener(listener: (evt: DragEvent) => void): void;\n registerDragLeaveListener(listener: (evt: DragEvent) => void): void;\n registerDragOverListener(listener: (evt: DragEvent) => void): void;\n registerDropListener(listener: (evt: DragEvent) => void): void;\n removeDragEnterListener(listener: (evt: DragEvent) => void): void;\n removeDragLeaveListener(listener: (evt: DragEvent) => void): void;\n removeDragOverListener(listener: (evt: DragEvent) => void): void;\n removeDropListener(listener: (evt: DragEvent) => void): void;\n initializeButton(): void;\n setHighlightState(value: boolean): void;\n setAccept(value: string | null): void;\n setCapture(value: string | null): void;\n setMultiple(value: boolean): void;\n setDisabled(value: boolean): void;\n setCompact(value: boolean): void;\n setBorderless(value: boolean): void;\n}\n\nexport class FilePickerAdapter extends BaseAdapter<IFilePickerComponent> implements IFilePickerAdapter {\n private _container: HTMLElement;\n private _buttonSlot: HTMLSlotElement;\n private _button: HTMLButtonElement;\n private _input: HTMLInputElement;\n private _inputEventListener: () => void;\n\n constructor(component: IFilePickerComponent) {\n super(component);\n\n this._container = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.CONTAINER);\n this._buttonSlot = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.BUTTON_SLOT) as HTMLSlotElement;\n this._input = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n\n this._inputEventListener = () => {\n this._input.value = '';\n this._input.click();\n };\n\n this._container.addEventListener('click', this._inputEventListener);\n }\n\n public registerButtonSlotListener(listener: (evt: Event) => void): void {\n this._buttonSlot.addEventListener('slotchange', listener);\n }\n\n public registerInputChangeListener(listener: (evt: Event) => void): void {\n this._input.addEventListener('change', listener);\n }\n\n public registerDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragenter', listener);\n }\n\n public registerDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragleave', listener);\n }\n\n public registerDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragover', listener);\n }\n\n public registerDropListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('drop', listener);\n }\n\n public removeDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragenter', listener);\n }\n\n public removeDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragleave', listener);\n }\n\n public removeDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragover', listener);\n }\n\n public removeDropListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('drop', listener);\n }\n\n public initializeButton(): void {\n const button = this._component.querySelector('button') as HTMLButtonElement;\n this._button = button || undefined;\n }\n\n /**\n * Sets the highlight state of the file picker.\n * @param value True if the highlight should be applied and false if not.\n */\n public setHighlightState(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT);\n }\n }\n\n /**\n * Sets the accept attribute of the input.\n * @param value The accept string.\n */\n public setAccept(value: string | null): void {\n if (value) {\n this._input.setAttribute('accept', value);\n } else {\n this._input.removeAttribute('accept');\n }\n }\n\n /**\n * Sets the capture attribute of the input.\n * @param value The capture string.\n */\n public setCapture(value: string | null): void {\n if (value) {\n this._input.setAttribute('capture', value);\n } else {\n this._input.removeAttribute('capture');\n }\n }\n\n /**\n * Sets the multiple attribute of the input.\n * @param value The multiple state.\n */\n public setMultiple(value: boolean): void {\n if (value) {\n this._input.setAttribute('multiple', '');\n } else {\n this._input.removeAttribute('multiple');\n }\n }\n\n /**\n * Sets the disabled state of the file picker.\n * @param value The disabled state.\n */\n public setDisabled(value: boolean): void {\n if (value) {\n this._container.removeEventListener('click', this._inputEventListener);\n this._button.setAttribute('disabled', '');\n this._container.setAttribute('disabled', '');\n } else {\n this._container.addEventListener('click', this._inputEventListener);\n this._button.removeAttribute('disabled');\n this._container.removeAttribute('disabled');\n }\n }\n\n /**\n * Sets the compact state of the file picker.\n * @param value The compact state.\n */\n public setCompact(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.COMPACT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.COMPACT);\n }\n }\n\n /**\n * Sets the borderless state of the file picker.\n * @param value The borderless state.\n */\n public setBorderless(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.BORDERLESS) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.BORDERLESS);\n }\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IFilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport interface IFilePickerFoundation extends ICustomElementFoundation {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\nexport class FilePickerFoundation implements IFilePickerFoundation {\n private _accept: string | null = null;\n private _maxSize: number | null = null;\n private _capture: string | null = null;\n private _multiple = false;\n private _disabled = false;\n private _compact = false;\n private _borderless = false;\n private _buttonSlotListener: (evt: Event) => void;\n private _inputChangeListener: (evt: Event) => void;\n private _dragEnterListener: (evt: DragEvent) => void;\n private _dragLeaveListener: (evt: DragEvent) => void;\n private _dragOverListener: (evt: DragEvent) => void;\n private _dropListener: (evt: DragEvent) => void;\n\n constructor(private _adapter: IFilePickerAdapter) {\n this._buttonSlotListener = evt => this._onButtonSlotChanged(evt);\n this._inputChangeListener = evt => this._onInputChange(evt);\n this._dragEnterListener = evt => this._onDragEnter(evt);\n this._dragLeaveListener = evt => this._onDragLeave(evt);\n this._dragOverListener = evt => this._onDragOver(evt);\n this._dropListener = evt => this._onDrop(evt);\n\n this._adapter.registerButtonSlotListener(this._buttonSlotListener);\n this._adapter.registerInputChangeListener(this._inputChangeListener);\n if (!this._compact) {\n this._registerDragListeners();\n }\n }\n\n public initialize(): void {\n this._adapter.initializeButton();\n }\n\n private _onButtonSlotChanged(evt: Event): void {\n this._adapter.initializeButton();\n }\n\n private _onInputChange(evt: Event): void {\n const files = (evt.target as HTMLInputElement).files;\n if (files) {\n this._handleFiles(files);\n }\n }\n\n private _onDragEnter(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDragLeave(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n }\n\n private _onDragOver(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDrop(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n\n if (!this._disabled) {\n const dataTransfer = evt.dataTransfer;\n if (dataTransfer) {\n const files = dataTransfer.files;\n this._handleFiles(files);\n }\n }\n }\n\n private _registerDragListeners(): void {\n this._adapter.registerDragEnterListener(this._dragEnterListener);\n this._adapter.registerDragLeaveListener(this._dragLeaveListener);\n this._adapter.registerDragOverListener(this._dragOverListener);\n this._adapter.registerDropListener(this._dropListener);\n }\n\n private _removeDragListeners(): void {\n this._adapter.removeDragEnterListener(this._dragEnterListener);\n this._adapter.removeDragLeaveListener(this._dragLeaveListener);\n this._adapter.removeDragOverListener(this._dragOverListener);\n this._adapter.removeDropListener(this._dropListener);\n }\n\n private _handleFiles(fileList: FileList): void {\n let data: IFilePickerChangeEventData = {};\n if (fileList) {\n const sortedFiles = this._sortFiles(fileList);\n let files = sortedFiles.legalFiles || null;\n\n // Ensure that we can only drop 1 file if not in multiple mode\n if (!this._multiple && files && files.length > 1) {\n files = files.splice(1);\n }\n\n data = sortedFiles;\n }\n this._adapter.emitHostEvent(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, data);\n }\n\n private _sortFiles(files: FileList): IFilePickerChangeEventData {\n let legalFiles: File[] = [];\n const illegalFiles: File[] = [];\n\n if (!this._accept && !this.maxSize) {\n legalFiles = Array.from(files);\n return { legalFiles, illegalFiles };\n }\n\n const formats = this._accept ? this._accept.split(',').map(f => f.trim().toLowerCase()) : [''];\n\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < files.length; i++) {\n if (!formats.some(f => {\n return files[i].type.toLowerCase().match(f) || files[i].name.toLowerCase().match('\\\\' + f);\n }) || (this._maxSize && files[i].size > this._maxSize)) {\n illegalFiles.push(files[i]);\n } else {\n legalFiles.push(files[i]);\n }\n }\n\n return { legalFiles, illegalFiles };\n }\n\n private _handleDragEvent(evt: DragEvent, isOverTarget: boolean): void {\n if (!this._disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this._adapter.setHighlightState(isOverTarget);\n }\n }\n\n /** Get and set the allowed file types */\n public get accept(): string | null {\n return this._accept;\n }\n public set accept(value: string | null) {\n if (this._accept !== value) {\n this._accept = value;\n this._adapter.setAccept(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT);\n }\n }\n }\n\n /** Get and set the maximum allowed file size */\n public get maxSize(): number | null {\n return this._maxSize;\n }\n public set maxSize(value: number | null) {\n if (this._maxSize !== value) {\n this._maxSize = value;\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE, value.toString());\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE);\n }\n }\n }\n\n /** Get and set the camera to use when capturing video or images */\n public get capture(): string | null {\n return this._capture;\n }\n public set capture(value: string | null) {\n if (this._capture !== value) {\n this._capture = value;\n this._adapter.setCapture(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE);\n }\n }\n }\n\n /** Get and set whether multiple files are allowed */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setMultiple(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n }\n }\n }\n\n /** Get and set whether the file picker is disabled */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n }\n }\n }\n\n /** Get and set whether the file picker is compact */\n public get compact(): boolean {\n return this._compact;\n }\n public set compact(value: boolean) {\n if (this._compact !== value) {\n this._compact = value;\n this._adapter.setCompact(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._removeDragListeners();\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._registerDragListeners();\n }\n }\n }\n\n /** Get and set whether the file picker is borderless */\n public get borderless(): boolean {\n return this._borderless;\n }\n public set borderless(value: boolean) {\n if (this._borderless !== value) {\n this._borderless = value;\n this._adapter.setBorderless(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n }\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ButtonComponent } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\nimport { FilePickerFoundation } from './file-picker-foundation';\n\nconst template = '<template><form class=\\\"forge-file-picker\\\" id=\\\"container\\\" part=\\\"form\\\"><div class=\\\"forge-file-picker__primary\\\" id=\\\"primary\\\" part=\\\"primary\\\"><slot name=\\\"primary\\\"></slot></div><slot id=\\\"button-slot\\\"></slot><div class=\\\"forge-file-picker__secondary\\\" id=\\\"secondary\\\" part=\\\"secondary\\\"><slot name=\\\"secondary\\\"></slot></div><input type=\\\"file\\\" class=\\\"forge-file-picker__input\\\" id=\\\"input\\\" part=\\\"input\\\"></form><div class=\\\"forge-file-picker__helper-text\\\" part=\\\"helper-text-container\\\"><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';\n\nexport interface IFilePickerComponent extends IBaseComponent {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-file-picker': IFilePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-file-picker-change': CustomEvent<IFilePickerChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-file-picker>` custom element.\n * \n * @tag forge-file-picker\n */\n@CustomElement({\n name: FILE_PICKER_CONSTANTS.elementName,\n dependencies: [ButtonComponent]\n})\nexport class FilePickerComponent extends BaseComponent implements IFilePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n FILE_PICKER_CONSTANTS.attributes.ACCEPT,\n FILE_PICKER_CONSTANTS.attributes.MAX_SIZE,\n FILE_PICKER_CONSTANTS.attributes.CAPTURE,\n FILE_PICKER_CONSTANTS.attributes.MULTIPLE,\n FILE_PICKER_CONSTANTS.attributes.DISABLED,\n FILE_PICKER_CONSTANTS.attributes.COMPACT,\n FILE_PICKER_CONSTANTS.attributes.BORDERLESS\n ];\n }\n\n private _foundation: FilePickerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new FilePickerFoundation(new FilePickerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FILE_PICKER_CONSTANTS.attributes.ACCEPT:\n this.accept = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MAX_SIZE:\n this.maxSize = coerceNumber(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.CAPTURE:\n this.capture = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.COMPACT:\n this.compact = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.BORDERLESS:\n this.borderless = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets and sets the allowed file types */\n @FoundationProperty()\n public accept: string | null;\n\n /** Gets and sets the maximum allowed file size */\n @FoundationProperty()\n public maxSize: number | null;\n\n /** Gets and sets the camera to use when capturing video or images */\n @FoundationProperty()\n public capture: string | null;\n\n /** Gets and sets whether multiple files are allowed */\n @FoundationProperty()\n public multiple: boolean;\n\n /** Gets and sets whether the file picker is disabled */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets and sets whether the file picker is compact */\n @FoundationProperty()\n public compact: boolean;\n\n /** Gets and sets whether the file picker is borderless */\n @FoundationProperty()\n public borderless: boolean;\n}\n", "import { ButtonComponentDelegate } from '../button/button-component-delegate';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport type FilePickerComponentDelegateProps = Partial<IFilePickerComponent>;\nexport interface IFilePickerComponentDelegateOptions extends IBaseComponentDelegateOptions {\n primaryText?: string;\n secondaryText?: string;\n helperText?: string;\n buttonText?: string;\n}\nexport interface IFilePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IFilePickerComponent, IFilePickerComponentDelegateOptions> {}\n\nexport class FilePickerComponentDelegate extends BaseComponentDelegate<IFilePickerComponent, IFilePickerComponentDelegateOptions> {\n constructor(config?: IFilePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IFilePickerComponent {\n return document.createElement(FILE_PICKER_CONSTANTS.elementName);\n }\n\n protected _configure(): void {\n if (this._config.options?.primaryText) {\n const primarySpan = document.createElement('span');\n primarySpan.slot = 'primary';\n primarySpan.textContent = this._config.options.primaryText;\n this._element.appendChild(primarySpan);\n }\n\n if (this._config.options?.secondaryText) {\n const secondarySpan = document.createElement('span');\n secondarySpan.slot = 'secondary';\n secondarySpan.textContent = this._config.options.secondaryText;\n this._element.appendChild(secondarySpan);\n }\n\n if (this._config.options?.buttonText) {\n new ButtonComponentDelegate({\n options: {\n parent: this._element,\n text: this._config.options.buttonText\n },\n props: { type: 'outlined' }\n });\n }\n\n if (this._config.options?.helperText) {\n const helperTextSpan = document.createElement('span');\n helperTextSpan.slot = 'helper-text';\n helperTextSpan.textContent = this._config.options.helperText;\n this._element.appendChild(helperTextSpan);\n }\n }\n\n public onChange(cb: (evt: IFilePickerChangeEventData) => void): void {\n this._element.addEventListener(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, (evt: CustomEvent<IFilePickerChangeEventData>) => cb(evt.detail));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { FilePickerComponent } from './file-picker';\n\nexport * from './file-picker-adapter';\nexport * from './file-picker-constants';\nexport * from './file-picker-foundation';\nexport * from './file-picker';\nexport * from './file-picker-component-delegate';\n\nexport function defineFilePickerComponent(): void {\n defineCustomElement(FilePickerComponent);\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import {
|
|
7
7
|
TimePickerComponent
|
|
8
|
-
} from "./chunk.
|
|
8
|
+
} from "./chunk.2NMHSTAO.js";
|
|
9
9
|
import {
|
|
10
10
|
ToastComponent
|
|
11
11
|
} from "./chunk.TM46MNYN.js";
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk.THKWQXBJ.js";
|
|
18
18
|
import {
|
|
19
19
|
TableComponent
|
|
20
|
-
} from "./chunk.
|
|
20
|
+
} from "./chunk.XE7ZMJBZ.js";
|
|
21
21
|
import {
|
|
22
22
|
TabBarComponent
|
|
23
23
|
} from "./chunk.ITQ55IPH.js";
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
} from "./chunk.QXZZ2MTF.js";
|
|
45
45
|
import {
|
|
46
46
|
PaginatorComponent
|
|
47
|
-
} from "./chunk.
|
|
47
|
+
} from "./chunk.HAWYW54W.js";
|
|
48
48
|
import {
|
|
49
49
|
SelectDropdownComponent
|
|
50
50
|
} from "./chunk.ZLF2G3YT.js";
|
|
@@ -62,7 +62,7 @@ import {
|
|
|
62
62
|
} from "./chunk.RD4RIFOZ.js";
|
|
63
63
|
import {
|
|
64
64
|
InlineMessageComponent
|
|
65
|
-
} from "./chunk.
|
|
65
|
+
} from "./chunk.35BJJH5E.js";
|
|
66
66
|
import {
|
|
67
67
|
KeyboardShortcutComponent
|
|
68
68
|
} from "./chunk.D33KLIFD.js";
|
|
@@ -71,16 +71,16 @@ import {
|
|
|
71
71
|
} from "./chunk.ANME7BKM.js";
|
|
72
72
|
import {
|
|
73
73
|
DrawerComponent
|
|
74
|
-
} from "./chunk.
|
|
74
|
+
} from "./chunk.BLZJIYMG.js";
|
|
75
75
|
import {
|
|
76
76
|
MiniDrawerComponent
|
|
77
|
-
} from "./chunk.
|
|
77
|
+
} from "./chunk.ZSHQMR4O.js";
|
|
78
78
|
import {
|
|
79
79
|
ModalDrawerComponent
|
|
80
|
-
} from "./chunk.
|
|
80
|
+
} from "./chunk.ELAJS33V.js";
|
|
81
81
|
import {
|
|
82
82
|
FilePickerComponent
|
|
83
|
-
} from "./chunk.
|
|
83
|
+
} from "./chunk.PNKLV3BK.js";
|
|
84
84
|
import {
|
|
85
85
|
FloatingActionButton
|
|
86
86
|
} from "./chunk.I7BQUB7Z.js";
|
|
@@ -143,7 +143,7 @@ import {
|
|
|
143
143
|
} from "./chunk.GXTNND2M.js";
|
|
144
144
|
import {
|
|
145
145
|
ButtonToggleGroupComponent
|
|
146
|
-
} from "./chunk.
|
|
146
|
+
} from "./chunk.EUPO2VO2.js";
|
|
147
147
|
import {
|
|
148
148
|
ButtonToggleComponent
|
|
149
149
|
} from "./chunk.IUNON3UL.js";
|
|
@@ -314,4 +314,4 @@ export {
|
|
|
314
314
|
* Copyright (c) 2022 Tyler Technologies, Inc.
|
|
315
315
|
* License: Apache-2.0
|
|
316
316
|
*/
|
|
317
|
-
//# sourceMappingURL=chunk.
|
|
317
|
+
//# sourceMappingURL=chunk.UFMUXBT4.js.map
|
|
File without changes
|
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
matchesPredicate
|
|
11
11
|
} from "./chunk.RV3E762Y.js";
|
|
12
12
|
import {
|
|
13
|
-
CHECKBOX_CONSTANTS
|
|
13
|
+
CHECKBOX_CONSTANTS,
|
|
14
|
+
CheckboxComponent
|
|
14
15
|
} from "./chunk.7UAH67PT.js";
|
|
15
16
|
import {
|
|
16
17
|
EXPANSION_PANEL_CONSTANTS,
|
|
@@ -2404,7 +2405,8 @@ TableComponent = __decorateClass([
|
|
|
2404
2405
|
name: TABLE_CONSTANTS.elementName,
|
|
2405
2406
|
dependencies: [
|
|
2406
2407
|
ExpansionPanelComponent,
|
|
2407
|
-
IconComponent
|
|
2408
|
+
IconComponent,
|
|
2409
|
+
CheckboxComponent
|
|
2408
2410
|
]
|
|
2409
2411
|
})
|
|
2410
2412
|
], TableComponent);
|
|
@@ -2425,4 +2427,4 @@ export {
|
|
|
2425
2427
|
TableComponent,
|
|
2426
2428
|
defineTableComponent
|
|
2427
2429
|
};
|
|
2428
|
-
//# sourceMappingURL=chunk.
|
|
2430
|
+
//# sourceMappingURL=chunk.XE7ZMJBZ.js.map
|