@tylertech/forge 2.2.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/esm/accordion/index.js +6 -5
- package/dist/esm/app-bar/help-button/index.js +9 -8
- package/dist/esm/app-bar/index.js +15 -14
- package/dist/esm/app-bar/menu-button/index.js +5 -4
- package/dist/esm/app-bar/notification-button/index.js +5 -4
- package/dist/esm/app-bar/profile-button/index.js +7 -6
- package/dist/esm/app-bar/search/index.js +4 -3
- package/dist/esm/autocomplete/index.js +10 -9
- package/dist/esm/banner/index.js +5 -4
- package/dist/esm/bottom-sheet/index.js +5 -4
- package/dist/esm/busy-indicator/index.js +5 -4
- package/dist/esm/button/index.js +3 -2
- package/dist/esm/calendar/calendar-dropdown/index.js +2 -1
- package/dist/esm/calendar/calendar-menu/index.js +2 -1
- package/dist/esm/calendar/index.js +6 -5
- package/dist/esm/checkbox/index.js +2 -1
- package/dist/esm/chip-field/index.js +7 -6
- package/dist/esm/chips/chip/index.js +5 -4
- package/dist/esm/chips/chip-set/index.js +5 -4
- package/dist/esm/chips/index.js +6 -5
- package/dist/esm/chunks/{chunk.DVYPTR7X.js → chunk.2TEHKM2X.js} +3 -3
- package/dist/esm/chunks/{chunk.DVYPTR7X.js.map → chunk.2TEHKM2X.js.map} +0 -0
- package/dist/esm/chunks/{chunk.3AK3VGRT.js → chunk.3GRDFAFV.js} +2 -2
- package/dist/esm/chunks/{chunk.3AK3VGRT.js.map → chunk.3GRDFAFV.js.map} +0 -0
- package/dist/esm/chunks/{chunk.V6TRG2CM.js → chunk.3MO6XU44.js} +2 -2
- package/dist/esm/chunks/{chunk.V6TRG2CM.js.map → chunk.3MO6XU44.js.map} +0 -0
- package/dist/esm/chunks/{chunk.47D77ELY.js → chunk.4FHBJXB7.js} +2 -2
- package/dist/esm/chunks/{chunk.47D77ELY.js.map → chunk.4FHBJXB7.js.map} +0 -0
- package/dist/esm/chunks/{chunk.DWURTRGM.js → chunk.5E6UZZKY.js} +6 -6
- package/dist/esm/chunks/{chunk.DWURTRGM.js.map → chunk.5E6UZZKY.js.map} +0 -0
- package/dist/esm/chunks/chunk.6EGTLHJS.js +16 -0
- package/dist/esm/chunks/chunk.6EGTLHJS.js.map +7 -0
- package/dist/esm/chunks/{chunk.VEC77KBM.js → chunk.AHBDISRG.js} +2 -2
- package/dist/esm/chunks/{chunk.VEC77KBM.js.map → chunk.AHBDISRG.js.map} +0 -0
- package/dist/esm/chunks/{chunk.I5JCM7RT.js → chunk.AHMBGV4N.js} +2 -2
- package/dist/esm/chunks/{chunk.I5JCM7RT.js.map → chunk.AHMBGV4N.js.map} +0 -0
- package/dist/esm/chunks/{chunk.3NOZRZ7R.js → chunk.ANNBOFGK.js} +2 -2
- package/dist/esm/chunks/{chunk.3NOZRZ7R.js.map → chunk.ANNBOFGK.js.map} +0 -0
- package/dist/esm/chunks/{chunk.4ZBBOR4H.js → chunk.APUL33GR.js} +2 -2
- package/dist/esm/chunks/{chunk.4ZBBOR4H.js.map → chunk.APUL33GR.js.map} +0 -0
- package/dist/esm/chunks/{chunk.Y2ORADJS.js → chunk.BVGIWAUP.js} +6 -6
- package/dist/esm/chunks/{chunk.Y2ORADJS.js.map → chunk.BVGIWAUP.js.map} +0 -0
- package/dist/esm/chunks/{chunk.JPARYEE4.js → chunk.CKVCNPLI.js} +23 -22
- package/dist/esm/chunks/chunk.CKVCNPLI.js.map +7 -0
- package/dist/esm/chunks/{chunk.5VNEDRVC.js → chunk.CLQS7CFC.js} +3 -3
- package/dist/esm/chunks/{chunk.5VNEDRVC.js.map → chunk.CLQS7CFC.js.map} +0 -0
- package/dist/esm/chunks/{chunk.IOKXLJST.js → chunk.DJX5CEYP.js} +4 -4
- package/dist/esm/chunks/{chunk.IOKXLJST.js.map → chunk.DJX5CEYP.js.map} +0 -0
- package/dist/esm/chunks/{chunk.YKNYR3NX.js → chunk.EJHMX24S.js} +2 -2
- package/dist/esm/chunks/{chunk.YKNYR3NX.js.map → chunk.EJHMX24S.js.map} +0 -0
- package/dist/esm/chunks/{chunk.X6O5VLTN.js → chunk.EKIW7VYG.js} +2 -2
- package/dist/esm/chunks/{chunk.X6O5VLTN.js.map → chunk.EKIW7VYG.js.map} +1 -1
- package/dist/esm/chunks/{chunk.V6Z2W3QQ.js → chunk.EL74HZRY.js} +5 -5
- package/dist/esm/chunks/{chunk.V6Z2W3QQ.js.map → chunk.EL74HZRY.js.map} +0 -0
- package/dist/esm/chunks/{chunk.LCAG7643.js → chunk.EXKNFD5S.js} +4 -4
- package/dist/esm/chunks/{chunk.LCAG7643.js.map → chunk.EXKNFD5S.js.map} +0 -0
- package/dist/esm/chunks/{chunk.W7XXZJPD.js → chunk.F2TZX24O.js} +42 -42
- package/dist/esm/chunks/{chunk.W7XXZJPD.js.map → chunk.F2TZX24O.js.map} +0 -0
- package/dist/esm/chunks/{chunk.IWXT6VVJ.js → chunk.GOWHXADJ.js} +15 -1
- package/dist/esm/chunks/chunk.GOWHXADJ.js.map +7 -0
- package/dist/esm/chunks/{chunk.B425FZOZ.js → chunk.HRZBANYY.js} +2 -2
- package/dist/esm/chunks/{chunk.B425FZOZ.js.map → chunk.HRZBANYY.js.map} +0 -0
- package/dist/esm/chunks/{chunk.VWSGCG2H.js → chunk.HZML57TK.js} +3 -3
- package/dist/esm/chunks/{chunk.VWSGCG2H.js.map → chunk.HZML57TK.js.map} +0 -0
- package/dist/esm/chunks/{chunk.5CZWANU6.js → chunk.ID2ITG5T.js} +3 -3
- package/dist/esm/chunks/{chunk.5CZWANU6.js.map → chunk.ID2ITG5T.js.map} +0 -0
- package/dist/esm/chunks/{chunk.NL6CT7BU.js → chunk.ISR3SND2.js} +2 -2
- package/dist/esm/chunks/{chunk.NL6CT7BU.js.map → chunk.ISR3SND2.js.map} +0 -0
- package/dist/esm/chunks/{chunk.XJVLHRVJ.js → chunk.JB2PM7FT.js} +2 -2
- package/dist/esm/chunks/{chunk.XJVLHRVJ.js.map → chunk.JB2PM7FT.js.map} +0 -0
- package/dist/esm/chunks/{chunk.PZ25GQD2.js → chunk.K7P3WRAY.js} +3 -3
- package/dist/esm/chunks/{chunk.PZ25GQD2.js.map → chunk.K7P3WRAY.js.map} +0 -0
- package/dist/esm/chunks/{chunk.7M3P4QES.js → chunk.L4N2DKAS.js} +6 -6
- package/dist/esm/chunks/{chunk.7M3P4QES.js.map → chunk.L4N2DKAS.js.map} +0 -0
- package/dist/esm/chunks/{chunk.C44LSSHS.js → chunk.LCVWXB3K.js} +2 -2
- package/dist/esm/chunks/{chunk.C44LSSHS.js.map → chunk.LCVWXB3K.js.map} +0 -0
- package/dist/esm/chunks/{chunk.HVD3BBQG.js → chunk.MIGASQA3.js} +2 -2
- package/dist/esm/chunks/{chunk.HVD3BBQG.js.map → chunk.MIGASQA3.js.map} +0 -0
- package/dist/esm/chunks/{chunk.RF5UPII7.js → chunk.N3ZPWKJ5.js} +6 -6
- package/dist/esm/chunks/{chunk.RF5UPII7.js.map → chunk.N3ZPWKJ5.js.map} +0 -0
- package/dist/esm/chunks/{chunk.H3WRHPWA.js → chunk.NF2CS4ZM.js} +3 -3
- package/dist/esm/chunks/{chunk.H3WRHPWA.js.map → chunk.NF2CS4ZM.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ZIFMMVW6.js → chunk.NFUWLTHW.js} +3 -3
- package/dist/esm/chunks/{chunk.ZIFMMVW6.js.map → chunk.NFUWLTHW.js.map} +0 -0
- package/dist/esm/chunks/{chunk.D5HPOHQX.js → chunk.O62N7AHR.js} +2 -2
- package/dist/esm/chunks/{chunk.D5HPOHQX.js.map → chunk.O62N7AHR.js.map} +0 -0
- package/dist/esm/chunks/{chunk.IYOZSEZ3.js → chunk.P7SAJ6M7.js} +2 -2
- package/dist/esm/chunks/{chunk.IYOZSEZ3.js.map → chunk.P7SAJ6M7.js.map} +0 -0
- package/dist/esm/chunks/{chunk.3VR7VHL5.js → chunk.PM7D2SUE.js} +1 -1
- package/dist/esm/chunks/{chunk.3VR7VHL5.js.map → chunk.PM7D2SUE.js.map} +0 -0
- package/dist/esm/chunks/{chunk.KQB2BYBK.js → chunk.PQ5LOH7W.js} +3 -3
- package/dist/esm/chunks/{chunk.KQB2BYBK.js.map → chunk.PQ5LOH7W.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ZPABBQEA.js → chunk.PSHHY3ER.js} +4 -4
- package/dist/esm/chunks/{chunk.ZPABBQEA.js.map → chunk.PSHHY3ER.js.map} +0 -0
- package/dist/esm/chunks/{chunk.EQCPRLUV.js → chunk.PXXLO4HJ.js} +2 -2
- package/dist/esm/chunks/{chunk.EQCPRLUV.js.map → chunk.PXXLO4HJ.js.map} +0 -0
- package/dist/esm/chunks/{chunk.MSCWHFJZ.js → chunk.QFPOG3VH.js} +5 -5
- package/dist/esm/chunks/{chunk.MSCWHFJZ.js.map → chunk.QFPOG3VH.js.map} +0 -0
- package/dist/esm/chunks/{chunk.L65L5VJ6.js → chunk.R4UKTXEK.js} +3 -3
- package/dist/esm/chunks/{chunk.L65L5VJ6.js.map → chunk.R4UKTXEK.js.map} +0 -0
- package/dist/esm/chunks/{chunk.LKUKESRQ.js → chunk.R5RVCPM2.js} +2 -2
- package/dist/esm/chunks/{chunk.LKUKESRQ.js.map → chunk.R5RVCPM2.js.map} +0 -0
- package/dist/esm/chunks/{chunk.C64YUJHS.js → chunk.S6QD4UJN.js} +2 -2
- package/dist/esm/chunks/{chunk.C64YUJHS.js.map → chunk.S6QD4UJN.js.map} +0 -0
- package/dist/esm/chunks/{chunk.P477KUJ4.js → chunk.SSFSLBBM.js} +2 -2
- package/dist/esm/chunks/{chunk.P477KUJ4.js.map → chunk.SSFSLBBM.js.map} +0 -0
- package/dist/esm/chunks/{chunk.D47KCZF7.js → chunk.SSXNS4NR.js} +4 -4
- package/dist/esm/chunks/{chunk.D47KCZF7.js.map → chunk.SSXNS4NR.js.map} +0 -0
- package/dist/esm/chunks/{chunk.RMVJBNCY.js → chunk.U2X7YAXC.js} +2 -2
- package/dist/esm/chunks/{chunk.RMVJBNCY.js.map → chunk.U2X7YAXC.js.map} +0 -0
- package/dist/esm/chunks/{chunk.BORNGK7Q.js → chunk.VDKKTHAJ.js} +2 -2
- package/dist/esm/chunks/{chunk.BORNGK7Q.js.map → chunk.VDKKTHAJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.U7HKGOBR.js → chunk.WVVWDQLQ.js} +3 -3
- package/dist/esm/chunks/{chunk.U7HKGOBR.js.map → chunk.WVVWDQLQ.js.map} +0 -0
- package/dist/esm/chunks/{chunk.UM3J4AZ7.js → chunk.XN65LPA3.js} +3 -3
- package/dist/esm/chunks/{chunk.UM3J4AZ7.js.map → chunk.XN65LPA3.js.map} +0 -0
- package/dist/esm/chunks/{chunk.D4VIYWFB.js → chunk.XPC7GINT.js} +2 -2
- package/dist/esm/chunks/{chunk.D4VIYWFB.js.map → chunk.XPC7GINT.js.map} +0 -0
- package/dist/esm/chunks/{chunk.DKHOY6QU.js → chunk.YMWBTMB6.js} +2 -2
- package/dist/esm/chunks/{chunk.DKHOY6QU.js.map → chunk.YMWBTMB6.js.map} +0 -0
- package/dist/esm/chunks/{chunk.HWWCD755.js → chunk.ZAAM3GTQ.js} +3 -3
- package/dist/esm/chunks/{chunk.HWWCD755.js.map → chunk.ZAAM3GTQ.js.map} +0 -0
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +5 -4
- package/dist/esm/core/index.js +5 -1
- package/dist/esm/core/utils/index.js +5 -1
- package/dist/esm/date-picker/index.js +8 -7
- package/dist/esm/date-range-picker/index.js +8 -7
- package/dist/esm/dialog/index.js +5 -4
- package/dist/esm/drawer/base/index.js +2 -1
- package/dist/esm/drawer/drawer/index.js +3 -2
- package/dist/esm/drawer/index.js +5 -4
- package/dist/esm/drawer/mini-drawer/index.js +3 -2
- package/dist/esm/drawer/modal-drawer/index.js +3 -2
- package/dist/esm/expansion-panel/index.js +5 -4
- package/dist/esm/file-picker/index.js +4 -3
- package/dist/esm/icon/index.js +3 -2
- package/dist/esm/icon-button/index.js +4 -3
- package/dist/esm/index.js +54 -50
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +4 -3
- package/dist/esm/menu/index.js +7 -6
- package/dist/esm/open-icon/index.js +4 -3
- package/dist/esm/paginator/index.js +12 -11
- package/dist/esm/profile-card/index.js +4 -3
- package/dist/esm/quantity-field/index.js +5 -4
- package/dist/esm/select/core/index.js +6 -5
- package/dist/esm/select/index.js +11 -10
- package/dist/esm/select/select/index.js +9 -8
- package/dist/esm/select/select-dropdown/index.js +9 -8
- package/dist/esm/slider/index.js +2 -1
- package/dist/esm/stepper/index.js +5 -4
- package/dist/esm/stepper/step/index.js +4 -3
- package/dist/esm/stepper/stepper/index.js +5 -4
- package/dist/esm/switch/index.js +2 -1
- package/dist/esm/table/index.js +6 -5
- package/dist/esm/tabs/index.js +5 -4
- package/dist/esm/tabs/tab-bar/index.js +5 -4
- package/dist/esm/time-picker/index.js +7 -6
- package/dist/esm/toast/index.js +6 -5
- package/dist/forge-dark.css +1 -1
- package/esm/circular-progress/circular-progress.js +1 -1
- package/esm/core/utils/event-utils.d.ts +12 -0
- package/esm/core/utils/event-utils.js +16 -0
- package/esm/core/utils/index.d.ts +1 -0
- package/esm/core/utils/index.js +1 -0
- package/esm/drawer/base/base-drawer-adapter.d.ts +5 -0
- package/esm/drawer/base/base-drawer-adapter.js +13 -0
- package/esm/drawer/base/base-drawer-foundation.js +2 -0
- package/esm/label-value/label-value.js +1 -1
- package/esm/select/select/select-adapter.js +12 -10
- package/esm/select/select/select-foundation.d.ts +2 -0
- package/esm/select/select/select-foundation.js +6 -2
- package/esm/select/select/select.d.ts +0 -2
- package/esm/select/select/select.js +2 -6
- package/package.json +1 -1
- package/styles/circular-progress/_mixins.scss +0 -1
- package/styles/circular-progress/_variables.scss +0 -1
- package/styles/label-value/_mixins.scss +10 -7
- package/styles/label-value/_variables.scss +1 -0
- package/styles/select/select/_selector.scss +4 -2
- package/styles/select/select/select.scss +4 -0
- package/styles/theme/_theme-values.scss +1 -1
- package/styles/theme/_theme.scss +2 -1
- package/dist/esm/chunks/chunk.IWXT6VVJ.js.map +0 -7
- package/dist/esm/chunks/chunk.JPARYEE4.js.map +0 -7
- package/styles/label-value/_base.scss +0 -252
- package/styles/label-value/_core.scss +0 -15
- package/styles/label-value/_selector.scss +0 -167
|
@@ -228,7 +228,7 @@ $property-values-dark: (
|
|
|
228
228
|
|
|
229
229
|
// forge-specific theme properties
|
|
230
230
|
tertiary: #{mdc-color-palette.$amber-200},
|
|
231
|
-
border-color:
|
|
231
|
+
border-color: #464646,
|
|
232
232
|
form-field-icon-disabled-on-background: rgba(255, 255, 255, 0.26),
|
|
233
233
|
form-field-disabled-on-background: #353535,
|
|
234
234
|
form-field-text-disabled-on-background: rgba(255, 255, 255, 0.6),
|
package/styles/theme/_theme.scss
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
@use '@material/theme/theme-color' as mdc-theme-color;
|
|
10
10
|
@use '@material/theme/replace';
|
|
11
11
|
@use '@material/theme/keys' as mdc-keys;
|
|
12
|
+
@use '@material/elevation/elevation-theme' as elevation-theme;
|
|
12
13
|
@use './custom-properties';
|
|
13
14
|
@use './keys';
|
|
14
15
|
@use './theme-values';
|
|
@@ -256,7 +257,7 @@
|
|
|
256
257
|
@return #{$umbra-z-value} #{$umbra-color}, #{$penumbra-z-value} #{$penumbra-color}, #{$ambient-z-value} #{$ambient-color};
|
|
257
258
|
}
|
|
258
259
|
|
|
259
|
-
@mixin shadow($z-value, $color:
|
|
260
|
+
@mixin shadow($z-value, $color: elevation-theme.$baseline-color, $opacity-boost: 0) {
|
|
260
261
|
box-shadow: elevation($z-value, $color, $opacity-boost);
|
|
261
262
|
}
|
|
262
263
|
|
|
@@ -1,7 +0,0 @@
|
|
|
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 { 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 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\n constructor(protected _component: IBaseDrawerComponent) {\n super(_component);\n this._drawerElement = getShadowElement(this._component, BASE_DRAWER_CONSTANTS.selectors.DRAWER);\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 this._applyOpen();\n this._applyDirection();\n this._hasInitialized = true;\n }\n\n public disconnect(): void {\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._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_OPEN);\n }\n \n private _onCloseComplete(): void {\n if (this._open) {\n return;\n }\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_CLOSE);\n }\n\n protected _applyOpen(): void {\n if (this._open) {\n this._setDrawerOpenState();\n } else {\n this._setDrawerClosedState();\n }\n \n if (this._open) {\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n } else {\n this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n }\n\n protected _setDrawerOpenState(): void {\n this._adapter.listenTransitionComplete(this._openAnimationListener);\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n }\n\n protected _setDrawerClosedState(): 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
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/select/select/select-constants.ts", "../../src/select/select/select-adapter.ts", "../../src/select/select/select-foundation.ts", "../../src/select/select/select.ts", "../../src/select/select/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}select`;\n\nconst classes = {\n ROOT: 'forge-select',\n OPENED: 'forge-select--opened',\n SELECTED_TEXT: 'forge-select__selected-text',\n DROPDOWN: 'forge-select__dropdown',\n LABEL_FLOAT: 'forge-select--label-float',\n GROUP_WRAPPER: 'forge-select__group-wrapper'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n SELECTED_TEXT: `.${classes.SELECTED_TEXT}`,\n LABEL: 'label#select-label',\n LEADING_SLOT: 'slot[name=leading]',\n ADDON_END_SLOT: 'slot[name=addon-end]'\n};\n\nconst attributes = {\n TYPE: 'type',\n VALUE: 'value',\n LABEL: 'label',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n PLACEHOLDER: 'placeholder',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\n};\n\nexport const SELECT_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport {\n FieldDensityType as SelectDensityType,\n FieldFloatLabelType as SelectFloatLabelType,\n FieldShapeType as SelectShapeType\n} from '../../field/field-constants';\n", "import { calculateFontWidth, getShadowElement, IFontInfo, toggleClass, toggleAttribute } from '@tylertech/forge-core';\nimport { FloatingLabel, IFloatingLabel } from '../../floating-label/floating-label';\nimport { ISelectComponent } from './select';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IBaseSelectAdapter, BaseSelectAdapter } from '../core';\nimport { IListDropdownConfig } from '../../list-dropdown/list-dropdown-constants';\nimport { FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport type OptionListenerDestructor = () => void;\n\nexport interface ISelectAdapter extends IBaseSelectAdapter {\n initializeFloatingLabel(): IFloatingLabel;\n initializeLabel(): void;\n hasLabel(): boolean;\n setLabel(value: string): void;\n addRootClass(name: string): void;\n removeRootClass(name: string): void;\n setPlaceholderText(value: string): void;\n setSelectedText(value: string): void;\n addMouseDownListener(listener: (evt: MouseEvent) => void): void;\n removeMouseDownListener(listener: (evt: MouseEvent) => void): void;\n setLeadingListener(listener: (evt: Event) => void): void;\n removeLeadingListener(listener: (evt: Event) => void): void;\n setAddonEndListener(listener: (evt: Event) => void): void;\n removeAddonEndListener(listener: (evt: Event) => void): void;\n hasLeadingElement(): boolean;\n setDisabled(isDisabled: boolean): void;\n setInvalid(isInvalid: boolean): void;\n setRequired(isRequired: boolean): void;\n setRoomy(isRoomy: boolean): void;\n setDense(isDense: boolean): void;\n getLabelWidth(fontSize: number, fontFamily: string): number;\n getLabelFontMetrics(): IFontInfo;\n getTargetWidth(): number;\n hasAddonEndNodes(): boolean;\n setFocus(): void;\n isWithinSelf(element: HTMLElement): boolean;\n}\n\n/**\n * The DOM adapter behind the `<forge-select>` component.\n */\nexport class SelectAdapter extends BaseSelectAdapter implements ISelectAdapter {\n private _selectElement: HTMLElement;\n private _labelElement: HTMLLabelElement;\n private _selectedTextElement: HTMLElement;\n private _leadingSlot: HTMLSlotElement;\n private _addonEndSlot: HTMLSlotElement;\n\n constructor(component: ISelectComponent) {\n super(component);\n this._selectElement = getShadowElement(component, SELECT_CONSTANTS.selectors.ROOT);\n this._leadingSlot = getShadowElement(component, SELECT_CONSTANTS.selectors.LEADING_SLOT) as HTMLSlotElement;\n this._addonEndSlot = getShadowElement(this._component, SELECT_CONSTANTS.selectors.ADDON_END_SLOT) as HTMLSlotElement;\n this._selectedTextElement = getShadowElement(component, SELECT_CONSTANTS.selectors.SELECTED_TEXT) as HTMLElement;\n this._targetElement = this._selectElement;\n }\n\n public initializeLabel(): void {\n this._labelElement = getShadowElement(this._component, SELECT_CONSTANTS.selectors.LABEL) as HTMLLabelElement;\n }\n\n public hasLabel(): boolean {\n return !!this._labelElement;\n }\n\n public initializeAccessibility(): void {\n this._component.setAttribute('role', 'combobox');\n this._component.setAttribute('aria-live', 'assertive');\n this._component.setAttribute('aria-atomic', 'true');\n this._component.setAttribute('aria-haspopup', 'true');\n this._component.setAttribute('aria-expanded', 'false');\n }\n\n public initializeFloatingLabel(): IFloatingLabel {\n return new FloatingLabel(this._labelElement);\n }\n\n public setLabel(value: string): void {\n if (!this._component.hasAttribute('aria-label') || this._component.getAttribute('aria-label') === this._labelElement.textContent) {\n this._component.setAttribute('aria-label', value);\n }\n this._labelElement.textContent = value;\n }\n\n public addRootClass(name: string): void {\n this._selectElement.classList.add(name);\n }\n\n public removeRootClass(name: string): void {\n this._selectElement.classList.remove(name);\n }\n\n public setPlaceholderText(value: string): void {\n toggleAttribute(this._selectedTextElement, !!value, 'placeholder', value);\n }\n\n public addClickListener(listener: (evt: Event) => void): void {\n this._selectElement.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: Event) => void): void {\n this._selectElement.removeEventListener('click', listener);\n }\n\n public addMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._selectElement.addEventListener('mousedown', listener);\n }\n\n public removeMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._selectElement.removeEventListener('mousedown', listener);\n }\n\n public addTargetListener(type: string, listener: (evt: Event) => void): void {\n this._selectedTextElement.addEventListener(type, listener);\n }\n\n public removeTargetListener(type: string, listener: (evt: Event) => void): void {\n this._selectedTextElement.removeEventListener(type, listener);\n }\n\n public open(config: IListDropdownConfig): void {\n super.open(config);\n this._component.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n this._component.setAttribute('aria-expanded', 'true');\n toggleClass(this._selectElement, true, SELECT_CONSTANTS.classes.OPENED);\n }\n\n public close(): void {\n this._component.setAttribute('aria-expanded', 'false');\n this._component.removeAttribute('aria-activedescendant');\n this._component.removeAttribute('aria-controls');\n toggleClass(this._selectElement, false, SELECT_CONSTANTS.classes.OPENED);\n super.close();\n }\n\n public updateActiveDescendant(id: string): void {\n toggleAttribute(this._component, !!id, 'aria-activedescendant', id);\n }\n\n public setSelectedText(value: string): void {\n this._selectedTextElement.textContent = value;\n }\n\n public setLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.addEventListener('slotchange', listener);\n }\n\n public removeLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.removeEventListener('slotchange', listener);\n }\n\n public setAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.addEventListener('slotchange', listener);\n }\n\n public removeAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.removeEventListener('slotchange', listener);\n }\n\n public hasLeadingElement(): boolean {\n return this._leadingSlot.assignedNodes().length > 0;\n }\n\n public setDisabled(isDisabled: boolean): void {\n toggleClass(this._selectElement, isDisabled, FIELD_CONSTANTS.classes.DISABLED);\n toggleAttribute(this._component, isDisabled, 'aria-disabled', 'true');\n this._selectedTextElement.tabIndex = isDisabled ? -1 : 0;\n }\n\n public setInvalid(isInvalid: boolean): void {\n toggleClass(this._selectElement, isInvalid, FIELD_CONSTANTS.classes.INVALID);\n toggleAttribute(this._component, isInvalid, 'aria-invalid', 'true');\n }\n\n public setRequired(isRequired: boolean): void {\n toggleClass(this._selectElement, isRequired, FIELD_CONSTANTS.classes.REQUIRED);\n toggleAttribute(this._component, isRequired, 'aria-required', 'true');\n }\n\n public setRoomy(isRoomy: boolean): void {\n toggleClass(this._selectElement, isRoomy, FIELD_CONSTANTS.classes.ROOMY);\n }\n\n public setDense(isDense: boolean): void {\n toggleClass(this._selectElement, isDense, FIELD_CONSTANTS.classes.DENSE);\n }\n\n public setMultiple(multiple: boolean): void {\n if (multiple) {\n this.setHostAttribute('aria-multiselectable', 'true');\n } else {\n this.removeHostAttribute('aria-multiselectable');\n }\n }\n\n public getLabelWidth(fontSize: number, fontFamily: string): number {\n return calculateFontWidth(this._labelElement.innerText, { fontSize, fontFamily });\n }\n\n public getLabelFontMetrics(): IFontInfo {\n const style = getComputedStyle(this._labelElement);\n return {\n fontSize: parseInt(style.fontSize || '16', 10),\n fontFamily: style.fontFamily || 'Roboto'\n };\n }\n\n public getTargetWidth(): number {\n return this._selectElement.getBoundingClientRect().width;\n }\n\n public hasAddonEndNodes(): boolean {\n if (!this._addonEndSlot) {\n return false;\n }\n return this._addonEndSlot.assignedNodes().length > 0;\n }\n\n public setFocus(): void {\n this._selectedTextElement.focus();\n }\n\n public isWithinSelf(element: HTMLElement): boolean {\n const isShadowChild = !!this._component.shadowRoot && this._component.shadowRoot.contains(element);\n return isShadowChild || this._component.contains(element);\n }\n}\n", "import { isDefined, getEventPath } from '@tylertech/forge-core';\nimport { IBaseSelectFoundation, ISelectOption, BaseSelectFoundation } from '../core';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IFloatingLabel } from '../../floating-label';\nimport { ISelectAdapter } from './select-adapter';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport interface ISelectFoundation extends IBaseSelectFoundation {\n label: string;\n disabled: boolean;\n density: FieldDensityType;\n invalid: boolean;\n required: boolean;\n floatLabelType: FieldFloatLabelType;\n placeholder: string;\n}\n\n/**\n * The foundation class behind the `<forge-select>` component.\n */\nexport class SelectFoundation extends BaseSelectFoundation<ISelectAdapter> implements ISelectFoundation {\n private _floatingLabelInstance: IFloatingLabel | undefined;\n private _shape: FieldShapeType = 'default';\n private _label = '';\n private _disabled = false;\n private _invalid = false;\n private _required = false;\n private _floatLabelType: FieldFloatLabelType = 'auto';\n private _placeholder: string;\n private _density: FieldDensityType = 'default';\n private _isInitialized = false;\n private _leadingChangeListener: (evt: Event) => void;\n private _addonEndChangeListener: (evt: Event) => void;\n private _mousedownListener: (evt: MouseEvent) => void;\n\n constructor(adapter: ISelectAdapter) {\n super(adapter);\n this._leadingChangeListener = evt => this._onLeadingSlotChanged(evt);\n this._addonEndChangeListener = evt => this._onAddonEndSlotChanged(evt);\n this._targetWidthCallback = () => this._adapter.getTargetWidth();\n this._mousedownListener = evt => this._onMouseDown(evt);\n }\n\n public initialize(): void {\n super.initialize();\n super.initializeTarget();\n this._initializeLabel();\n this._initializeAccessibility();\n\n this._adapter.setPlaceholderText(this._placeholder);\n this._applyDensity();\n this._setShapeType();\n\n this._detectLeadingElement();\n this._detectAddonEndContent();\n this._adapter.addMouseDownListener(this._mousedownListener);\n this._adapter.setLeadingListener(this._leadingChangeListener);\n this._adapter.setAddonEndListener(this._addonEndChangeListener);\n\n if (this._disabled) {\n this._adapter.setDisabled(true);\n }\n\n if (this._invalid) {\n this._adapter.setInvalid(true);\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n super.disconnect();\n this._adapter.removeMouseDownListener(this._mousedownListener);\n this._adapter.removeLeadingListener(this._leadingChangeListener);\n this._adapter.removeAddonEndListener(this._leadingChangeListener);\n\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n private _initializeLabel(): void {\n this._adapter.initializeLabel();\n this._updateLabel();\n this._floatingLabelInstance = this._adapter.initializeFloatingLabel();\n if (this._floatLabelType === 'always') {\n this._floatLabel(true);\n } else {\n const hasText = !!this._getSelectedText();\n const hasPlaceholder = !!this._placeholder;\n this._floatLabel(hasText || hasPlaceholder);\n }\n }\n\n private _destroyLabel(): void {\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n protected _initializeValue(): void {\n super._initializeValue();\n if (this._selectedValues.length) {\n this._floatLabel(true);\n }\n }\n\n private _initializeAccessibility(): void {\n this._adapter.setMultiple(this._multiple);\n if (this._required) {\n this._adapter.setHostAttribute('aria-required', 'true');\n }\n if (this._disabled) {\n this._adapter.setHostAttribute('aria-disabled', 'true');\n }\n if (this._invalid) {\n this._adapter.setHostAttribute('aria-invalid', 'true');\n }\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n const isElementWithinSelf = this._adapter.isWithinSelf(evt.target as HTMLElement);\n if (isElementWithinSelf) {\n evt.preventDefault();\n }\n }\n\n /** Called when the `slotchange` event fires on the \"leading\" slot element. */\n private _onLeadingSlotChanged(evt: Event): void {\n this._detectLeadingElement();\n }\n\n /** Called when the `slotchange` event fires on the \"addon-end\" slot element. */\n private _onAddonEndSlotChanged(evt: Event): void {\n this._detectAddonEndContent();\n }\n\n /** Updates the component state based on the existance of elements within the \"leading\" slot. */\n private _detectLeadingElement(): void {\n if (this._adapter.hasLeadingElement()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LEADING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LEADING);\n }\n }\n\n private _detectAddonEndContent(): void {\n if (this._adapter.hasAddonEndNodes()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (this._disabled) {\n return;\n }\n\n // We ignore clicks events that originate from without our addon-end container\n const composedPath = getEventPath(evt);\n if (composedPath.find(el => el.classList && el.classList.contains(FIELD_CONSTANTS.classes.ADDON_END_CONTAINER))) {\n return;\n }\n\n this.setFocus();\n super._onClick(evt);\n }\n\n /** Handles receiving focus on the selected text element. */\n protected _onFocus(evt: Event): void {\n if (this._disabled) {\n return;\n }\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._floatLabel(true);\n super._onFocus(evt);\n }\n\n protected _floatLabel(value: boolean): void {\n if (!this._floatingLabelInstance) {\n return;\n }\n\n if (value) {\n this._adapter.addRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n } else {\n this._adapter.removeRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n }\n\n if (this._floatLabelType === 'always') {\n value = true;\n }\n\n this._floatingLabelInstance.float(value, this._floatLabelType === 'always');\n }\n\n /** Handles losing focus on the selected text element. */\n protected _onBlur(evt: FocusEvent): void {\n super._onBlur(evt);\n this._setBlurred();\n }\n\n protected _onDismiss(): void {\n super._onDismiss();\n this._setBlurred();\n }\n\n protected _onDropdownScrollEnd(): void {\n this._adapter.emitHostEvent(SELECT_CONSTANTS.events.SCROLLED_BOTTOM);\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n const result = await super._onSelect(option, optionIndex, closeDropdown);\n if (result) {\n this._adapter.setSelectedText(this._getSelectedText());\n if (closeDropdown && !this._multiple) {\n this._adapter.setFocus();\n }\n }\n return result;\n }\n\n /** Updates the state of the component to not contain focus. */\n private _setBlurred(): void {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n if (!this._selectedValues.length && !this._placeholder?.length) {\n this._floatLabel(false);\n }\n }\n\n /** Resets the state of the component to original values. */\n protected _reset(): void {\n super._reset();\n this._adapter.setSelectedText('');\n this._floatLabel(!this._placeholder?.length);\n }\n\n private _updateLabel(): void {\n if (this._adapter.hasLabel()) {\n this._adapter.setLabel(this._label);\n }\n if (this._label && this._density !== 'dense') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LABEL);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);\n }\n }\n\n protected _applyValue(value: string | string[]): void {\n super._applyValue(value);\n\n // Update the state of the component based on the existence of a selected value\n const text = this._getSelectedText();\n this._adapter.setSelectedText(text);\n if (!this._open) {\n this._floatLabel(!!text || !!this._placeholder);\n }\n }\n\n private _applyDensity(): void {\n this._adapter.setRoomy(this._density === 'roomy');\n this._adapter.setDense(this._density === 'dense');\n }\n\n protected _setShapeType(): void {\n if (this._shape === 'rounded') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n }\n }\n\n public setFocus(): void {\n this._adapter.setFocus();\n }\n\n /** Gets/sets the label text. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._updateLabel();\n if (this._label) {\n this._initializeLabel();\n this._adapter.setHostAttribute(SELECT_CONSTANTS.attributes.LABEL, this._label);\n } else {\n this._destroyLabel();\n this.required = false;\n this._adapter.removeHostAttribute(SELECT_CONSTANTS.attributes.LABEL);\n }\n }\n }\n\n public get shape(): FieldShapeType {\n return this._shape;\n }\n public set shape(value: FieldShapeType) {\n if (this._shape !== value) {\n this._shape = value;\n\n if (this._isInitialized) {\n this._setShapeType();\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);\n }\n }\n\n /** Gets/sets the disabled state. */\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(this._disabled);\n this._initializeLabel();\n }\n }\n\n /** Gets/sets the invalid state. */\n public get invalid(): boolean {\n return this._invalid;\n }\n public set invalid(value: boolean) {\n if (this._invalid !== value) {\n this._invalid = value;\n this._adapter.setInvalid(this._invalid);\n }\n }\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n this._adapter.setRequired(this._required);\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n /** Gets/sets the dense state. */\n public get density(): FieldDensityType {\n return this._density;\n }\n public set density(value: FieldDensityType) {\n if (this._density !== value) {\n this._density = value;\n this._applyDensity();\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density.toString());\n this._initializeLabel(); // This ensures label is removed while dense\n }\n }\n\n /** Gets/sets the floating label type. */\n public get floatLabelType(): FieldFloatLabelType {\n return this._floatLabelType;\n }\n public set floatLabelType(value: FieldFloatLabelType) {\n if (this._floatLabelType !== value) {\n this._floatLabelType = value;\n this._floatLabel(this._floatLabelType === 'always' || !!this._placeholder);\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE, isDefined(this._floatLabelType) ? this._floatLabelType.toString() : '');\n }\n }\n\n /** Gets/sets the placeholder text. */\n public get placeholder(): string {\n return this._placeholder;\n }\n public set placeholder(value: string) {\n if (this._placeholder !== value) {\n this._placeholder = value;\n this._adapter.setPlaceholderText(this._placeholder);\n this._initializeLabel();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown, tylIconCheckBoxOutlineBlank, tylIconCheckBox } from '@tylertech/tyler-icons/standard';\nimport { SelectAdapter } from './select-adapter';\nimport { SelectFoundation } from './select-foundation';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { OptionComponent } from '../option';\nimport { PopupComponent } from '../../popup';\nimport { ListComponent, ListItemComponent } from '../../list';\nimport { OptionGroupComponent } from '../option-group';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { BaseSelectComponent, BASE_SELECT_CONSTANTS } from '../core';\nimport { CircularProgressComponent } from '../../circular-progress';\nimport { ScaffoldComponent } from '../../scaffold';\nimport { ToolbarComponent } from '../../toolbar';\nimport { IconButtonComponent } from '../../icon-button';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\nimport { IBaseSelectComponent } from '../core/base-select';\n\nconst template = '<template><div class=\\\"forge-select__wrapper\\\" part=\\\"root\\\"><div class=\\\"forge-select forge-field\\\" part=\\\"container\\\"><div class=\\\"forge-select__leading-container\\\" part=\\\"leading-container\\\"><slot name=\\\"leading\\\"></slot></div><div class=\\\"forge-field__label-input-container\\\" part=\\\"label-input-container\\\"><div id=\\\"selected-text\\\" class=\\\"forge-select__selected-text\\\" tabindex=\\\"0\\\" part=\\\"text\\\"></div><label id=\\\"select-label\\\" part=\\\"label\\\"></label></div><forge-icon class=\\\"forge-select__dropdown-icon\\\" name=\\\"arrow_drop_down\\\" part=\\\"icon\\\"></forge-icon><div class=\\\"forge-field__addon-end-container\\\" part=\\\"addon-end-container\\\"><slot name=\\\"addon-end\\\"></slot></div></div><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-select{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-select-margin-top,0)}.forge-select.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-select:not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-select-height,3rem)}.forge-select.forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-select-height,3.5rem)}.forge-select.forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-select-height,1.5rem)}.forge-field::before{content:\\\"\\\";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-select-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field~::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}.forge-field~::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-select__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-field label{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-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-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);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field label[dir=rtl],[dir=rtl] .forge-field label{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) label{display:none}.forge-field--required label::after{content:none}.forge-field--required label::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\\\"*\\\";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) label{font-size:1rem}.forge-field--disabled label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) label{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{top:1rem}.forge-field--roomy:not(.forge-field--dense) label{top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) label{left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) label{left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) label{padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded label{padding-right:32px}.forge-field label.forge-floating-label--float-above{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled label.forge-floating-label--float-above{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) label.forge-floating-label--float-above{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label.forge-floating-label--float-above{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above{-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above{-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field .forge-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:block;overflow:hidden;text-overflow:ellipsis;align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;white-space:nowrap;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:var(--forge-select-font-size, 1rem);padding:0 12px;padding-right:0}.forge-field:not(.forge-field--disabled) .forge-select__selected-text{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled .forge-select__selected-text{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{font-size:1rem}.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{font-size:.875rem}.forge-field .forge-select__selected-text{padding:0 12px}.forge-field--label .forge-select__selected-text{padding-top:24px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-select__selected-text{padding-left:32px}.forge-field--leading .forge-select__selected-text{padding-left:0}.forge-field--label .forge-select__selected-text{padding-bottom:3px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-bottom:8px}.forge-field:not(.forge-field--label):not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height, 3rem)}.forge-field:not(.forge-field--label).forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{line-height:var(--forge-select-height-roomy, 3.5rem)}.forge-field:not(.forge-field--label).forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height-dense, 1.5rem)}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{padding:0 8px}.forge-field .forge-select__selected-text:empty::before{content:attr(placeholder);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field .forge-select__selected-text{padding-top:25px}.forge-field .forge-select__dropdown-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:24px;height:100%;-webkit-box-flex:0;flex:none;-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);pointer-events:none;margin-right:8px}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) .forge-select__dropdown-icon{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) .forge-select__dropdown-icon{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled .forge-select__dropdown-icon{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__dropdown-icon{margin-right:4px}:host{display:block;contain:layout}:host([hidden]){display:none}';\n\nexport interface ISelectComponent extends IBaseSelectComponent {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n label: string;\n disabled: boolean;\n placeholder: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-select': ISelectComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-select-scrolled-bottom': CustomEvent<void>;\n 'change': CustomEvent<any>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-select>` component.\n */\n@CustomElement({\n name: SELECT_CONSTANTS.elementName,\n dependencies: [\n OptionComponent,\n OptionGroupComponent,\n PopupComponent,\n ListComponent,\n ListItemComponent,\n CircularProgressComponent,\n IconComponent,\n ScaffoldComponent,\n ToolbarComponent,\n IconButtonComponent\n ]\n})\nexport class SelectComponent extends BaseSelectComponent<SelectFoundation> implements ISelectComponent {\n public static get observedAttributes(): string[] {\n return [\n FIELD_CONSTANTS.attributes.DENSITY,\n FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE,\n FIELD_CONSTANTS.attributes.SHAPE,\n FIELD_CONSTANTS.attributes.INVALID,\n FIELD_CONSTANTS.attributes.REQUIRED,\n SELECT_CONSTANTS.attributes.LABEL,\n SELECT_CONSTANTS.attributes.MULTIPLE,\n SELECT_CONSTANTS.attributes.VALUE,\n SELECT_CONSTANTS.attributes.DISABLED,\n SELECT_CONSTANTS.attributes.PLACEHOLDER,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\n BASE_SELECT_CONSTANTS.attributes.POPUP_CLASSES,\n BASE_SELECT_CONSTANTS.attributes.OPTION_LIMIT,\n BASE_SELECT_CONSTANTS.attributes.SYNC_POPUP_WIDTH\n ];\n }\n\n constructor() {\n super();\n IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new SelectFoundation(new SelectAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FIELD_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensityType;\n return;\n case FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE:\n this.floatLabelType = newValue as FieldFloatLabelType;\n return;\n case FIELD_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as FieldShapeType;\n break;\n case FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n return;\n case FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n return;\n case SELECT_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.PLACEHOLDER:\n this.placeholder = newValue;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n /** Gets/sets the label text. */\n @FoundationProperty()\n public label: string;\n\n /** Gets/sets the disabled state. */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets/sets the invalid state. */\n @FoundationProperty()\n public invalid: boolean;\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n @FoundationProperty()\n public required: boolean;\n\n /** Controls the density type. */\n @FoundationProperty()\n public density: FieldDensityType;\n\n /** Whether the label should always float, never float or float as the user types. */\n @FoundationProperty()\n public floatLabelType: FieldFloatLabelType;\n\n /** The shape type to use. */\n @FoundationProperty()\n public shape: FieldShapeType;\n\n /** Gets/sets the placeholder text. */\n @FoundationProperty()\n public placeholder: string;\n\n /** Sets focus to the internal button element. */\n public override focus(): void {\n this._foundation.setFocus();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SelectComponent } from './select';\n\nexport * from './select-adapter';\nexport * from './select-constants';\nexport * from './select-foundation';\nexport * from './select';\n\nexport function defineSelectComponent(): void {\n defineCustomElement(SelectComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
@use 'sass:map';
|
|
7
|
-
@use '@material/theme/theme' as mdc-theme;
|
|
8
|
-
@use '@material/typography/typography' as mdc-typography;
|
|
9
|
-
@use '../field/variables' as field-variables;
|
|
10
|
-
@use './variables';
|
|
11
|
-
|
|
12
|
-
// Root
|
|
13
|
-
@mixin root-core {
|
|
14
|
-
display: flex;
|
|
15
|
-
box-sizing: border-box;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
@mixin root-min-height($layout-state, $orientation-state) {
|
|
19
|
-
// Single Line
|
|
20
|
-
@if $orientation-state == single-line {
|
|
21
|
-
min-height: map.get(field-variables.$field, height, dense);
|
|
22
|
-
}
|
|
23
|
-
@else if $orientation-state == default {
|
|
24
|
-
// Default
|
|
25
|
-
@if $layout-state == default {
|
|
26
|
-
min-height: map.get(field-variables.$field, height, default);
|
|
27
|
-
}
|
|
28
|
-
// Roomy
|
|
29
|
-
@else if $layout-state == roomy {
|
|
30
|
-
min-height: map.get(field-variables.$field, height, roomy);
|
|
31
|
-
}
|
|
32
|
-
// Dense
|
|
33
|
-
@else if $layout-state == dense {
|
|
34
|
-
// Field doesn't use label when dense so we use default height when dense for default orientation.
|
|
35
|
-
min-height: map.get(field-variables.$field, height, default);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
@include _error-orientation-state(root-min-height, $orientation-state);
|
|
39
|
-
@include _error-layout-state(root-min-height, $layout-state);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@mixin root-padding-top($layout-state) {
|
|
43
|
-
// Default
|
|
44
|
-
@if $layout-state == default {
|
|
45
|
-
padding-top: map.get(variables.$root, padding, top, default);
|
|
46
|
-
}
|
|
47
|
-
// Roomy
|
|
48
|
-
@else if $layout-state == roomy {
|
|
49
|
-
padding-top: map.get(variables.$root, padding, top, roomy);
|
|
50
|
-
}
|
|
51
|
-
@include _error-layout-state(root-padding-top, $layout-state);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// Icon Container
|
|
55
|
-
|
|
56
|
-
@mixin icon-container-core {
|
|
57
|
-
display: flex;
|
|
58
|
-
align-items: flex-start;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Container
|
|
62
|
-
|
|
63
|
-
@mixin container-orientation($orientation-state) {
|
|
64
|
-
// Default
|
|
65
|
-
@if $orientation-state == default {
|
|
66
|
-
display: flex;
|
|
67
|
-
flex-direction: column;
|
|
68
|
-
align-items: flex-start;
|
|
69
|
-
}
|
|
70
|
-
// Single Line
|
|
71
|
-
@else if $orientation-state == single-line {
|
|
72
|
-
display: flex;
|
|
73
|
-
flex-direction: row;
|
|
74
|
-
align-items: center;
|
|
75
|
-
}
|
|
76
|
-
@include _error-orientation-state(container-orientation, $orientation-state);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
@mixin container-align($align-state) {
|
|
80
|
-
// Left
|
|
81
|
-
@if $align-state == left {
|
|
82
|
-
align-items: flex-start;
|
|
83
|
-
}
|
|
84
|
-
// Center
|
|
85
|
-
@else if $align-state == center {
|
|
86
|
-
align-items: center;
|
|
87
|
-
}
|
|
88
|
-
// Right
|
|
89
|
-
@else if $align-state == right {
|
|
90
|
-
align-items: flex-end;
|
|
91
|
-
}
|
|
92
|
-
@include _error-align-state(root-align, $align-state);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
@mixin container-ellipsis {
|
|
96
|
-
overflow: hidden;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// Icon
|
|
100
|
-
@mixin icon-core {
|
|
101
|
-
@include mdc-theme.property(color, text-primary-on-background);
|
|
102
|
-
|
|
103
|
-
font-size: 1.25rem !important;
|
|
104
|
-
margin-right: 8px;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Label
|
|
108
|
-
@mixin label-core {
|
|
109
|
-
@include mdc-typography.typography(subtitle1, $exclude-props: (line-height, font-size));
|
|
110
|
-
line-height: 1rem;
|
|
111
|
-
@include mdc-theme.property(color, text-secondary-on-background);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
@mixin label-font-size($layout-state, $orientation-state) {
|
|
115
|
-
// Default, Dense or Single Line
|
|
116
|
-
@if $orientation-state == single-line or $layout-state == default or $layout-state == dense {
|
|
117
|
-
font-size: map.get(field-variables.$label, font-size, default);
|
|
118
|
-
}
|
|
119
|
-
// Roomy
|
|
120
|
-
@else if $layout-state == roomy and $orientation-state != single-line {
|
|
121
|
-
font-size: map.get(field-variables.$label, font-size, roomy);
|
|
122
|
-
}
|
|
123
|
-
@include _error-layout-state(label-font-size, $layout-state);
|
|
124
|
-
@include _error-orientation-state(label-margin-right, $orientation-state);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
@mixin label-transform($layout-state) {
|
|
128
|
-
// Default
|
|
129
|
-
@if $layout-state == default or $layout-state == dense {
|
|
130
|
-
transform:
|
|
131
|
-
translateX(map.get(variables.$label, transform, translate, x, default))
|
|
132
|
-
translateY(map.get(variables.$label, transform, translate, y, default))
|
|
133
|
-
scale(map.get(field-variables.$label, float-scale, default));
|
|
134
|
-
}
|
|
135
|
-
// Roomy
|
|
136
|
-
@else if $layout-state == roomy {
|
|
137
|
-
transform:
|
|
138
|
-
translateX(map.get(variables.$label, transform, translate, x, roomy))
|
|
139
|
-
translateY(map.get(variables.$label, transform, translate, y, roomy))
|
|
140
|
-
scale(map.get(field-variables.$label, float-scale, default));
|
|
141
|
-
}
|
|
142
|
-
@include _error-layout-state(label-transform, $layout-state);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
@mixin label-margin-bottom($layout-state) {
|
|
146
|
-
// Default
|
|
147
|
-
@if $layout-state == default or $layout-state == dense {
|
|
148
|
-
margin-bottom: map.get(variables.$label, margin, bottom, default);
|
|
149
|
-
}
|
|
150
|
-
// Roomy
|
|
151
|
-
@else if $layout-state == roomy {
|
|
152
|
-
margin-bottom: map.get(variables.$label, margin, bottom, roomy);
|
|
153
|
-
}
|
|
154
|
-
@include _error-layout-state(label-margin-bottom, $layout-state);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
@mixin label-margin-right($orientation-state) {
|
|
158
|
-
// Single Line
|
|
159
|
-
@if $orientation-state == single-line {
|
|
160
|
-
margin-right: map.get(variables.$label, margin, right, single-line);
|
|
161
|
-
}
|
|
162
|
-
@include _error-orientation-state(label-margin-right, $orientation-state);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
@mixin label-width($orientation-state) {
|
|
166
|
-
// Default
|
|
167
|
-
@if $orientation-state == default {
|
|
168
|
-
max-width: 100%;
|
|
169
|
-
}
|
|
170
|
-
// Single Line
|
|
171
|
-
@else if $orientation-state == single-line {
|
|
172
|
-
flex: none;
|
|
173
|
-
}
|
|
174
|
-
@include _error-orientation-state(label-width, $orientation-state);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
@mixin label-ellipsis {
|
|
178
|
-
@include _ellipsis;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
// Value
|
|
182
|
-
|
|
183
|
-
@mixin value-core {
|
|
184
|
-
@include mdc-typography.typography(body1, $exclude-props: (font-size, line-height));
|
|
185
|
-
line-height: 1.25rem;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
@mixin value-font-size($layout-state) {
|
|
189
|
-
// Default
|
|
190
|
-
@if $layout-state == default {
|
|
191
|
-
font-size: map.get(field-variables.$input, font-size, default);
|
|
192
|
-
}
|
|
193
|
-
// Roomy
|
|
194
|
-
@else if $layout-state == roomy {
|
|
195
|
-
font-size: map.get(field-variables.$input, font-size, roomy);
|
|
196
|
-
}
|
|
197
|
-
// Dense
|
|
198
|
-
@else if $layout-state == dense {
|
|
199
|
-
font-size: map.get(field-variables.$input, font-size, dense);
|
|
200
|
-
}
|
|
201
|
-
@include _error-layout-state(value-font-size, $layout-state);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
@mixin value-width($orientation-state) {
|
|
205
|
-
// Default
|
|
206
|
-
@if $orientation-state == default {
|
|
207
|
-
max-width: 100%;
|
|
208
|
-
}
|
|
209
|
-
// Single line
|
|
210
|
-
@else if $orientation-state == single-line {
|
|
211
|
-
flex: none;
|
|
212
|
-
}
|
|
213
|
-
@include _error-orientation-state(value-width, $orientation-state);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
@mixin value-empty {
|
|
217
|
-
@include mdc-theme.property(color, text-secondary-on-background);
|
|
218
|
-
font-style: italic;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
@mixin value-ellipsis {
|
|
222
|
-
@include _ellipsis;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
@mixin _ellipsis {
|
|
226
|
-
overflow: hidden;
|
|
227
|
-
text-overflow: ellipsis;
|
|
228
|
-
white-space: nowrap;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
@mixin _error-layout-state($mixin-name, $layout-state) {
|
|
232
|
-
@if $layout-state != default
|
|
233
|
-
and $layout-state != roomy
|
|
234
|
-
and $layout-state != dense {
|
|
235
|
-
@error 'mixin #{$mixin-name} must take a $layout-state arguement of [default, roomy, dense]. Got #{$layout-state}.';
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
@mixin _error-align-state($mixin-name, $align-state) {
|
|
240
|
-
@if $align-state != left
|
|
241
|
-
and $align-state != center
|
|
242
|
-
and $align-state != right {
|
|
243
|
-
@error 'mixin #{$mixin-name} must take a $align-state arguement of [left, center, right]. Got #{$align-state}.';
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
@mixin _error-orientation-state($mixin-name, $orientation-state) {
|
|
248
|
-
@if $orientation-state != default
|
|
249
|
-
and $orientation-state != single-line {
|
|
250
|
-
@error 'mixin #{$mixin-name} must take a $orientation-state arguement of [default, single]. Got #{$orientation-state}.';
|
|
251
|
-
}
|
|
252
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
@use './selector';
|
|
7
|
-
|
|
8
|
-
@mixin core-styles {
|
|
9
|
-
@include selector.root;
|
|
10
|
-
@include selector.icon-container;
|
|
11
|
-
@include selector.container;
|
|
12
|
-
@include selector.icon;
|
|
13
|
-
@include selector.label;
|
|
14
|
-
@include selector.value;
|
|
15
|
-
}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
@use './base';
|
|
7
|
-
|
|
8
|
-
@mixin root {
|
|
9
|
-
// Core
|
|
10
|
-
.forge-label-value {
|
|
11
|
-
@include base.root-core;
|
|
12
|
-
}
|
|
13
|
-
// Min Height
|
|
14
|
-
:host(:not([single-line])) .forge-label-value {
|
|
15
|
-
&:not(.forge-label-value--dense):not(.forge-label-value--roomy) {
|
|
16
|
-
@include base.root-min-height(default, default);
|
|
17
|
-
}
|
|
18
|
-
&--roomy:not(.forge-label-value--dense) {
|
|
19
|
-
@include base.root-min-height(roomy, default);
|
|
20
|
-
}
|
|
21
|
-
&--dense:not(.forge-label-value--roomy) {
|
|
22
|
-
@include base.root-min-height(dense, default);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
:host([single-line]) .forge-label-value {
|
|
26
|
-
@include base.root-min-height(default, single-line);
|
|
27
|
-
}
|
|
28
|
-
// Padding Top
|
|
29
|
-
:host(:not([single-line])) .forge-label-value {
|
|
30
|
-
&:not(.forge-label-value--roomy) {
|
|
31
|
-
@include base.root-padding-top(default);
|
|
32
|
-
}
|
|
33
|
-
&--roomy {
|
|
34
|
-
@include base.root-padding-top(roomy);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@mixin icon-container {
|
|
40
|
-
// Core
|
|
41
|
-
.forge-label-value__icon-container {
|
|
42
|
-
@include base.icon-container-core;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
@mixin container {
|
|
47
|
-
// Orientation
|
|
48
|
-
:host(:not([single-line])) .forge-label-value__container {
|
|
49
|
-
@include base.container-orientation(default);
|
|
50
|
-
}
|
|
51
|
-
:host([single-line]) .forge-label-value__container {
|
|
52
|
-
@include base.container-orientation(single-line);
|
|
53
|
-
}
|
|
54
|
-
// Align
|
|
55
|
-
:host(:not([single-line])) .forge-label-value {
|
|
56
|
-
&--align-center {
|
|
57
|
-
.forge-label-value__container {
|
|
58
|
-
@include base.container-align(center);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
&--align-right {
|
|
62
|
-
.forge-label-value__container {
|
|
63
|
-
@include base.container-align(right);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// Ellipsis
|
|
68
|
-
.forge-label-value--ellipsis .forge-label-value__container {
|
|
69
|
-
@include base.container-ellipsis;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
@mixin icon {
|
|
74
|
-
// Core
|
|
75
|
-
::slotted([slot='icon']) {
|
|
76
|
-
@include base.icon-core;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
@mixin label {
|
|
81
|
-
// Core
|
|
82
|
-
.forge-label-value__label {
|
|
83
|
-
@include base.label-core;
|
|
84
|
-
}
|
|
85
|
-
// Font Size
|
|
86
|
-
:host(:not([single-line])) .forge-label-value {
|
|
87
|
-
&:not(.forge-label-value--roomy):not(.forge-label-value--dense) .forge-label-value__label {
|
|
88
|
-
@include base.label-font-size(default, default);
|
|
89
|
-
}
|
|
90
|
-
&--roomy:not(.forge-label-value--dense) .forge-label-value__label {
|
|
91
|
-
@include base.label-font-size(roomy, default);
|
|
92
|
-
}
|
|
93
|
-
&--dense:not(.forge-label-value--roomy) .forge-label-value__label {
|
|
94
|
-
@include base.label-font-size(dense, default);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
:host([single-line]) .forge-label-value__label {
|
|
98
|
-
@include base.label-font-size(default, single-line);
|
|
99
|
-
}
|
|
100
|
-
// Transform
|
|
101
|
-
:host(:not([single-line])) .forge-label-value {
|
|
102
|
-
&:not(.forge-label-value--roomy) .forge-label-value__label {
|
|
103
|
-
@include base.label-transform(default);
|
|
104
|
-
}
|
|
105
|
-
&--roomy .forge-label-value__label {
|
|
106
|
-
@include base.label-transform(roomy);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
// Margin Right
|
|
110
|
-
:host([single-line]) .forge-label-value__label {
|
|
111
|
-
@include base.label-margin-right(single-line);
|
|
112
|
-
}
|
|
113
|
-
// Margin Bottom
|
|
114
|
-
:host(:not([single-line])) .forge-label-value {
|
|
115
|
-
&:not(.forge-label-value--roomy) .forge-label-value__label {
|
|
116
|
-
@include base.label-margin-bottom(default);
|
|
117
|
-
}
|
|
118
|
-
&--roomy .forge-label-value__label {
|
|
119
|
-
@include base.label-margin-bottom(roomy);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
// Width
|
|
123
|
-
:host(:not([single-line])) .forge-label-value__label {
|
|
124
|
-
@include base.label-width(default);
|
|
125
|
-
}
|
|
126
|
-
:host([single-line]) .forge-label-value__label {
|
|
127
|
-
@include base.label-width(single-line);
|
|
128
|
-
}
|
|
129
|
-
// Ellipsis
|
|
130
|
-
.forge-label-value--ellipsis .forge-label-value__label {
|
|
131
|
-
@include base.label-ellipsis;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
@mixin value {
|
|
136
|
-
// Core
|
|
137
|
-
.forge-label-value__value {
|
|
138
|
-
@include base.value-core;
|
|
139
|
-
}
|
|
140
|
-
// Font Size
|
|
141
|
-
:host(:not([single-line])) .forge-label-value {
|
|
142
|
-
&:not(.forge-label-value--dense):not(.forge-label-value--roomy) .forge-label-value__value {
|
|
143
|
-
@include base.value-font-size(default);
|
|
144
|
-
}
|
|
145
|
-
&--roomy:not(.forge-label-value--dense) .forge-label-value__value {
|
|
146
|
-
@include base.value-font-size(roomy);
|
|
147
|
-
}
|
|
148
|
-
&--dense:not(.forge-label-value--roomy) .forge-label-value__value {
|
|
149
|
-
@include base.value-font-size(dense);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
// Width
|
|
153
|
-
:host(:not([single-line])) .forge-label-value__value {
|
|
154
|
-
@include base.value-width(default);
|
|
155
|
-
}
|
|
156
|
-
:host([single-line]) .forge-label-value__value {
|
|
157
|
-
@include base.value-width(single-line);
|
|
158
|
-
}
|
|
159
|
-
// Empty
|
|
160
|
-
.forge-label-value--empty .forge-label-value__value {
|
|
161
|
-
@include base.value-empty;
|
|
162
|
-
}
|
|
163
|
-
// Ellipsis
|
|
164
|
-
.forge-label-value--ellipsis .forge-label-value__value {
|
|
165
|
-
@include base.value-ellipsis;
|
|
166
|
-
}
|
|
167
|
-
}
|