@aurelia-mdc-web/all 9.3.0-au2 → 9.3.1-au2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chips/mdc-chip/mdc-chip.js.map +1 -1
- package/dist/data-table/mdc-data-table.js.map +1 -1
- package/dist/dialog/mdc-dialog-service.js.map +1 -1
- package/dist/expandable/mdc-expandable.js.map +1 -1
- package/dist/form-field/mdc-form-field.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js.map +1 -1
- package/dist/list/mdc-list-item/mdc-list-item.js.map +1 -1
- package/dist/menu/mdc-menu.js.map +1 -1
- package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js.map +1 -1
- package/dist/select/mdc-select-value-observer.js.map +1 -1
- package/dist/select/mdc-select.js.map +1 -1
- package/dist/text-field/mdc-text-field.js.map +1 -1
- package/dist/tree-view/mdc-tree-view.js.map +1 -1
- package/package.json +2 -2
- package/src/chips/mdc-chip/mdc-chip.ts +290 -290
- package/src/data-table/mdc-data-table.ts +432 -432
- package/src/dialog/mdc-dialog-service.ts +80 -80
- package/src/expandable/mdc-expandable.ts +104 -104
- package/src/form-field/mdc-form-field.ts +60 -60
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.ts +108 -108
- package/src/list/mdc-list-item/mdc-list-item.ts +136 -136
- package/src/menu/mdc-menu.ts +340 -340
- package/src/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.ts +170 -170
- package/src/select/mdc-select-value-observer.ts +346 -346
- package/src/select/mdc-select.ts +480 -480
- package/src/text-field/mdc-text-field.ts +535 -535
- package/src/tree-view/mdc-tree-view.ts +147 -147
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-chip.js","sourceRoot":"","sources":["../../../src/chips/mdc-chip/mdc-chip.ts"],"names":[],"mappings":"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","sourcesContent":["import { inject, customElement, INode, IPlatform, bindable } from 'aurelia';\nimport { MdcComponent, booleanAttr } from '../../base';\nimport { processContent, CustomElement } from '@aurelia/runtime-html';\nimport { MdcChipAction } from '../mdc-chip-action/mdc-chip-action';\nimport { MDCChipFoundation } from '@material/chips/chip/foundation';\nimport { MDCChipEvents, MDCChipAdapter, MDCChipActionType, MDCChipActionFocusBehavior, MDCChipAnimation } from '@material/chips';\nimport { ActionInteractionEvent, ActionNavigationEvent } from '@material/chips/chip/types';\nimport template from './mdc-chip.html?raw';\n\n(MDCChipEvents as Record<string, string>).INTERACTION = MDCChipEvents.INTERACTION.toLowerCase();\n(MDCChipEvents as Record<string, string>).ANIMATION = MDCChipEvents.ANIMATION.toLowerCase();\n(MDCChipEvents as Record<string, string>).NAVIGATION = MDCChipEvents.NAVIGATION.toLowerCase();\n\nlet chipId = 0;\n\n/**\n * @selector mdc-chip\n * @emits mdcchip:interaction | Indicates the chip was interacted with (via click/tap or Enter key)\n * @emits mdcchip:removal | Indicates the chip removal event from a chip set\n * @emits mdcchip:selection | Indicates a selection event has occurred on a chip\n */\n@inject(Element)\n@customElement({ name: 'mdc-chip', template })\n@processContent(function processContent(node: INode, platform: IPlatform) {\n const element = node as HTMLElement;\n\n const primaryAction = element.querySelector('[as-element=\"mdc-chip-action\"]:not([trailing])');\n if (primaryAction) {\n primaryAction.setAttribute('au-slot', 'primary-action');\n primaryAction.remove();\n }\n\n const trailingAction = element.querySelector('[as-element=\"mdc-chip-action\"][trailing]');\n if (trailingAction) {\n trailingAction.setAttribute('au-slot', trailingAction.hasAttribute('non-navigable') ? 'non-navigable-trailing-action' : 'trailing-action');\n trailingAction.remove();\n }\n\n const template = platform.document.createElement('template');\n template.setAttribute('au-slot', '');\n template.innerHTML = element.innerHTML;\n element.innerHTML = '';\n element.appendChild(template);\n\n if (primaryAction) {\n element.appendChild(primaryAction);\n }\n if (trailingAction) {\n element.appendChild(trailingAction);\n }\n}\n)\nexport class MdcChip extends MdcComponent<MDCChipFoundation> {\n constructor(root: IMdcChipElement) {\n super(root);\n defineMdcChipElementApis(this.root);\n this.root.id = `mdc-chip-${++chipId}`;\n }\n\n _selected: boolean;\n /**\n * @return Whether the chip is selected.\n */\n get selected(): boolean {\n return this.foundation?.isActionSelected(MDCChipActionType.PRIMARY) ?? this._selected;\n }\n\n /** Sets selected state on the chip. */\n set selected(selected: boolean) {\n this._selected = selected;\n this.foundation?.setActionSelected(MDCChipActionType.PRIMARY, selected);\n }\n\n /** Marks the chip as disabled. */\n @bindable({ set: booleanAttr })\n disabled: boolean;\n\n /** Marks the chip as a filter chip. */\n @bindable({ set: booleanAttr })\n filter: boolean;\n filterChanged() {\n if (this.filter) {\n this.root.setAttribute('role', 'presentation');\n } else {\n this.root.setAttribute('role', 'row');\n }\n }\n\n @bindable()\n icon: string;\n\n actions: Map<MDCChipActionType, MdcChipAction>;\n\n beforeFoundationCreated() {\n this.actions = new Map();\n const primaryAction = CustomElement.for<MdcChipAction>(this.root.querySelector('.mdc-evolution-chip__action--primary')!).viewModel;\n this.actions.set(MDCChipActionType.PRIMARY, primaryAction);\n const trailingAction = this.root.querySelector('.mdc-evolution-chip__action--trailing');\n if (trailingAction) {\n this.actions.set(MDCChipActionType.TRAILING, CustomElement.for<MdcChipAction>(trailingAction).viewModel);\n }\n }\n\n initialSyncWithDOM() {\n this.filterChanged();\n if (this._selected !== undefined) {\n this.selected = this._selected;\n }\n }\n\n /** Set focus to the chip. */\n focus() {\n this.root.focus();\n }\n\n getDefaultFoundation() {\n // DO NOT INLINE this variable. For backward compatibility, foundations take\n // a Partial<MDCFooAdapter>. To ensure we don't accidentally omit any\n // methods, we need a separate, strongly typed adapter variable.\n const adapter: MDCChipAdapter = {\n addClass: (className) => {\n this.root.classList.add(className);\n },\n emitEvent: (eventName, eventDetail) => {\n this.emit(eventName, eventDetail, true /* shouldBubble */);\n },\n getActions: () => {\n const actions: MDCChipActionType[] = [];\n for (const [key] of this.actions) {\n actions.push(key);\n }\n return actions;\n },\n getAttribute: (attrName) => this.root.getAttribute(attrName),\n getElementID: () => this.root.id,\n getOffsetWidth: () => {\n return this.root.offsetWidth;\n },\n hasClass: (className) => this.root.classList.contains(className),\n isActionSelectable: (actionType: MDCChipActionType) => {\n const action = this.actions.get(actionType);\n if (action) {\n return action.selectable;\n }\n return false;\n },\n isActionSelected: (actionType: MDCChipActionType) => {\n const action = this.actions.get(actionType);\n if (action) {\n return action.selected;\n }\n return false;\n },\n isActionFocusable: (actionType: MDCChipActionType) => {\n const action = this.actions.get(actionType);\n if (action) {\n return action.isFocusable();\n }\n return false;\n },\n isActionDisabled: (actionType: MDCChipActionType) => {\n const action = this.actions.get(actionType);\n if (action) {\n return action.disabled;\n }\n return false;\n },\n isRTL: () => window.getComputedStyle(this.root).getPropertyValue(\n 'direction') === 'rtl',\n removeClass: (className) => {\n this.root.classList.remove(className);\n },\n setActionDisabled: (actionType: MDCChipActionType, isDisabled: boolean) => {\n const action = this.actions.get(actionType);\n if (action) {\n action.disabled = isDisabled;\n }\n },\n setActionFocus: (actionType: MDCChipActionType, behavior: MDCChipActionFocusBehavior) => {\n const action = this.actions.get(actionType);\n if (action) {\n action.setFocus(behavior);\n }\n },\n setActionSelected: (actionType: MDCChipActionType, isSelected: boolean) => {\n const action = this.actions.get(actionType);\n if (action) {\n if (action.selected !== isSelected) {\n action.selected = isSelected;\n }\n }\n },\n setStyleProperty: (prop: string, value: string) => {\n this.root.style.setProperty(prop, value);\n },\n };\n\n // Default to the primary foundation\n return new MDCChipFoundation(adapter);\n }\n\n handleActionInteraction(event: ActionInteractionEvent): void {\n this.foundation?.handleActionInteraction(event);\n this.emit('change', {}, true);\n }\n\n handleActionNavigation(event: ActionNavigationEvent): void {\n this.foundation?.handleActionNavigation(event);\n }\n\n handleAnimationEnd(event: AnimationEvent) {\n this.foundation?.handleAnimationEnd(event);\n }\n\n handleTransitionEnd() {\n this.foundation?.handleTransitionEnd();\n }\n\n getActions(): MDCChipActionType[] {\n return this.foundation?.getActions() ?? [];\n }\n\n getElementID(): string {\n return this.foundation?.getElementID() ?? '';\n }\n\n isActionFocusable(action: MDCChipActionType): boolean {\n return this.foundation!.isActionFocusable(action);\n }\n\n isActionSelectable(action: MDCChipActionType): boolean {\n return this.foundation!.isActionSelectable(action);\n }\n\n isActionSelected(action: MDCChipActionType): boolean {\n return this.foundation!.isActionSelected(action);\n }\n\n setActionFocus(action: MDCChipActionType, focus: MDCChipActionFocusBehavior) {\n this.foundation!.setActionFocus(action, focus);\n }\n\n setActionSelected(action: MDCChipActionType, isSelected: boolean) {\n this.foundation!.setActionSelected(action, isSelected);\n }\n\n startAnimation(animation: MDCChipAnimation) {\n this.foundation!.startAnimation(animation);\n }\n\n remove() {\n const parent = this.root.parentNode;\n if (parent !== null) {\n parent.removeChild(this.root);\n }\n }\n}\n\n/** @hidden */\nexport interface IMdcChipElement extends HTMLElement {\n $au: {\n 'au:resource:custom-element': {\n viewModel: MdcChip;\n };\n };\n}\n\nfunction defineMdcChipElementApis(element: HTMLElement) {\n Object.defineProperties(element, {\n type: {\n value: 'checkbox',\n },\n checked: {\n get(this: IMdcChipElement) {\n const chip = CustomElement.for<MdcChip>(this).viewModel;\n return chip.selected;\n },\n set(this: IMdcChipElement, value: boolean) {\n CustomElement.for<MdcChip>(this).viewModel.selected = value;\n },\n configurable: true\n },\n focus: {\n value(this: IMdcChipElement) {\n CustomElement.for<MdcChip>(this).viewModel.focus();\n },\n configurable: true\n }\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-chip.js","sourceRoot":"","sources":["../../../src/chips/mdc-chip/mdc-chip.ts"],"names":[],"mappings":"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","sourcesContent":["import { inject, customElement, INode, IPlatform, bindable } from 'aurelia';\r\nimport { MdcComponent, booleanAttr } from '../../base';\r\nimport { processContent, CustomElement } from '@aurelia/runtime-html';\r\nimport { MdcChipAction } from '../mdc-chip-action/mdc-chip-action';\r\nimport { MDCChipFoundation } from '@material/chips/chip/foundation';\r\nimport { MDCChipEvents, MDCChipAdapter, MDCChipActionType, MDCChipActionFocusBehavior, MDCChipAnimation } from '@material/chips';\r\nimport { ActionInteractionEvent, ActionNavigationEvent } from '@material/chips/chip/types';\r\nimport template from './mdc-chip.html?raw';\r\n\r\n(MDCChipEvents as Record<string, string>).INTERACTION = MDCChipEvents.INTERACTION.toLowerCase();\r\n(MDCChipEvents as Record<string, string>).ANIMATION = MDCChipEvents.ANIMATION.toLowerCase();\r\n(MDCChipEvents as Record<string, string>).NAVIGATION = MDCChipEvents.NAVIGATION.toLowerCase();\r\n\r\nlet chipId = 0;\r\n\r\n/**\r\n * @selector mdc-chip\r\n * @emits mdcchip:interaction | Indicates the chip was interacted with (via click/tap or Enter key)\r\n * @emits mdcchip:removal | Indicates the chip removal event from a chip set\r\n * @emits mdcchip:selection | Indicates a selection event has occurred on a chip\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-chip', template })\r\n@processContent(function processContent(node: INode, platform: IPlatform) {\r\n const element = node as HTMLElement;\r\n\r\n const primaryAction = element.querySelector('[as-element=\"mdc-chip-action\"]:not([trailing])');\r\n if (primaryAction) {\r\n primaryAction.setAttribute('au-slot', 'primary-action');\r\n primaryAction.remove();\r\n }\r\n\r\n const trailingAction = element.querySelector('[as-element=\"mdc-chip-action\"][trailing]');\r\n if (trailingAction) {\r\n trailingAction.setAttribute('au-slot', trailingAction.hasAttribute('non-navigable') ? 'non-navigable-trailing-action' : 'trailing-action');\r\n trailingAction.remove();\r\n }\r\n\r\n const template = platform.document.createElement('template');\r\n template.setAttribute('au-slot', '');\r\n template.innerHTML = element.innerHTML;\r\n element.innerHTML = '';\r\n element.appendChild(template);\r\n\r\n if (primaryAction) {\r\n element.appendChild(primaryAction);\r\n }\r\n if (trailingAction) {\r\n element.appendChild(trailingAction);\r\n }\r\n}\r\n)\r\nexport class MdcChip extends MdcComponent<MDCChipFoundation> {\r\n constructor(root: IMdcChipElement) {\r\n super(root);\r\n defineMdcChipElementApis(this.root);\r\n this.root.id = `mdc-chip-${++chipId}`;\r\n }\r\n\r\n _selected: boolean;\r\n /**\r\n * @return Whether the chip is selected.\r\n */\r\n get selected(): boolean {\r\n return this.foundation?.isActionSelected(MDCChipActionType.PRIMARY) ?? this._selected;\r\n }\r\n\r\n /** Sets selected state on the chip. */\r\n set selected(selected: boolean) {\r\n this._selected = selected;\r\n this.foundation?.setActionSelected(MDCChipActionType.PRIMARY, selected);\r\n }\r\n\r\n /** Marks the chip as disabled. */\r\n @bindable({ set: booleanAttr })\r\n disabled: boolean;\r\n\r\n /** Marks the chip as a filter chip. */\r\n @bindable({ set: booleanAttr })\r\n filter: boolean;\r\n filterChanged() {\r\n if (this.filter) {\r\n this.root.setAttribute('role', 'presentation');\r\n } else {\r\n this.root.setAttribute('role', 'row');\r\n }\r\n }\r\n\r\n @bindable()\r\n icon: string;\r\n\r\n actions: Map<MDCChipActionType, MdcChipAction>;\r\n\r\n beforeFoundationCreated() {\r\n this.actions = new Map();\r\n const primaryAction = CustomElement.for<MdcChipAction>(this.root.querySelector('.mdc-evolution-chip__action--primary')!).viewModel;\r\n this.actions.set(MDCChipActionType.PRIMARY, primaryAction);\r\n const trailingAction = this.root.querySelector('.mdc-evolution-chip__action--trailing');\r\n if (trailingAction) {\r\n this.actions.set(MDCChipActionType.TRAILING, CustomElement.for<MdcChipAction>(trailingAction).viewModel);\r\n }\r\n }\r\n\r\n initialSyncWithDOM() {\r\n this.filterChanged();\r\n if (this._selected !== undefined) {\r\n this.selected = this._selected;\r\n }\r\n }\r\n\r\n /** Set focus to the chip. */\r\n focus() {\r\n this.root.focus();\r\n }\r\n\r\n getDefaultFoundation() {\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take\r\n // a Partial<MDCFooAdapter>. To ensure we don't accidentally omit any\r\n // methods, we need a separate, strongly typed adapter variable.\r\n const adapter: MDCChipAdapter = {\r\n addClass: (className) => {\r\n this.root.classList.add(className);\r\n },\r\n emitEvent: (eventName, eventDetail) => {\r\n this.emit(eventName, eventDetail, true /* shouldBubble */);\r\n },\r\n getActions: () => {\r\n const actions: MDCChipActionType[] = [];\r\n for (const [key] of this.actions) {\r\n actions.push(key);\r\n }\r\n return actions;\r\n },\r\n getAttribute: (attrName) => this.root.getAttribute(attrName),\r\n getElementID: () => this.root.id,\r\n getOffsetWidth: () => {\r\n return this.root.offsetWidth;\r\n },\r\n hasClass: (className) => this.root.classList.contains(className),\r\n isActionSelectable: (actionType: MDCChipActionType) => {\r\n const action = this.actions.get(actionType);\r\n if (action) {\r\n return action.selectable;\r\n }\r\n return false;\r\n },\r\n isActionSelected: (actionType: MDCChipActionType) => {\r\n const action = this.actions.get(actionType);\r\n if (action) {\r\n return action.selected;\r\n }\r\n return false;\r\n },\r\n isActionFocusable: (actionType: MDCChipActionType) => {\r\n const action = this.actions.get(actionType);\r\n if (action) {\r\n return action.isFocusable();\r\n }\r\n return false;\r\n },\r\n isActionDisabled: (actionType: MDCChipActionType) => {\r\n const action = this.actions.get(actionType);\r\n if (action) {\r\n return action.disabled;\r\n }\r\n return false;\r\n },\r\n isRTL: () => window.getComputedStyle(this.root).getPropertyValue(\r\n 'direction') === 'rtl',\r\n removeClass: (className) => {\r\n this.root.classList.remove(className);\r\n },\r\n setActionDisabled: (actionType: MDCChipActionType, isDisabled: boolean) => {\r\n const action = this.actions.get(actionType);\r\n if (action) {\r\n action.disabled = isDisabled;\r\n }\r\n },\r\n setActionFocus: (actionType: MDCChipActionType, behavior: MDCChipActionFocusBehavior) => {\r\n const action = this.actions.get(actionType);\r\n if (action) {\r\n action.setFocus(behavior);\r\n }\r\n },\r\n setActionSelected: (actionType: MDCChipActionType, isSelected: boolean) => {\r\n const action = this.actions.get(actionType);\r\n if (action) {\r\n if (action.selected !== isSelected) {\r\n action.selected = isSelected;\r\n }\r\n }\r\n },\r\n setStyleProperty: (prop: string, value: string) => {\r\n this.root.style.setProperty(prop, value);\r\n },\r\n };\r\n\r\n // Default to the primary foundation\r\n return new MDCChipFoundation(adapter);\r\n }\r\n\r\n handleActionInteraction(event: ActionInteractionEvent): void {\r\n this.foundation?.handleActionInteraction(event);\r\n this.emit('change', {}, true);\r\n }\r\n\r\n handleActionNavigation(event: ActionNavigationEvent): void {\r\n this.foundation?.handleActionNavigation(event);\r\n }\r\n\r\n handleAnimationEnd(event: AnimationEvent) {\r\n this.foundation?.handleAnimationEnd(event);\r\n }\r\n\r\n handleTransitionEnd() {\r\n this.foundation?.handleTransitionEnd();\r\n }\r\n\r\n getActions(): MDCChipActionType[] {\r\n return this.foundation?.getActions() ?? [];\r\n }\r\n\r\n getElementID(): string {\r\n return this.foundation?.getElementID() ?? '';\r\n }\r\n\r\n isActionFocusable(action: MDCChipActionType): boolean {\r\n return this.foundation!.isActionFocusable(action);\r\n }\r\n\r\n isActionSelectable(action: MDCChipActionType): boolean {\r\n return this.foundation!.isActionSelectable(action);\r\n }\r\n\r\n isActionSelected(action: MDCChipActionType): boolean {\r\n return this.foundation!.isActionSelected(action);\r\n }\r\n\r\n setActionFocus(action: MDCChipActionType, focus: MDCChipActionFocusBehavior) {\r\n this.foundation!.setActionFocus(action, focus);\r\n }\r\n\r\n setActionSelected(action: MDCChipActionType, isSelected: boolean) {\r\n this.foundation!.setActionSelected(action, isSelected);\r\n }\r\n\r\n startAnimation(animation: MDCChipAnimation) {\r\n this.foundation!.startAnimation(animation);\r\n }\r\n\r\n remove() {\r\n const parent = this.root.parentNode;\r\n if (parent !== null) {\r\n parent.removeChild(this.root);\r\n }\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcChipElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcChip;\r\n };\r\n };\r\n}\r\n\r\nfunction defineMdcChipElementApis(element: HTMLElement) {\r\n Object.defineProperties(element, {\r\n type: {\r\n value: 'checkbox',\r\n },\r\n checked: {\r\n get(this: IMdcChipElement) {\r\n const chip = CustomElement.for<MdcChip>(this).viewModel;\r\n return chip.selected;\r\n },\r\n set(this: IMdcChipElement, value: boolean) {\r\n CustomElement.for<MdcChip>(this).viewModel.selected = value;\r\n },\r\n configurable: true\r\n },\r\n focus: {\r\n value(this: IMdcChipElement) {\r\n CustomElement.for<MdcChip>(this).viewModel.focus();\r\n },\r\n configurable: true\r\n }\r\n });\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-data-table.js","sourceRoot":"","sources":["../../src/data-table/mdc-data-table.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-template-curly-in-string */\nimport { MdcComponent, booleanAttr, number } from '../base';\nimport {\n MDCDataTableFoundation, selectors, MDCDataTableAdapter, events, cssClasses, RowClickEventData,\n dataAttributes, MDCDataTableRowSelectionChangedEventDetail, SortValue, messages\n} from '@material/data-table';\nimport { closest } from '@material/dom/ponyfill';\nimport { inject, customElement, INode, bindable, BindingMode } from 'aurelia';\nimport { processContent, CustomElement } from '@aurelia/runtime-html';\nimport template from './mdc-data-table.html?raw';\nimport { MdcCheckbox } from '../checkbox/mdc-checkbox';\n\nevents.ROW_CLICK = events.ROW_CLICK.toLowerCase();\nevents.ROW_SELECTION_CHANGED = events.ROW_SELECTION_CHANGED.toLowerCase();\nevents.SELECTED_ALL = events.SELECTED_ALL.toLowerCase();\nevents.SORTED = events.SORTED.toLowerCase();\nevents.UNSELECTED_ALL = events.UNSELECTED_ALL.toLowerCase();\nconst NAVIGATION_EVENT = 'mdcdatatable:navigation';\n\n/**\n * Use `pagination-total` replaceable part to customise pagination total label.\n * @selector mdc-data-table\n * @emits mdcdatatable:rowselectionchanged | Emitted when row checkbox is checked or unchecked\n * @emits mdcdatatable:selectedall | Emitted when header row checkbox is checked\n * @emits mdcdatatable:unselectedall | Emitted when header row checkbox is unchecked\n * @emits mdcdatatable:sorted | Emitted when clicked on sortable header cell\n * @emits mdcdatatable:rowclick | Emitted when a row is clicked\n */\n@inject(Element)\n@customElement({ name: 'mdc-data-table', template })\n@processContent(function processContent(node: INode) {\n const element = node as HTMLElement;\n const table = element.querySelector('table');\n if (!table) {\n throw new Error('Have you forgotten the <table> tag in you data table markup?');\n }\n table.classList.add('mdc-data-table__table');\n table.setAttribute('aria-label', '${ariaLabel}');\n\n const headerRow = element.querySelector('thead>tr');\n if (!headerRow) {\n throw new Error('Have you forgotten the <thead><tr> tags in you data table markup?');\n }\n headerRow.classList.add(cssClasses.HEADER_ROW);\n headerRow.setAttribute('ref', 'headerRow');\n const headerCells = headerRow.querySelectorAll<HTMLElement>('th');\n for (const th of Array.from(headerCells)) {\n th.classList.add(cssClasses.HEADER_CELL);\n th.classList.toggle('mdc-data-table__header-cell--numeric', th.hasAttribute('numeric'));\n th.setAttribute('role', 'columnheader');\n th.setAttribute('scope', 'col');\n }\n\n const tbody = element.querySelector('tbody');\n if (!tbody) {\n throw new Error('Have you forgotten the <tbody> tag in you data table markup?');\n }\n tbody.classList.add(cssClasses.CONTENT);\n tbody.setAttribute('ref', 'content');\n\n const paginationTotalSlot = element.querySelector('[au-slot=\"pagination-total\"]');\n paginationTotalSlot?.remove();\n\n if (paginationTotalSlot) {\n element.appendChild(paginationTotalSlot);\n }\n}\n)\nexport class MdcDataTable extends MdcComponent<MDCDataTableFoundation> implements EventListenerObject {\n header: HTMLElement;\n content: HTMLElement;\n\n /** Shows pagination footer */\n @bindable({ set: booleanAttr })\n pagination: boolean;\n\n /** Caption for the page size selector */\n @bindable()\n rowsPerPageLabel: string = 'Rows per page';\n\n /** Page sizes available for selection, e.g. [10, 25, 100, 'All'] */\n @bindable()\n pageSizes: unknown[] = [10, 25, 100];\n\n /** Selected page size */\n @bindable({ mode: BindingMode.twoWay })\n pageSize: unknown = 10;\n\n /** Makes header row sticky (fixed) on vertical scroll.\n * (Note: Sticky header feature is not compatible with IE11 browsers.) */\n @bindable({ set: booleanAttr })\n stickyHeader: boolean;\n\n get paginationPosition(): 'first' | 'between' | 'last' | undefined {\n if (typeof this.pageSize !== 'number' || this.pageSize === undefined || isNaN(this.activePage) || isNaN(this.recordsCount)) {\n return undefined;\n }\n const pagesCount = Math.ceil(this.recordsCount / this.pageSize);\n return this.activePage === 1\n ? (pagesCount === 1 ? undefined : 'first')\n : (this.activePage === pagesCount ? 'last' : 'between');\n }\n\n /** Sets total number of records. Used in navigation row. */\n @bindable({ set: number })\n recordsCount: number;\n\n /** Sets the active page number. Used in navigation row. */\n @bindable({ set: number })\n activePage: number;\n\n get paginationTotal(): string | undefined {\n if (typeof this.pageSize !== 'number' || this.pageSize === undefined || isNaN(this.activePage) || isNaN(this.recordsCount)) {\n return undefined;\n }\n const firstRecord = this.pageSize * (this.activePage - 1) + 1;\n const lastRecord = Math.min(this.pageSize * this.activePage, this.recordsCount);\n return `${firstRecord}-${lastRecord} of ${this.recordsCount}`;\n }\n\n /** Turns on a linear progress indicator at the top of the table */\n @bindable({ set: booleanAttr })\n busy: boolean;\n busyChanged() {\n if (this.busy) {\n this.foundation?.showProgress();\n } else {\n this.foundation?.hideProgress();\n }\n }\n\n @bindable({ set: booleanAttr })\n hoistPageSelectToBody: boolean;\n\n get rowCheckboxList(): MdcCheckbox[] {\n return Array.from(this.root.querySelectorAll(`.${cssClasses.ROW} .mdc-checkbox`))\n .map(x => CustomElement.for<MdcCheckbox>(x).viewModel);\n }\n\n get headerRowCheckbox(): MdcCheckbox | undefined {\n const el = this.root.querySelector(`.${cssClasses.HEADER_ROW} .mdc-checkbox`);\n return el ? CustomElement.for<MdcCheckbox>(el).viewModel : undefined;\n }\n\n handleHeaderRowCheckboxChange() {\n this.foundation?.handleHeaderRowCheckboxChange();\n }\n\n handleRowCheckboxChange(event: Event) {\n if ((event.target as HTMLInputElement).type === 'checkbox') {\n this.foundation?.handleRowCheckboxChange(event);\n }\n }\n\n headerRowClickListener(event: Event) {\n this.handleHeaderRowClick(event);\n }\n\n handleNavigationClick(type: 'first' | 'prev' | 'next' | 'last') {\n this.emit(NAVIGATION_EVENT, { type }, true);\n }\n\n handleContentClick(event: Event) {\n const dataRowEl = closest(event.target as Element, selectors.ROW) as HTMLElement;\n if (!dataRowEl) {\n return;\n }\n\n this.foundation?.handleRowClick({\n rowId: this.getRowIdByRowElement(dataRowEl),\n row: dataRowEl,\n });\n }\n\n /**\n * Re-initializes header row checkbox and row checkboxes when selectable rows are added or removed from table.\n */\n layout() {\n this.foundation?.layout();\n }\n\n /**\n * @return Returns array of header row cell elements.\n */\n getHeaderCells(): Element[] {\n return [].slice.call(this.root.querySelectorAll(selectors.HEADER_CELL)) as Element[];\n }\n\n /**\n * @return Returns array of row elements.\n */\n getRows(): Element[] {\n return this.foundation!.getRows();\n }\n\n /**\n * @return Returns array of selected row ids.\n */\n getSelectedRowIds(): (string | null)[] {\n return this.foundation!.getSelectedRowIds();\n }\n\n /**\n * Sets selected row ids. Overwrites previously selected rows.\n * @param rowIds Array of row ids that needs to be selected.\n */\n setSelectedRowIds(rowIds: string[]) {\n this.foundation?.setSelectedRowIds(rowIds);\n }\n\n handleEvent(evt: Event): void {\n switch (evt.currentTarget) {\n case this.header:\n switch (evt.type) {\n case 'change': this.handleHeaderRowCheckboxChange(); break;\n case 'click': this.handleHeaderRowClick(evt); break;\n }\n break;\n case this.content:\n switch (evt.type) {\n case 'change': this.handleRowCheckboxChange(evt); break;\n }\n break;\n }\n }\n\n beforeFoundationCreated() {\n this.header = this.root.querySelector<HTMLElement>(`.${cssClasses.HEADER_ROW}`)!;\n this.header.addEventListener('change', this);\n this.header.addEventListener('click', this);\n\n this.content = this.root.querySelector<HTMLElement>(`.${cssClasses.CONTENT}`)!;\n this.content.addEventListener('change', this);\n this.content.addEventListener('click', this);\n\n const rowCheckboxList = this.rowCheckboxList;\n this.rowCheckboxList.forEach(x => x.root.classList.add(cssClasses.ROW_CHECKBOX));\n if (this.headerRowCheckbox) {\n this.headerRowCheckbox.root.classList.add(cssClasses.HEADER_ROW_CHECKBOX);\n rowCheckboxList.push(this.headerRowCheckbox);\n }\n }\n\n initialSyncWithDOM() {\n if (this.busy !== undefined) {\n this.busyChanged();\n }\n const rowCheckboxList = this.rowCheckboxList;\n for (let i = 0; i < rowCheckboxList.length; ++i) {\n if (rowCheckboxList[i].checked) {\n this.getRowByIndex(i).classList.add(cssClasses.ROW_SELECTED);\n }\n }\n this.foundation?.layout();\n }\n\n destroy() {\n this.header.removeEventListener('change', this);\n this.header.removeEventListener('click', this);\n this.content.removeEventListener('change', this);\n }\n\n getDefaultFoundation() {\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n const adapter: MDCDataTableAdapter = {\n addClass: (className) => this.root.classList.add(className),\n removeClass: (className) => this.root.classList.remove(className),\n getHeaderCellElements: () => this.getHeaderCells(),\n getHeaderCellCount: () => this.getHeaderCells().length,\n getAttributeByHeaderCellIndex: (index, attribute) => this.getHeaderCells()[index].getAttribute(attribute),\n setAttributeByHeaderCellIndex: (index, attribute, value) => this.getHeaderCells()[index].setAttribute(attribute, value),\n setClassNameByHeaderCellIndex: (index, className) => this.getHeaderCells()[index].classList.add(className),\n removeClassNameByHeaderCellIndex: (index, className) => {\n this.getHeaderCells()[index].classList.remove(className);\n },\n notifySortAction: (data) => {\n this.emit(events.SORTED, data, /** shouldBubble */ true);\n },\n getTableContainerHeight: () => {\n const tableContainer =\n this.root.querySelector<HTMLElement>(`.${cssClasses.TABLE_CONTAINER}`);\n\n if (!tableContainer) {\n throw new Error('MDCDataTable: Table container element not found.');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return tableContainer.getBoundingClientRect().height as any;\n },\n getTableHeaderHeight: () => {\n const tableHeader =\n this.root.querySelector<HTMLElement>(selectors.HEADER_ROW);\n\n if (!tableHeader) {\n throw new Error('MDCDataTable: Table header element not found.');\n }\n\n return tableHeader.getBoundingClientRect().height;\n },\n setProgressIndicatorStyles: (styles) => {\n const progressIndicator = this.root.querySelector<HTMLElement>(selectors.PROGRESS_INDICATOR);\n\n if (!progressIndicator) {\n throw new Error('MDCDataTable: Progress indicator element not found.');\n }\n\n Object.assign(progressIndicator.style, styles);\n },\n addClassAtRowIndex: (rowIndex: number, className: string) => {\n this.getRows()[rowIndex].classList.add(className);\n },\n getRowCount: () => this.getRows().length,\n getRowElements: () => [].slice.call(this.root.querySelectorAll(selectors.ROW)) as Element[],\n getRowIdAtIndex: (rowIndex: number) =>\n this.getRows()[rowIndex].getAttribute(dataAttributes.ROW_ID),\n getRowIndexByChildElement: (el: Element) => this.getRows().indexOf((closest(el, selectors.ROW) as HTMLElement)),\n getSelectedRowCount: () => this.root.querySelectorAll(selectors.ROW_SELECTED).length,\n isCheckboxAtRowIndexChecked: (rowIndex: number) => this.rowCheckboxList[rowIndex].checked,\n isHeaderRowCheckboxChecked: () => this.headerRowCheckbox?.checked ?? false,\n isRowsSelectable: () => !!this.root.querySelector(selectors.ROW_CHECKBOX),\n notifyRowSelectionChanged:\n (data: MDCDataTableRowSelectionChangedEventDetail) => {\n this.emit(\n events.ROW_SELECTION_CHANGED, {\n row: this.getRowByIndex(data.rowIndex),\n rowId: this.getRowIdByIndex(data.rowIndex),\n rowIndex: data.rowIndex,\n selected: data.selected,\n }, /** shouldBubble */ true);\n },\n notifySelectedAll: () => {\n this.emit(events.SELECTED_ALL, {}, /** shouldBubble */ true);\n },\n notifyUnselectedAll: () => {\n this.emit(events.UNSELECTED_ALL, {}, /** shouldBubble */ true);\n },\n notifyRowClick: (data: RowClickEventData) => {\n this.emit(events.ROW_CLICK, data, /** shouldBubble */ true);\n },\n registerHeaderRowCheckbox: () => {\n // const checkboxEl = this.root.querySelector<IMdcCheckboxElement>(selectors.HEADER_ROW_CHECKBOX);\n // this.headerRowCheckbox = checkboxEl?.au?.controller.viewModel;\n },\n registerRowCheckboxes: () => {\n // this.rowCheckboxList = [];\n // this.getRows().forEach((rowEl) => {\n // const checkbox = rowEl.querySelector<IMdcCheckboxElement>(selectors.ROW_CHECKBOX)?.au?.controller.viewModel;\n // if (checkbox) {\n // this.rowCheckboxList.push(checkbox);\n // }\n // });\n },\n removeClassAtRowIndex: (rowIndex: number, className: string) => {\n this.getRows()[rowIndex].classList.remove(className);\n },\n setAttributeAtRowIndex:\n (rowIndex: number, attr: string, value: string) => {\n this.getRows()[rowIndex].setAttribute(attr, value);\n },\n setHeaderRowCheckboxChecked: (checked: boolean) => {\n if (this.headerRowCheckbox) {\n this.headerRowCheckbox.checked = checked;\n }\n },\n setHeaderRowCheckboxIndeterminate: (indeterminate: boolean) => {\n if (this.headerRowCheckbox) {\n this.headerRowCheckbox.indeterminate = indeterminate;\n }\n },\n setRowCheckboxCheckedAtIndex: (rowIndex: number, checked: boolean) => {\n this.rowCheckboxList[rowIndex].checked = checked;\n },\n setSortStatusLabelByHeaderCellIndex: (\n columnIndex: number, sortValue: SortValue) => {\n const headerCell = this.getHeaderCells()[columnIndex];\n const sortStatusLabel =\n headerCell.querySelector<HTMLElement>(selectors.SORT_STATUS_LABEL);\n\n if (!sortStatusLabel) {\n return;\n }\n\n sortStatusLabel.textContent =\n this.getSortStatusMessageBySortValue(sortValue);\n }\n };\n return new MDCDataTableFoundation(adapter);\n }\n\n private getRowByIndex(index: number): Element {\n return this.getRows()[index];\n }\n\n private getRowIdByIndex(index: number): string | null {\n return this.getRowByIndex(index).getAttribute(dataAttributes.ROW_ID);\n }\n\n private handleHeaderRowClick(event: Event): void {\n const headerCell =\n closest(event.target as Element, selectors.HEADER_CELL_WITH_SORT) as\n HTMLElement;\n\n if (!headerCell) {\n return;\n }\n\n const columnId = headerCell.getAttribute(dataAttributes.COLUMN_ID);\n const columnIndex = this.getHeaderCells().indexOf(headerCell);\n if (columnIndex === -1) {\n return;\n }\n\n this.foundation?.handleSortAction({ columnId, columnIndex, headerCell });\n }\n\n private getSortStatusMessageBySortValue(sortValue: SortValue): string {\n switch (sortValue) {\n case SortValue.ASCENDING:\n return messages.SORTED_IN_ASCENDING;\n case SortValue.DESCENDING:\n return messages.SORTED_IN_DESCENDING;\n default:\n return '';\n }\n }\n\n private getRowIdByRowElement(rowElement: HTMLElement): string | null {\n return rowElement.getAttribute(dataAttributes.ROW_ID);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-data-table.js","sourceRoot":"","sources":["../../src/data-table/mdc-data-table.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-template-curly-in-string */\r\nimport { MdcComponent, booleanAttr, number } from '../base';\r\nimport {\r\n MDCDataTableFoundation, selectors, MDCDataTableAdapter, events, cssClasses, RowClickEventData,\r\n dataAttributes, MDCDataTableRowSelectionChangedEventDetail, SortValue, messages\r\n} from '@material/data-table';\r\nimport { closest } from '@material/dom/ponyfill';\r\nimport { inject, customElement, INode, bindable, BindingMode } from 'aurelia';\r\nimport { processContent, CustomElement } from '@aurelia/runtime-html';\r\nimport template from './mdc-data-table.html?raw';\r\nimport { MdcCheckbox } from '../checkbox/mdc-checkbox';\r\n\r\nevents.ROW_CLICK = events.ROW_CLICK.toLowerCase();\r\nevents.ROW_SELECTION_CHANGED = events.ROW_SELECTION_CHANGED.toLowerCase();\r\nevents.SELECTED_ALL = events.SELECTED_ALL.toLowerCase();\r\nevents.SORTED = events.SORTED.toLowerCase();\r\nevents.UNSELECTED_ALL = events.UNSELECTED_ALL.toLowerCase();\r\nconst NAVIGATION_EVENT = 'mdcdatatable:navigation';\r\n\r\n/**\r\n * Use `pagination-total` replaceable part to customise pagination total label.\r\n * @selector mdc-data-table\r\n * @emits mdcdatatable:rowselectionchanged | Emitted when row checkbox is checked or unchecked\r\n * @emits mdcdatatable:selectedall | Emitted when header row checkbox is checked\r\n * @emits mdcdatatable:unselectedall | Emitted when header row checkbox is unchecked\r\n * @emits mdcdatatable:sorted | Emitted when clicked on sortable header cell\r\n * @emits mdcdatatable:rowclick | Emitted when a row is clicked\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-data-table', template })\r\n@processContent(function processContent(node: INode) {\r\n const element = node as HTMLElement;\r\n const table = element.querySelector('table');\r\n if (!table) {\r\n throw new Error('Have you forgotten the <table> tag in you data table markup?');\r\n }\r\n table.classList.add('mdc-data-table__table');\r\n table.setAttribute('aria-label', '${ariaLabel}');\r\n\r\n const headerRow = element.querySelector('thead>tr');\r\n if (!headerRow) {\r\n throw new Error('Have you forgotten the <thead><tr> tags in you data table markup?');\r\n }\r\n headerRow.classList.add(cssClasses.HEADER_ROW);\r\n headerRow.setAttribute('ref', 'headerRow');\r\n const headerCells = headerRow.querySelectorAll<HTMLElement>('th');\r\n for (const th of Array.from(headerCells)) {\r\n th.classList.add(cssClasses.HEADER_CELL);\r\n th.classList.toggle('mdc-data-table__header-cell--numeric', th.hasAttribute('numeric'));\r\n th.setAttribute('role', 'columnheader');\r\n th.setAttribute('scope', 'col');\r\n }\r\n\r\n const tbody = element.querySelector('tbody');\r\n if (!tbody) {\r\n throw new Error('Have you forgotten the <tbody> tag in you data table markup?');\r\n }\r\n tbody.classList.add(cssClasses.CONTENT);\r\n tbody.setAttribute('ref', 'content');\r\n\r\n const paginationTotalSlot = element.querySelector('[au-slot=\"pagination-total\"]');\r\n paginationTotalSlot?.remove();\r\n\r\n if (paginationTotalSlot) {\r\n element.appendChild(paginationTotalSlot);\r\n }\r\n}\r\n)\r\nexport class MdcDataTable extends MdcComponent<MDCDataTableFoundation> implements EventListenerObject {\r\n header: HTMLElement;\r\n content: HTMLElement;\r\n\r\n /** Shows pagination footer */\r\n @bindable({ set: booleanAttr })\r\n pagination: boolean;\r\n\r\n /** Caption for the page size selector */\r\n @bindable()\r\n rowsPerPageLabel: string = 'Rows per page';\r\n\r\n /** Page sizes available for selection, e.g. [10, 25, 100, 'All'] */\r\n @bindable()\r\n pageSizes: unknown[] = [10, 25, 100];\r\n\r\n /** Selected page size */\r\n @bindable({ mode: BindingMode.twoWay })\r\n pageSize: unknown = 10;\r\n\r\n /** Makes header row sticky (fixed) on vertical scroll.\r\n * (Note: Sticky header feature is not compatible with IE11 browsers.) */\r\n @bindable({ set: booleanAttr })\r\n stickyHeader: boolean;\r\n\r\n get paginationPosition(): 'first' | 'between' | 'last' | undefined {\r\n if (typeof this.pageSize !== 'number' || this.pageSize === undefined || isNaN(this.activePage) || isNaN(this.recordsCount)) {\r\n return undefined;\r\n }\r\n const pagesCount = Math.ceil(this.recordsCount / this.pageSize);\r\n return this.activePage === 1\r\n ? (pagesCount === 1 ? undefined : 'first')\r\n : (this.activePage === pagesCount ? 'last' : 'between');\r\n }\r\n\r\n /** Sets total number of records. Used in navigation row. */\r\n @bindable({ set: number })\r\n recordsCount: number;\r\n\r\n /** Sets the active page number. Used in navigation row. */\r\n @bindable({ set: number })\r\n activePage: number;\r\n\r\n get paginationTotal(): string | undefined {\r\n if (typeof this.pageSize !== 'number' || this.pageSize === undefined || isNaN(this.activePage) || isNaN(this.recordsCount)) {\r\n return undefined;\r\n }\r\n const firstRecord = this.pageSize * (this.activePage - 1) + 1;\r\n const lastRecord = Math.min(this.pageSize * this.activePage, this.recordsCount);\r\n return `${firstRecord}-${lastRecord} of ${this.recordsCount}`;\r\n }\r\n\r\n /** Turns on a linear progress indicator at the top of the table */\r\n @bindable({ set: booleanAttr })\r\n busy: boolean;\r\n busyChanged() {\r\n if (this.busy) {\r\n this.foundation?.showProgress();\r\n } else {\r\n this.foundation?.hideProgress();\r\n }\r\n }\r\n\r\n @bindable({ set: booleanAttr })\r\n hoistPageSelectToBody: boolean;\r\n\r\n get rowCheckboxList(): MdcCheckbox[] {\r\n return Array.from(this.root.querySelectorAll(`.${cssClasses.ROW} .mdc-checkbox`))\r\n .map(x => CustomElement.for<MdcCheckbox>(x).viewModel);\r\n }\r\n\r\n get headerRowCheckbox(): MdcCheckbox | undefined {\r\n const el = this.root.querySelector(`.${cssClasses.HEADER_ROW} .mdc-checkbox`);\r\n return el ? CustomElement.for<MdcCheckbox>(el).viewModel : undefined;\r\n }\r\n\r\n handleHeaderRowCheckboxChange() {\r\n this.foundation?.handleHeaderRowCheckboxChange();\r\n }\r\n\r\n handleRowCheckboxChange(event: Event) {\r\n if ((event.target as HTMLInputElement).type === 'checkbox') {\r\n this.foundation?.handleRowCheckboxChange(event);\r\n }\r\n }\r\n\r\n headerRowClickListener(event: Event) {\r\n this.handleHeaderRowClick(event);\r\n }\r\n\r\n handleNavigationClick(type: 'first' | 'prev' | 'next' | 'last') {\r\n this.emit(NAVIGATION_EVENT, { type }, true);\r\n }\r\n\r\n handleContentClick(event: Event) {\r\n const dataRowEl = closest(event.target as Element, selectors.ROW) as HTMLElement;\r\n if (!dataRowEl) {\r\n return;\r\n }\r\n\r\n this.foundation?.handleRowClick({\r\n rowId: this.getRowIdByRowElement(dataRowEl),\r\n row: dataRowEl,\r\n });\r\n }\r\n\r\n /**\r\n * Re-initializes header row checkbox and row checkboxes when selectable rows are added or removed from table.\r\n */\r\n layout() {\r\n this.foundation?.layout();\r\n }\r\n\r\n /**\r\n * @return Returns array of header row cell elements.\r\n */\r\n getHeaderCells(): Element[] {\r\n return [].slice.call(this.root.querySelectorAll(selectors.HEADER_CELL)) as Element[];\r\n }\r\n\r\n /**\r\n * @return Returns array of row elements.\r\n */\r\n getRows(): Element[] {\r\n return this.foundation!.getRows();\r\n }\r\n\r\n /**\r\n * @return Returns array of selected row ids.\r\n */\r\n getSelectedRowIds(): (string | null)[] {\r\n return this.foundation!.getSelectedRowIds();\r\n }\r\n\r\n /**\r\n * Sets selected row ids. Overwrites previously selected rows.\r\n * @param rowIds Array of row ids that needs to be selected.\r\n */\r\n setSelectedRowIds(rowIds: string[]) {\r\n this.foundation?.setSelectedRowIds(rowIds);\r\n }\r\n\r\n handleEvent(evt: Event): void {\r\n switch (evt.currentTarget) {\r\n case this.header:\r\n switch (evt.type) {\r\n case 'change': this.handleHeaderRowCheckboxChange(); break;\r\n case 'click': this.handleHeaderRowClick(evt); break;\r\n }\r\n break;\r\n case this.content:\r\n switch (evt.type) {\r\n case 'change': this.handleRowCheckboxChange(evt); break;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n beforeFoundationCreated() {\r\n this.header = this.root.querySelector<HTMLElement>(`.${cssClasses.HEADER_ROW}`)!;\r\n this.header.addEventListener('change', this);\r\n this.header.addEventListener('click', this);\r\n\r\n this.content = this.root.querySelector<HTMLElement>(`.${cssClasses.CONTENT}`)!;\r\n this.content.addEventListener('change', this);\r\n this.content.addEventListener('click', this);\r\n\r\n const rowCheckboxList = this.rowCheckboxList;\r\n this.rowCheckboxList.forEach(x => x.root.classList.add(cssClasses.ROW_CHECKBOX));\r\n if (this.headerRowCheckbox) {\r\n this.headerRowCheckbox.root.classList.add(cssClasses.HEADER_ROW_CHECKBOX);\r\n rowCheckboxList.push(this.headerRowCheckbox);\r\n }\r\n }\r\n\r\n initialSyncWithDOM() {\r\n if (this.busy !== undefined) {\r\n this.busyChanged();\r\n }\r\n const rowCheckboxList = this.rowCheckboxList;\r\n for (let i = 0; i < rowCheckboxList.length; ++i) {\r\n if (rowCheckboxList[i].checked) {\r\n this.getRowByIndex(i).classList.add(cssClasses.ROW_SELECTED);\r\n }\r\n }\r\n this.foundation?.layout();\r\n }\r\n\r\n destroy() {\r\n this.header.removeEventListener('change', this);\r\n this.header.removeEventListener('click', this);\r\n this.content.removeEventListener('change', this);\r\n }\r\n\r\n getDefaultFoundation() {\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n const adapter: MDCDataTableAdapter = {\r\n addClass: (className) => this.root.classList.add(className),\r\n removeClass: (className) => this.root.classList.remove(className),\r\n getHeaderCellElements: () => this.getHeaderCells(),\r\n getHeaderCellCount: () => this.getHeaderCells().length,\r\n getAttributeByHeaderCellIndex: (index, attribute) => this.getHeaderCells()[index].getAttribute(attribute),\r\n setAttributeByHeaderCellIndex: (index, attribute, value) => this.getHeaderCells()[index].setAttribute(attribute, value),\r\n setClassNameByHeaderCellIndex: (index, className) => this.getHeaderCells()[index].classList.add(className),\r\n removeClassNameByHeaderCellIndex: (index, className) => {\r\n this.getHeaderCells()[index].classList.remove(className);\r\n },\r\n notifySortAction: (data) => {\r\n this.emit(events.SORTED, data, /** shouldBubble */ true);\r\n },\r\n getTableContainerHeight: () => {\r\n const tableContainer =\r\n this.root.querySelector<HTMLElement>(`.${cssClasses.TABLE_CONTAINER}`);\r\n\r\n if (!tableContainer) {\r\n throw new Error('MDCDataTable: Table container element not found.');\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return tableContainer.getBoundingClientRect().height as any;\r\n },\r\n getTableHeaderHeight: () => {\r\n const tableHeader =\r\n this.root.querySelector<HTMLElement>(selectors.HEADER_ROW);\r\n\r\n if (!tableHeader) {\r\n throw new Error('MDCDataTable: Table header element not found.');\r\n }\r\n\r\n return tableHeader.getBoundingClientRect().height;\r\n },\r\n setProgressIndicatorStyles: (styles) => {\r\n const progressIndicator = this.root.querySelector<HTMLElement>(selectors.PROGRESS_INDICATOR);\r\n\r\n if (!progressIndicator) {\r\n throw new Error('MDCDataTable: Progress indicator element not found.');\r\n }\r\n\r\n Object.assign(progressIndicator.style, styles);\r\n },\r\n addClassAtRowIndex: (rowIndex: number, className: string) => {\r\n this.getRows()[rowIndex].classList.add(className);\r\n },\r\n getRowCount: () => this.getRows().length,\r\n getRowElements: () => [].slice.call(this.root.querySelectorAll(selectors.ROW)) as Element[],\r\n getRowIdAtIndex: (rowIndex: number) =>\r\n this.getRows()[rowIndex].getAttribute(dataAttributes.ROW_ID),\r\n getRowIndexByChildElement: (el: Element) => this.getRows().indexOf((closest(el, selectors.ROW) as HTMLElement)),\r\n getSelectedRowCount: () => this.root.querySelectorAll(selectors.ROW_SELECTED).length,\r\n isCheckboxAtRowIndexChecked: (rowIndex: number) => this.rowCheckboxList[rowIndex].checked,\r\n isHeaderRowCheckboxChecked: () => this.headerRowCheckbox?.checked ?? false,\r\n isRowsSelectable: () => !!this.root.querySelector(selectors.ROW_CHECKBOX),\r\n notifyRowSelectionChanged:\r\n (data: MDCDataTableRowSelectionChangedEventDetail) => {\r\n this.emit(\r\n events.ROW_SELECTION_CHANGED, {\r\n row: this.getRowByIndex(data.rowIndex),\r\n rowId: this.getRowIdByIndex(data.rowIndex),\r\n rowIndex: data.rowIndex,\r\n selected: data.selected,\r\n }, /** shouldBubble */ true);\r\n },\r\n notifySelectedAll: () => {\r\n this.emit(events.SELECTED_ALL, {}, /** shouldBubble */ true);\r\n },\r\n notifyUnselectedAll: () => {\r\n this.emit(events.UNSELECTED_ALL, {}, /** shouldBubble */ true);\r\n },\r\n notifyRowClick: (data: RowClickEventData) => {\r\n this.emit(events.ROW_CLICK, data, /** shouldBubble */ true);\r\n },\r\n registerHeaderRowCheckbox: () => {\r\n // const checkboxEl = this.root.querySelector<IMdcCheckboxElement>(selectors.HEADER_ROW_CHECKBOX);\r\n // this.headerRowCheckbox = checkboxEl?.au?.controller.viewModel;\r\n },\r\n registerRowCheckboxes: () => {\r\n // this.rowCheckboxList = [];\r\n // this.getRows().forEach((rowEl) => {\r\n // const checkbox = rowEl.querySelector<IMdcCheckboxElement>(selectors.ROW_CHECKBOX)?.au?.controller.viewModel;\r\n // if (checkbox) {\r\n // this.rowCheckboxList.push(checkbox);\r\n // }\r\n // });\r\n },\r\n removeClassAtRowIndex: (rowIndex: number, className: string) => {\r\n this.getRows()[rowIndex].classList.remove(className);\r\n },\r\n setAttributeAtRowIndex:\r\n (rowIndex: number, attr: string, value: string) => {\r\n this.getRows()[rowIndex].setAttribute(attr, value);\r\n },\r\n setHeaderRowCheckboxChecked: (checked: boolean) => {\r\n if (this.headerRowCheckbox) {\r\n this.headerRowCheckbox.checked = checked;\r\n }\r\n },\r\n setHeaderRowCheckboxIndeterminate: (indeterminate: boolean) => {\r\n if (this.headerRowCheckbox) {\r\n this.headerRowCheckbox.indeterminate = indeterminate;\r\n }\r\n },\r\n setRowCheckboxCheckedAtIndex: (rowIndex: number, checked: boolean) => {\r\n this.rowCheckboxList[rowIndex].checked = checked;\r\n },\r\n setSortStatusLabelByHeaderCellIndex: (\r\n columnIndex: number, sortValue: SortValue) => {\r\n const headerCell = this.getHeaderCells()[columnIndex];\r\n const sortStatusLabel =\r\n headerCell.querySelector<HTMLElement>(selectors.SORT_STATUS_LABEL);\r\n\r\n if (!sortStatusLabel) {\r\n return;\r\n }\r\n\r\n sortStatusLabel.textContent =\r\n this.getSortStatusMessageBySortValue(sortValue);\r\n }\r\n };\r\n return new MDCDataTableFoundation(adapter);\r\n }\r\n\r\n private getRowByIndex(index: number): Element {\r\n return this.getRows()[index];\r\n }\r\n\r\n private getRowIdByIndex(index: number): string | null {\r\n return this.getRowByIndex(index).getAttribute(dataAttributes.ROW_ID);\r\n }\r\n\r\n private handleHeaderRowClick(event: Event): void {\r\n const headerCell =\r\n closest(event.target as Element, selectors.HEADER_CELL_WITH_SORT) as\r\n HTMLElement;\r\n\r\n if (!headerCell) {\r\n return;\r\n }\r\n\r\n const columnId = headerCell.getAttribute(dataAttributes.COLUMN_ID);\r\n const columnIndex = this.getHeaderCells().indexOf(headerCell);\r\n if (columnIndex === -1) {\r\n return;\r\n }\r\n\r\n this.foundation?.handleSortAction({ columnId, columnIndex, headerCell });\r\n }\r\n\r\n private getSortStatusMessageBySortValue(sortValue: SortValue): string {\r\n switch (sortValue) {\r\n case SortValue.ASCENDING:\r\n return messages.SORTED_IN_ASCENDING;\r\n case SortValue.DESCENDING:\r\n return messages.SORTED_IN_DESCENDING;\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n private getRowIdByRowElement(rowElement: HTMLElement): string | null {\r\n return rowElement.getAttribute(dataAttributes.ROW_ID);\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-dialog-service.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcDialog } from './mdc-dialog';\nimport Aurelia, { CustomAttribute, IAurelia, resolve } from 'aurelia';\nimport { MDCDialogCloseEvent, strings } from '@material/dialog';\nimport { CustomElement } from '@aurelia/runtime-html';\nimport { Constructable } from '@aurelia/kernel';\nimport { IMdcRippleElement, MdcRipple } from '../ripple/mdc-ripple';\n\n/** Dialog service open method options */\nexport interface IMdcDialogOptions<T extends { loading: (params: any) => any }> {\n /** A class represeting the dialog content view model */\n viewModel: Constructable<T>;\n\n /** Data to pass to the view model's loading method */\n model?: unknown;\n}\n\ninterface IMdcDialogBindingContext {\n handleClosed(evt: MDCDialogCloseEvent): void;\n handleOpened(): void;\n}\n\n/** Service to open MDC dialogs */\nexport class MdcDialogService {\n constructor(private readonly au: Aurelia = resolve(IAurelia)) { }\n\n /** Opens the dialog specified in the options */\n async open<T extends { loading: (params: any) => any }>(options: IMdcDialogOptions<T>) {\n let closedResolver: (action?: string | PromiseLike<string> | undefined) => void;\n const closedPromise = new Promise<string>(r => closedResolver = r);\n let openedResolver: (value?: unknown) => void;\n const openedPromise = new Promise(r => openedResolver = r);\n let opened = false;\n const bindingContext: IMdcDialogBindingContext = {\n handleOpened: () => {\n opened = true;\n openedResolver();\n },\n handleClosed: (evt: MDCDialogCloseEvent) => {\n if (!opened) {\n // The dialog was closed before it was opened, need to prevent an unresolved open promise.\n openedResolver();\n }\n closedResolver(evt.detail.action);\n controller.deactivate();\n dialogVm.root.removeEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\n dialogVm.root.removeEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\n dialogContainer.remove();\n }\n };\n\n const dialogContainer = document.createElement('div');\n const def = CustomElement.getDefinition(options.viewModel);\n dialogContainer.innerHTML = `<${def.name}></${def.name}>`;\n document.body.appendChild(dialogContainer);\n\n const controller = await this.au.enhance({ host: dialogContainer, component: {} });\n const dialogVm = CustomElement.for<MdcDialog>(dialogContainer.querySelector('mdc-dialog') as HTMLElement).viewModel;\n dialogVm.root.addEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\n dialogVm.root.addEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\n const vm = CustomElement.for<T>(dialogContainer.firstChild as HTMLElement).viewModel;\n if (vm.loading) {\n const loadingResult = vm.loading(options.model);\n if (loadingResult instanceof Promise) {\n await loadingResult;\n }\n }\n await dialogVm.initialised;\n dialogVm.open();\n\n await openedPromise;\n // re-layout ripple elements because dialogs use `transform: scale(.8)` and initial layout is incorrect\n const ripples = Array.from(dialogVm.root.querySelectorAll<IMdcRippleElement>('.mdc-ripple-upgraded'));\n await Promise.all(ripples.map(async x => {\n const ripple = CustomAttribute.for<MdcRipple>(x, 'mdc-ripple');\n await ripple?.viewModel.initialised;\n ripple?.viewModel.foundation?.layout();\n }));\n return await closedPromise;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-dialog-service.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcDialog } from './mdc-dialog';\r\nimport Aurelia, { CustomAttribute, IAurelia, resolve } from 'aurelia';\r\nimport { MDCDialogCloseEvent, strings } from '@material/dialog';\r\nimport { CustomElement } from '@aurelia/runtime-html';\r\nimport { Constructable } from '@aurelia/kernel';\r\nimport { IMdcRippleElement, MdcRipple } from '../ripple/mdc-ripple';\r\n\r\n/** Dialog service open method options */\r\nexport interface IMdcDialogOptions<T extends { loading: (params: any) => any }> {\r\n /** A class represeting the dialog content view model */\r\n viewModel: Constructable<T>;\r\n\r\n /** Data to pass to the view model's loading method */\r\n model?: unknown;\r\n}\r\n\r\ninterface IMdcDialogBindingContext {\r\n handleClosed(evt: MDCDialogCloseEvent): void;\r\n handleOpened(): void;\r\n}\r\n\r\n/** Service to open MDC dialogs */\r\nexport class MdcDialogService {\r\n constructor(private readonly au: Aurelia = resolve(IAurelia)) { }\r\n\r\n /** Opens the dialog specified in the options */\r\n async open<T extends { loading: (params: any) => any }>(options: IMdcDialogOptions<T>) {\r\n let closedResolver: (action?: string | PromiseLike<string> | undefined) => void;\r\n const closedPromise = new Promise<string>(r => closedResolver = r);\r\n let openedResolver: (value?: unknown) => void;\r\n const openedPromise = new Promise(r => openedResolver = r);\r\n let opened = false;\r\n const bindingContext: IMdcDialogBindingContext = {\r\n handleOpened: () => {\r\n opened = true;\r\n openedResolver();\r\n },\r\n handleClosed: (evt: MDCDialogCloseEvent) => {\r\n if (!opened) {\r\n // The dialog was closed before it was opened, need to prevent an unresolved open promise.\r\n openedResolver();\r\n }\r\n closedResolver(evt.detail.action);\r\n controller.deactivate();\r\n dialogVm.root.removeEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\r\n dialogVm.root.removeEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\r\n dialogContainer.remove();\r\n }\r\n };\r\n\r\n const dialogContainer = document.createElement('div');\r\n const def = CustomElement.getDefinition(options.viewModel);\r\n dialogContainer.innerHTML = `<${def.name}></${def.name}>`;\r\n document.body.appendChild(dialogContainer);\r\n\r\n const controller = await this.au.enhance({ host: dialogContainer, component: {} });\r\n const dialogVm = CustomElement.for<MdcDialog>(dialogContainer.querySelector('mdc-dialog') as HTMLElement).viewModel;\r\n dialogVm.root.addEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\r\n dialogVm.root.addEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\r\n const vm = CustomElement.for<T>(dialogContainer.firstChild as HTMLElement).viewModel;\r\n if (vm.loading) {\r\n const loadingResult = vm.loading(options.model);\r\n if (loadingResult instanceof Promise) {\r\n await loadingResult;\r\n }\r\n }\r\n await dialogVm.initialised;\r\n dialogVm.open();\r\n\r\n await openedPromise;\r\n // re-layout ripple elements because dialogs use `transform: scale(.8)` and initial layout is incorrect\r\n const ripples = Array.from(dialogVm.root.querySelectorAll<IMdcRippleElement>('.mdc-ripple-upgraded'));\r\n await Promise.all(ripples.map(async x => {\r\n const ripple = CustomAttribute.for<MdcRipple>(x, 'mdc-ripple');\r\n await ripple?.viewModel.initialised;\r\n ripple?.viewModel.foundation?.layout();\r\n }));\r\n return await closedPromise;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-expandable.js","sourceRoot":"","sources":["../../src/expandable/mdc-expandable.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, inject, bindable, IPlatform } from 'aurelia';\nimport { booleanAttr } from '../base';\nimport { CustomElement } from '@aurelia/runtime-html';\nimport template from './mdc-expandable.html?raw';\n\nconst OPEN_CHANGED_EVENT = 'mdcexpandable:open-changed';\nconst ENTER = 13;\nconst SPACE = 32;\n\n/** @selector mdc-expandable */\n@inject(Element, IPlatform)\n@customElement({ name: 'mdc-expandable', template })\nexport class MdcExpandable {\n constructor(public element: HTMLElement, private platform: IPlatform) { }\n\n header?: HTMLElement = undefined;\n content?: HTMLElement = undefined;\n contentContainer?: HTMLElement = undefined;\n focused: boolean;\n\n /** Toggles the expandable open and closed */\n @bindable({ set: booleanAttr })\n open: boolean;\n openChanged() {\n this.updateContainerHeight();\n this.element.dispatchEvent(new CustomEvent(\n OPEN_CHANGED_EVENT,\n { detail: { component: this, open: this.open } }\n ));\n }\n\n /** Set the expandable to be in an accordion group */\n @bindable()\n accordion?: string;\n\n handleEvent(e: Event) {\n switch (e.type) {\n case 'transitionend':\n this.setContentContainerHeightToAuto();\n break;\n }\n }\n\n setContentContainerHeightToAuto() {\n this.contentContainer!.style.overflow = 'visible';\n this.contentContainer!.style.height = 'auto';\n this.contentContainer!.removeEventListener('transitionend', this);\n }\n\n attached() {\n this.openChanged();\n }\n\n updateContainerHeight() {\n if (this.open) {\n // after transition set body height to auto so that expandable children are visible\n this.contentContainer!.addEventListener('transitionend', this);\n this.contentContainer!.style.height = `${this.content!.clientHeight}px`;\n } else {\n // the following line is needed because height has been restored to auto'\n this.contentContainer!.style.height = `${this.content!.clientHeight}px`;\n this.platform.taskQueue.queueTask(() => {\n this.contentContainer!.style.overflow = 'hidden';\n this.contentContainer!.style.height = '0';\n });\n }\n }\n\n /** Toggles the expandable open and closed */\n toggle() {\n if (!this.open && this.accordion !== undefined) {\n const otherAccordions = Array.from(this.element.parentElement!.querySelectorAll(`.mdc-expandable--accordion__${this.accordion}.mdc-expandable--open`));\n otherAccordions.filter(x => x !== this.element)\n .map(x => CustomElement.for<MdcExpandable>(x).viewModel)\n .forEach(x => x.toggle());\n }\n this.open = !this.open;\n }\n\n handleFocus() {\n this.focused = true;\n }\n\n handleBlur() {\n this.focused = false;\n }\n\n handleKeydown(evt: KeyboardEvent) {\n if ((evt.keyCode === ENTER || evt.keyCode === SPACE)) {\n this.toggle();\n }\n return true;\n }\n}\n\n/** @hidden */\nexport interface IMdcExpandableElement extends HTMLElement {\n $au: {\n 'au:resource:custom-element': {\n viewModel: MdcExpandable;\n };\n };\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-expandable.js","sourceRoot":"","sources":["../../src/expandable/mdc-expandable.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, inject, bindable, IPlatform } from 'aurelia';\r\nimport { booleanAttr } from '../base';\r\nimport { CustomElement } from '@aurelia/runtime-html';\r\nimport template from './mdc-expandable.html?raw';\r\n\r\nconst OPEN_CHANGED_EVENT = 'mdcexpandable:open-changed';\r\nconst ENTER = 13;\r\nconst SPACE = 32;\r\n\r\n/** @selector mdc-expandable */\r\n@inject(Element, IPlatform)\r\n@customElement({ name: 'mdc-expandable', template })\r\nexport class MdcExpandable {\r\n constructor(public element: HTMLElement, private platform: IPlatform) { }\r\n\r\n header?: HTMLElement = undefined;\r\n content?: HTMLElement = undefined;\r\n contentContainer?: HTMLElement = undefined;\r\n focused: boolean;\r\n\r\n /** Toggles the expandable open and closed */\r\n @bindable({ set: booleanAttr })\r\n open: boolean;\r\n openChanged() {\r\n this.updateContainerHeight();\r\n this.element.dispatchEvent(new CustomEvent(\r\n OPEN_CHANGED_EVENT,\r\n { detail: { component: this, open: this.open } }\r\n ));\r\n }\r\n\r\n /** Set the expandable to be in an accordion group */\r\n @bindable()\r\n accordion?: string;\r\n\r\n handleEvent(e: Event) {\r\n switch (e.type) {\r\n case 'transitionend':\r\n this.setContentContainerHeightToAuto();\r\n break;\r\n }\r\n }\r\n\r\n setContentContainerHeightToAuto() {\r\n this.contentContainer!.style.overflow = 'visible';\r\n this.contentContainer!.style.height = 'auto';\r\n this.contentContainer!.removeEventListener('transitionend', this);\r\n }\r\n\r\n attached() {\r\n this.openChanged();\r\n }\r\n\r\n updateContainerHeight() {\r\n if (this.open) {\r\n // after transition set body height to auto so that expandable children are visible\r\n this.contentContainer!.addEventListener('transitionend', this);\r\n this.contentContainer!.style.height = `${this.content!.clientHeight}px`;\r\n } else {\r\n // the following line is needed because height has been restored to auto'\r\n this.contentContainer!.style.height = `${this.content!.clientHeight}px`;\r\n this.platform.taskQueue.queueTask(() => {\r\n this.contentContainer!.style.overflow = 'hidden';\r\n this.contentContainer!.style.height = '0';\r\n });\r\n }\r\n }\r\n\r\n /** Toggles the expandable open and closed */\r\n toggle() {\r\n if (!this.open && this.accordion !== undefined) {\r\n const otherAccordions = Array.from(this.element.parentElement!.querySelectorAll(`.mdc-expandable--accordion__${this.accordion}.mdc-expandable--open`));\r\n otherAccordions.filter(x => x !== this.element)\r\n .map(x => CustomElement.for<MdcExpandable>(x).viewModel)\r\n .forEach(x => x.toggle());\r\n }\r\n this.open = !this.open;\r\n }\r\n\r\n handleFocus() {\r\n this.focused = true;\r\n }\r\n\r\n handleBlur() {\r\n this.focused = false;\r\n }\r\n\r\n handleKeydown(evt: KeyboardEvent) {\r\n if ((evt.keyCode === ENTER || evt.keyCode === SPACE)) {\r\n this.toggle();\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcExpandableElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcExpandable;\r\n };\r\n };\r\n}\r\n\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-form-field.js","sourceRoot":"","sources":["../../src/form-field/mdc-form-field.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAuB,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAGjD;;GAEG;IAGU,YAAY;4BAFxB,MAAM,CAAC,OAAO,CAAC,EACf,aAAa,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;;;;sBAClB,YAAY;;;;;;;;;;4BAApB,SAAQ,WAAoC;;;;kCAQnE,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;oCAI9B,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;wCAI9B,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;YAP/B,oKAAA,MAAM,6BAAN,MAAM,uFAAU;YAIhB,0KAAA,QAAQ,6BAAR,QAAQ,2FAAU;YAIlB,sLAAA,YAAY,6BAAZ,YAAY,mGAAU;YAjBxB,6KA+CC;;;YA/CY,uDAAY;;QACvB,UAAU,GAAG,UAAU,CAAC;QAExB,MAAM,CAAa;QAEnB,KAAK,CAA2B;QAEhC,8EAA8E;QAE9E,MAAM,yDAAU;QAEhB,yCAAyC;QAEzC,QAAQ,iHAAU;QAElB,uDAAuD;QAEvD,YAAY,uHAAU;QAEtB,kBAAkB;YAChB,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAoB,cAAc,CAAC,CAAC;YAChF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAoB,WAAW,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAY,cAAc,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC9C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB;YAClB,sGAAsG;YACtG,yGAAyG;YACzG,MAAM,OAAO,GAAwB;gBACnC,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;gBAClD,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;gBACtD,4BAA4B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC;gBACrG,0BAA0B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;aACjG,CAAC;YACF,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;;;;;;;;SA7CU,YAAY","sourcesContent":["import { cssClasses, MDCFormFieldFoundation, MDCFormFieldAdapter } from '@material/form-field';\nimport { MdcComponent, booleanAttr } from '../base';\nimport { customElement, inject, bindable } from 'aurelia';\nimport { CustomAttribute } from '@aurelia/runtime-html';\nimport template from './mdc-form-field.html?raw';\nimport { MdcRipple, IMdcRippleElement } from '../ripple/mdc-ripple';\n\n/**\n * @selector mdc-form-field\n */\n@inject(Element)\n@customElement({ name: 'mdc-form-field', template })\nexport class MdcFormField extends MdcComponent<MDCFormFieldFoundation> {\n cssClasses = cssClasses;\n\n ripple?: MdcRipple;\n\n label?: HTMLLabelElement | null;\n\n /** Force label text to stay on a single line and ellipse the overflow text */\n @bindable({ set: booleanAttr })\n nowrap: boolean;\n\n /** Position the input after the label */\n @bindable({ set: booleanAttr })\n alignEnd: boolean;\n\n /** Distributes space between label text and control */\n @bindable({ set: booleanAttr })\n spaceBetween: boolean;\n\n initialSyncWithDOM() {\n let rippleUpgraded = this.root.querySelector<IMdcRippleElement>('mdc-checkbox');\n if (!rippleUpgraded) {\n rippleUpgraded = this.root.querySelector<IMdcRippleElement>('mdc-radio');\n }\n this.ripple = rippleUpgraded ? CustomAttribute.for<MdcRipple>(rippleUpgraded, 'mdc-ripple')?.viewModel : undefined;\n\n const input = this.root.querySelector('input, button');\n if (input?.hasAttribute('id')) {\n this.label = this.root.querySelector('label');\n if (this.label) {\n this.label.setAttribute('for', input.getAttribute('id')!);\n }\n }\n }\n\n getDefaultFoundation() {\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n const adapter: MDCFormFieldAdapter = {\n activateInputRipple: () => this.ripple?.activate(),\n deactivateInputRipple: () => this.ripple?.deactivate(),\n deregisterInteractionHandler: (evtType, handler) => this.label?.removeEventListener(evtType, handler),\n registerInteractionHandler: (evtType, handler) => this.label?.addEventListener(evtType, handler),\n };\n return new MDCFormFieldFoundation(adapter);\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-form-field.js","sourceRoot":"","sources":["../../src/form-field/mdc-form-field.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAuB,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAGjD;;GAEG;IAGU,YAAY;4BAFxB,MAAM,CAAC,OAAO,CAAC,EACf,aAAa,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;;;;sBAClB,YAAY;;;;;;;;;;4BAApB,SAAQ,WAAoC;;;;kCAQnE,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;oCAI9B,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;wCAI9B,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;YAP/B,oKAAA,MAAM,6BAAN,MAAM,uFAAU;YAIhB,0KAAA,QAAQ,6BAAR,QAAQ,2FAAU;YAIlB,sLAAA,YAAY,6BAAZ,YAAY,mGAAU;YAjBxB,6KA+CC;;;YA/CY,uDAAY;;QACvB,UAAU,GAAG,UAAU,CAAC;QAExB,MAAM,CAAa;QAEnB,KAAK,CAA2B;QAEhC,8EAA8E;QAE9E,MAAM,yDAAU;QAEhB,yCAAyC;QAEzC,QAAQ,iHAAU;QAElB,uDAAuD;QAEvD,YAAY,uHAAU;QAEtB,kBAAkB;YAChB,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAoB,cAAc,CAAC,CAAC;YAChF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAoB,WAAW,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAY,cAAc,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC9C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB;YAClB,sGAAsG;YACtG,yGAAyG;YACzG,MAAM,OAAO,GAAwB;gBACnC,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;gBAClD,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;gBACtD,4BAA4B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC;gBACrG,0BAA0B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;aACjG,CAAC;YACF,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;;;;;;;;SA7CU,YAAY","sourcesContent":["import { cssClasses, MDCFormFieldFoundation, MDCFormFieldAdapter } from '@material/form-field';\r\nimport { MdcComponent, booleanAttr } from '../base';\r\nimport { customElement, inject, bindable } from 'aurelia';\r\nimport { CustomAttribute } from '@aurelia/runtime-html';\r\nimport template from './mdc-form-field.html?raw';\r\nimport { MdcRipple, IMdcRippleElement } from '../ripple/mdc-ripple';\r\n\r\n/**\r\n * @selector mdc-form-field\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-form-field', template })\r\nexport class MdcFormField extends MdcComponent<MDCFormFieldFoundation> {\r\n cssClasses = cssClasses;\r\n\r\n ripple?: MdcRipple;\r\n\r\n label?: HTMLLabelElement | null;\r\n\r\n /** Force label text to stay on a single line and ellipse the overflow text */\r\n @bindable({ set: booleanAttr })\r\n nowrap: boolean;\r\n\r\n /** Position the input after the label */\r\n @bindable({ set: booleanAttr })\r\n alignEnd: boolean;\r\n\r\n /** Distributes space between label text and control */\r\n @bindable({ set: booleanAttr })\r\n spaceBetween: boolean;\r\n\r\n initialSyncWithDOM() {\r\n let rippleUpgraded = this.root.querySelector<IMdcRippleElement>('mdc-checkbox');\r\n if (!rippleUpgraded) {\r\n rippleUpgraded = this.root.querySelector<IMdcRippleElement>('mdc-radio');\r\n }\r\n this.ripple = rippleUpgraded ? CustomAttribute.for<MdcRipple>(rippleUpgraded, 'mdc-ripple')?.viewModel : undefined;\r\n\r\n const input = this.root.querySelector('input, button');\r\n if (input?.hasAttribute('id')) {\r\n this.label = this.root.querySelector('label');\r\n if (this.label) {\r\n this.label.setAttribute('for', input.getAttribute('id')!);\r\n }\r\n }\r\n }\r\n\r\n getDefaultFoundation() {\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n const adapter: MDCFormFieldAdapter = {\r\n activateInputRipple: () => this.ripple?.activate(),\r\n deactivateInputRipple: () => this.ripple?.deactivate(),\r\n deregisterInteractionHandler: (evtType, handler) => this.label?.removeEventListener(evtType, handler),\r\n registerInteractionHandler: (evtType, handler) => this.label?.addEventListener(evtType, handler),\r\n };\r\n return new MDCFormFieldFoundation(adapter);\r\n }\r\n\r\n}\r\n"]}
|
package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-deprecated-list-item.js","sourceRoot":"","sources":["../../../../src/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.ts"],"names":[],"mappings":"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","sourcesContent":["import { cssClasses, strings } from '@material/list';\nimport { customElement, bindable, inject, INode } from 'aurelia';\nimport { booleanAttr } from '../../../base';\nimport { processContent } from '@aurelia/runtime-html';\nimport template from './mdc-deprecated-list-item.html?raw';\n\n// let listItemId = 0;\n\nconst ENTER = 13;\nconst SPACE = 32;\nconst LIST_ITEM_ACTION = 'mdclistitem:action';\nlet id = 0;\n\n/**\n * @selector mdc-deprecated-list-item\n */\n@inject(Element)\n@customElement({ name: 'mdc-deprecated-list-item', template })\n@processContent(function processContent(node: INode) {\n const element = node as HTMLElement;\n const graphic = element.querySelector('mdc-checkbox:not([mdc-deprecated-list-item-meta]),[mdc-deprecated-list-item-graphic]');\n if (graphic) {\n element.removeChild(graphic);\n }\n const meta = element.querySelector('[mdc-deprecated-list-item-meta]');\n if (meta) {\n element.removeChild(meta);\n }\n const itemText = document.createElement('span');\n itemText.classList.add('mdc-deprecated-list-item__text');\n const children = [].slice.call(element.childNodes) as ChildNode[];\n for (let i = 0; i < children.length; ++i) {\n itemText.appendChild(children[i]);\n }\n if (graphic) {\n element.appendChild(graphic);\n }\n element.appendChild(itemText);\n if (meta) {\n element.appendChild(meta);\n }\n}\n)\nexport class MdcDeprecatedListItem {\n constructor(public root: HTMLElement) {\n this.root.id = `mdc-deprecated-list-item-${this.id}`;\n }\n\n cssClasses = cssClasses;\n\n id = `mdc-deprecated-list-item-${++id}`;\n\n /** Disables the list item */\n @bindable({ set: booleanAttr })\n disabled: boolean;\n\n /** Styles the row in an activated state */\n @bindable({ set: booleanAttr })\n activated: boolean;\n\n /** Random data associated with the list item. Passed in events payload. */\n @bindable()\n value: unknown;\n\n /** Disables ripple effect */\n @bindable({ set: booleanAttr })\n disableRipple: boolean;\n\n attached() {\n // Child button/a elements are not tabbable until the list item is focused.\n Array.from(this.root.querySelectorAll(strings.FOCUSABLE_CHILD_ELEMENTS))\n .forEach(el => el.setAttribute('tabindex', '-1'));\n }\n\n onKeydown(evt: KeyboardEvent) {\n if ((evt.keyCode === ENTER || evt.keyCode === SPACE) && !this.disabled) {\n this.root.dispatchEvent(new CustomEvent(LIST_ITEM_ACTION, { detail: { item: this, data: this.value }, bubbles: true }));\n }\n return true;\n }\n\n onClick() {\n if (!this.disabled) {\n this.root.dispatchEvent(new CustomEvent(LIST_ITEM_ACTION, { detail: { item: this, data: this.value }, bubbles: true }));\n }\n return true;\n }\n\n}\n\n/** @hidden */\nexport interface IMdcListItemElement extends HTMLElement {\n $au: {\n 'au:resource:custom-element': {\n viewModel: MdcDeprecatedListItem;\n };\n };\n}\n\nexport interface IMdcListActionEventDetail {\n index: number;\n data: unknown;\n}\n\n/** @hidden */\nexport interface IMdcListActionEvent extends Event {\n detail: IMdcListActionEventDetail;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-deprecated-list-item.js","sourceRoot":"","sources":["../../../../src/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAS,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAE3D,sBAAsB;AAEtB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;GAEG;IA4BU,qBAAqB;4BA3BjC,MAAM,CAAC,OAAO,CAAC,EACf,aAAa,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,CAAC,EAC7D,cAAc,CAAC,SAAS,cAAc,CAAC,IAAW;YACjD,MAAM,OAAO,GAAG,IAAmB,CAAC;YACpC,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,sFAAsF,CAAC,CAAC;YAC9H,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;YACtE,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAChD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAgB,CAAC;YAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CACA;;;;;;;;;;;;;;;;;;;;oCAWE,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;qCAI9B,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;iCAI9B,QAAQ,EAAE;yCAIV,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;YAX/B,0KAAA,QAAQ,6BAAR,QAAQ,2FAAU;YAIlB,6KAAA,SAAS,6BAAT,SAAS,6FAAU;YAInB,iKAAA,KAAK,6BAAL,KAAK,qFAAU;YAIf,yLAAA,aAAa,6BAAb,aAAa,qGAAU;YAvBzB,6KA6CC;;;YA7CY,uDAAqB;;QACb,IAAI;QAAvB,YAAmB,IAAiB;;YAAjB,SAAI,GAAJ,IAAI,CAAa;YAClC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,4BAA4B,IAAI,CAAC,EAAE,EAAE,CAAC;SACtD;QAED,UAAU,GAAG,UAAU,CAAC;QAExB,EAAE,GAAG,4BAA4B,EAAE,EAAE,EAAE,CAAC;QAExC,6BAA6B;QAE7B,QAAQ,2DAAU;QAElB,2CAA2C;QAE3C,SAAS,oHAAU;QAEnB,2EAA2E;QAE3E,KAAK,iHAAU;QAEf,6BAA6B;QAE7B,aAAa,qHAAU;QAEvB,QAAQ;YACN,2EAA2E;YAC3E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;iBACrE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,SAAS,CAAC,GAAkB;YAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1H,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1H,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;;;;SA3CU,qBAAqB","sourcesContent":["import { cssClasses, strings } from '@material/list';\r\nimport { customElement, bindable, inject, INode } from 'aurelia';\r\nimport { booleanAttr } from '../../../base';\r\nimport { processContent } from '@aurelia/runtime-html';\r\nimport template from './mdc-deprecated-list-item.html?raw';\r\n\r\n// let listItemId = 0;\r\n\r\nconst ENTER = 13;\r\nconst SPACE = 32;\r\nconst LIST_ITEM_ACTION = 'mdclistitem:action';\r\nlet id = 0;\r\n\r\n/**\r\n * @selector mdc-deprecated-list-item\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-deprecated-list-item', template })\r\n@processContent(function processContent(node: INode) {\r\n const element = node as HTMLElement;\r\n const graphic = element.querySelector('mdc-checkbox:not([mdc-deprecated-list-item-meta]),[mdc-deprecated-list-item-graphic]');\r\n if (graphic) {\r\n element.removeChild(graphic);\r\n }\r\n const meta = element.querySelector('[mdc-deprecated-list-item-meta]');\r\n if (meta) {\r\n element.removeChild(meta);\r\n }\r\n const itemText = document.createElement('span');\r\n itemText.classList.add('mdc-deprecated-list-item__text');\r\n const children = [].slice.call(element.childNodes) as ChildNode[];\r\n for (let i = 0; i < children.length; ++i) {\r\n itemText.appendChild(children[i]);\r\n }\r\n if (graphic) {\r\n element.appendChild(graphic);\r\n }\r\n element.appendChild(itemText);\r\n if (meta) {\r\n element.appendChild(meta);\r\n }\r\n}\r\n)\r\nexport class MdcDeprecatedListItem {\r\n constructor(public root: HTMLElement) {\r\n this.root.id = `mdc-deprecated-list-item-${this.id}`;\r\n }\r\n\r\n cssClasses = cssClasses;\r\n\r\n id = `mdc-deprecated-list-item-${++id}`;\r\n\r\n /** Disables the list item */\r\n @bindable({ set: booleanAttr })\r\n disabled: boolean;\r\n\r\n /** Styles the row in an activated state */\r\n @bindable({ set: booleanAttr })\r\n activated: boolean;\r\n\r\n /** Random data associated with the list item. Passed in events payload. */\r\n @bindable()\r\n value: unknown;\r\n\r\n /** Disables ripple effect */\r\n @bindable({ set: booleanAttr })\r\n disableRipple: boolean;\r\n\r\n attached() {\r\n // Child button/a elements are not tabbable until the list item is focused.\r\n Array.from(this.root.querySelectorAll(strings.FOCUSABLE_CHILD_ELEMENTS))\r\n .forEach(el => el.setAttribute('tabindex', '-1'));\r\n }\r\n\r\n onKeydown(evt: KeyboardEvent) {\r\n if ((evt.keyCode === ENTER || evt.keyCode === SPACE) && !this.disabled) {\r\n this.root.dispatchEvent(new CustomEvent(LIST_ITEM_ACTION, { detail: { item: this, data: this.value }, bubbles: true }));\r\n }\r\n return true;\r\n }\r\n\r\n onClick() {\r\n if (!this.disabled) {\r\n this.root.dispatchEvent(new CustomEvent(LIST_ITEM_ACTION, { detail: { item: this, data: this.value }, bubbles: true }));\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcListItemElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcDeprecatedListItem;\r\n };\r\n };\r\n}\r\n\r\nexport interface IMdcListActionEventDetail {\r\n index: number;\r\n data: unknown;\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcListActionEvent extends Event {\r\n detail: IMdcListActionEventDetail;\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-list-item.js","sourceRoot":"","sources":["../../../src/list/mdc-list-item/mdc-list-item.ts"],"names":[],"mappings":"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","sourcesContent":["import { cssClasses, strings } from '@material/list';\nimport { customElement, bindable, inject, INode } from 'aurelia';\nimport { booleanAttr } from '../../base';\nimport { processContent } from '@aurelia/runtime-html';\nimport template from './mdc-list-item.html?raw';\n\nconst ENTER = 13;\nconst SPACE = 32;\nconst LIST_ITEM_ACTION = 'mdclistitem:action';\nlet id = 0;\n\n/**\n * @selector mdc-list-item\n */\n@inject(Element)\n@customElement({ name: 'mdc-list-item', template })\n@processContent(function processContent(node: INode) {\n const element = node as HTMLElement;\n const leading = element.querySelector('[mdc-list-item-leading]');\n if (leading) {\n element.removeChild(leading);\n }\n const trailing = element.querySelector('[mdc-list-item-trailing]');\n if (trailing) {\n element.removeChild(trailing);\n }\n const content = document.createElement('span');\n content.classList.add('mdc-list-item__content');\n const texts = element.querySelectorAll('mdc-list-item-overline-text, mdc-list-item-primary-text, mdc-list-item-secondary-text, au-slot');\n const children = Array.from(element.childNodes);\n if (!texts.length) {\n const primary = document.createElement('span');\n primary.classList.add('mdc-list-item__primary-text');\n for (let i = 0; i < children.length; ++i) {\n primary.appendChild(children[i]);\n }\n content.appendChild(primary);\n } else {\n for (let i = 0; i < children.length; ++i) {\n content.appendChild(children[i]);\n }\n }\n if (leading) {\n const start = document.createElement('span');\n start.classList.add('mdc-list-item__start');\n start.appendChild(leading);\n element.appendChild(start);\n }\n element.appendChild(content);\n if (trailing) {\n const end = document.createElement('span');\n end.classList.add('mdc-list-item__end');\n end.appendChild(trailing);\n element.appendChild(end);\n }\n}\n)\nexport class MdcListItem {\n constructor(public root: HTMLElement) { }\n\n cssClasses = cssClasses;\n\n id = `mdc-list-item-${++id}`;\n\n /** Disables the list item */\n @bindable({ set: booleanAttr })\n disabled: boolean;\n\n /** Styles the row in an activated state */\n @bindable({ set: booleanAttr })\n activated: boolean;\n\n /** Styles the row in an selected state */\n @bindable({ set: booleanAttr })\n selected: boolean;\n\n /** Indicates a non-interactive item */\n @bindable({ set: booleanAttr })\n nonInteractive: boolean;\n\n /** Indicates a two-line item */\n @bindable({ set: booleanAttr })\n twoLine: boolean;\n\n /** Indicates a three-line item */\n @bindable({ set: booleanAttr })\n threeLine: boolean;\n\n /** Random data associated with the list item. Passed in events payload. */\n @bindable()\n value: unknown;\n\n /** Disables ripple effect */\n @bindable({ set: booleanAttr })\n disableRipple: boolean;\n\n attached() {\n // Child button/a elements are not tabbable until the list item is focused.\n Array.from(this.root.querySelectorAll(strings.FOCUSABLE_CHILD_ELEMENTS))\n .forEach(el => el.setAttribute('tabindex', '-1'));\n }\n\n onKeydown(evt: KeyboardEvent) {\n if ((evt.keyCode === ENTER || evt.keyCode === SPACE) && !this.disabled) {\n this.root.dispatchEvent(new CustomEvent(LIST_ITEM_ACTION, { detail: { item: this, data: this.value }, bubbles: true }));\n }\n return true;\n }\n\n onClick() {\n if (!this.disabled) {\n this.root.dispatchEvent(new CustomEvent(LIST_ITEM_ACTION, { detail: { item: this, data: this.value }, bubbles: true }));\n }\n return true;\n }\n\n}\n\n/** @hidden */\nexport interface IMdcListItemElement extends HTMLElement {\n $au: {\n 'au:resource:custom-element': {\n viewModel: MdcListItem;\n };\n };\n}\n\nexport interface IMdcListActionEventDetail {\n index: number;\n data: unknown;\n}\n\n/** @hidden */\nexport interface IMdcListActionEvent extends Event {\n detail: IMdcListActionEventDetail;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-list-item.js","sourceRoot":"","sources":["../../../src/list/mdc-list-item/mdc-list-item.ts"],"names":[],"mappings":"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","sourcesContent":["import { cssClasses, strings } from '@material/list';\r\nimport { customElement, bindable, inject, INode } from 'aurelia';\r\nimport { booleanAttr } from '../../base';\r\nimport { processContent } from '@aurelia/runtime-html';\r\nimport template from './mdc-list-item.html?raw';\r\n\r\nconst ENTER = 13;\r\nconst SPACE = 32;\r\nconst LIST_ITEM_ACTION = 'mdclistitem:action';\r\nlet id = 0;\r\n\r\n/**\r\n * @selector mdc-list-item\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-list-item', template })\r\n@processContent(function processContent(node: INode) {\r\n const element = node as HTMLElement;\r\n const leading = element.querySelector('[mdc-list-item-leading]');\r\n if (leading) {\r\n element.removeChild(leading);\r\n }\r\n const trailing = element.querySelector('[mdc-list-item-trailing]');\r\n if (trailing) {\r\n element.removeChild(trailing);\r\n }\r\n const content = document.createElement('span');\r\n content.classList.add('mdc-list-item__content');\r\n const texts = element.querySelectorAll('mdc-list-item-overline-text, mdc-list-item-primary-text, mdc-list-item-secondary-text, au-slot');\r\n const children = Array.from(element.childNodes);\r\n if (!texts.length) {\r\n const primary = document.createElement('span');\r\n primary.classList.add('mdc-list-item__primary-text');\r\n for (let i = 0; i < children.length; ++i) {\r\n primary.appendChild(children[i]);\r\n }\r\n content.appendChild(primary);\r\n } else {\r\n for (let i = 0; i < children.length; ++i) {\r\n content.appendChild(children[i]);\r\n }\r\n }\r\n if (leading) {\r\n const start = document.createElement('span');\r\n start.classList.add('mdc-list-item__start');\r\n start.appendChild(leading);\r\n element.appendChild(start);\r\n }\r\n element.appendChild(content);\r\n if (trailing) {\r\n const end = document.createElement('span');\r\n end.classList.add('mdc-list-item__end');\r\n end.appendChild(trailing);\r\n element.appendChild(end);\r\n }\r\n}\r\n)\r\nexport class MdcListItem {\r\n constructor(public root: HTMLElement) { }\r\n\r\n cssClasses = cssClasses;\r\n\r\n id = `mdc-list-item-${++id}`;\r\n\r\n /** Disables the list item */\r\n @bindable({ set: booleanAttr })\r\n disabled: boolean;\r\n\r\n /** Styles the row in an activated state */\r\n @bindable({ set: booleanAttr })\r\n activated: boolean;\r\n\r\n /** Styles the row in an selected state */\r\n @bindable({ set: booleanAttr })\r\n selected: boolean;\r\n\r\n /** Indicates a non-interactive item */\r\n @bindable({ set: booleanAttr })\r\n nonInteractive: boolean;\r\n\r\n /** Indicates a two-line item */\r\n @bindable({ set: booleanAttr })\r\n twoLine: boolean;\r\n\r\n /** Indicates a three-line item */\r\n @bindable({ set: booleanAttr })\r\n threeLine: boolean;\r\n\r\n /** Random data associated with the list item. Passed in events payload. */\r\n @bindable()\r\n value: unknown;\r\n\r\n /** Disables ripple effect */\r\n @bindable({ set: booleanAttr })\r\n disableRipple: boolean;\r\n\r\n attached() {\r\n // Child button/a elements are not tabbable until the list item is focused.\r\n Array.from(this.root.querySelectorAll(strings.FOCUSABLE_CHILD_ELEMENTS))\r\n .forEach(el => el.setAttribute('tabindex', '-1'));\r\n }\r\n\r\n onKeydown(evt: KeyboardEvent) {\r\n if ((evt.keyCode === ENTER || evt.keyCode === SPACE) && !this.disabled) {\r\n this.root.dispatchEvent(new CustomEvent(LIST_ITEM_ACTION, { detail: { item: this, data: this.value }, bubbles: true }));\r\n }\r\n return true;\r\n }\r\n\r\n onClick() {\r\n if (!this.disabled) {\r\n this.root.dispatchEvent(new CustomEvent(LIST_ITEM_ACTION, { detail: { item: this, data: this.value }, bubbles: true }));\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcListItemElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcListItem;\r\n };\r\n };\r\n}\r\n\r\nexport interface IMdcListActionEventDetail {\r\n index: number;\r\n data: unknown;\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcListActionEvent extends Event {\r\n detail: IMdcListActionEventDetail;\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-menu.js","sourceRoot":"","sources":["../../src/menu/mdc-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcComponent, booleanAttr, number } from '../base';\nimport { MDCMenuFoundation, DefaultFocusState, MDCMenuAdapter, Corner, MDCMenuItemComponentEventDetail, strings, cssClasses } from '@material/menu';\nimport { MDCListIndex } from '@material/list';\nimport { MDCMenuDistance } from '@material/menu-surface';\nimport { numbers as listConstants } from '@material/list/constants';\nimport { closest } from '@material/dom/ponyfill';\nimport { inject, customElement, bindable, BindingMode } from 'aurelia';\nimport { CustomElement } from '@aurelia/runtime-html';\nimport template from './mdc-menu.html?raw';\nimport { MdcList } from '../list/mdc-list';\nimport { IMdcListActionEvent, MdcListItem } from '../list/mdc-list-item/mdc-list-item';\nimport { MdcMenuSurface } from '../menu-surface/mdc-menu-surface';\n\nstrings.SELECTED_EVENT = strings.SELECTED_EVENT.toLowerCase();\n\n/**\n * @selector mdc-menu\n * @emits mdcmenu:selected | Indicates that a menu item has been selected\n */\n@inject(Element)\n@customElement({ name: 'mdc-menu', template })\nexport class MdcMenu extends MdcComponent<MDCMenuFoundation> {\n menuSurface: MdcMenuSurface; // assigned in html\n\n // TODO: can we use child here?\n // @child('mdc-list')\n get list_(): MdcList | undefined {\n const el = this.root.querySelector('mdc-list,mdc-deprecated-list');\n return el ? CustomElement.for<MdcList>(el).viewModel : undefined;\n }\n\n /** Used to indicate that the menu is using fixed positioning */\n @bindable({ set: booleanAttr })\n fixed: boolean;\n\n @bindable({ set: booleanAttr })\n typeahead?: boolean;\n typeaheadChanged() {\n if (this.list_ && this.typeahead !== undefined) {\n setTimeout(() => { this.list_!.typeahead = this.typeahead!; }, 0);\n }\n }\n\n /** Makes the menu element direct child of the body */\n @bindable({ set: booleanAttr, mode: BindingMode.oneTime })\n hoistToBody: boolean;\n\n /** Set to indicate an element the menu should be anchored to */\n @bindable()\n anchor?: Element | null;\n\n /** Sets default focus state where the menu should focus every time when menu is opened. Focuses the list root ('list') element by default. */\n @bindable()\n defaultFocusState: keyof typeof DefaultFocusState = 'LIST_ROOT';\n defaultFocusStateChanged() {\n this.foundation?.setDefaultFocusState(DefaultFocusState[this.defaultFocusState]);\n }\n\n /** Override the opening point of the menu. (Default: TOP_START) */\n @bindable()\n anchorCorner: keyof typeof Corner;\n\n /** Sets the distance from the anchor point that the menu surface should be shown */\n @bindable()\n anchorMargin: Partial<MDCMenuDistance>;\n\n /** Sets whether the menu should open and close without animation when the open/close methods are called */\n @bindable({ set: booleanAttr })\n quickOpen: boolean;\n\n /** Sets whether the menu surface should stay open after item selection */\n @bindable({ set: booleanAttr })\n stayOpenOnSelection: boolean;\n\n @bindable()\n maxHeight: number;\n\n @bindable({ set: number })\n openBottomBias: number;\n\n /** Sets whether focus should be restored after the menu is closed */\n @bindable({ set: booleanAttr })\n skipRestoreFocus: boolean;\n skipRestoreFocusChanged() {\n if (this.skipRestoreFocus) {\n this.root.setAttribute('data-menu-item-skip-restore-focus', 'true');\n } else {\n this.root.removeAttribute('data-menu-item-skip-restore-focus');\n }\n }\n\n @bindable({ set: booleanAttr })\n selectOnTab: boolean;\n\n @bindable({ set: booleanAttr })\n stayOpen: boolean;\n\n handleKeydown_(evt: KeyboardEvent) {\n const focusedItemIndex = this.list_?.foundation?.getFocusedItemIndex() ?? listConstants.UNSET_INDEX;\n if (this.selectOnTab && (evt.key === 'Tab' || evt.keyCode === 9)\n && focusedItemIndex !== listConstants.UNSET_INDEX) {\n this.foundation?.handleItemAction(this.items[focusedItemIndex]);\n } else {\n this.foundation?.handleKeydown(evt);\n }\n return true;\n }\n\n handleItemAction_(evt: IMdcListActionEvent) {\n this.foundation?.handleItemAction(this.items[evt.detail.index]);\n return true;\n }\n\n handleMenuSurfaceOpened_() {\n this.foundation?.handleMenuSurfaceOpened();\n return true;\n }\n\n get open(): boolean {\n return this.menuSurface.open;\n }\n\n set open(value: boolean) {\n this.menuSurface.open = value;\n }\n\n /** Toggles the menu to open or close */\n toggle() {\n this.open = !this.open;\n }\n\n openAnchored(anchor: HTMLElement) {\n this.anchor = anchor;\n this.open = true;\n }\n\n get wrapFocus(): boolean {\n return this.list_ ? this.list_.wrapFocus : false;\n }\n\n set wrapFocus(value: boolean) {\n if (this.list_) {\n this.list_.wrapFocus = value;\n }\n }\n\n /**\n * @return Whether typeahead logic is currently matching some user prefix.\n */\n get typeaheadInProgress() {\n return this.list_ ? this.list_.typeaheadInProgress : false;\n }\n\n /**\n * Return the items within the menu. Note that this only contains the set of elements within\n * the items container that are proper list items, and not supplemental / presentational DOM\n * elements.\n */\n get items(): Element[] {\n return this.list_ ? this.list_.listElements : [];\n }\n\n /**\n * Retrieves the selected index. Only applicable to select menus.\n * @return The selected index, which is a number for single selection and\n * radio lists, and an array of numbers for checkbox lists.\n */\n get selectedIndex(): MDCListIndex {\n return this.list_ ? this.list_.selectedIndex : listConstants.UNSET_INDEX;\n }\n\n /**\n * Sets the selected index of the list. Only applicable to select menus.\n * @param index The selected index, which is a number for single selection and\n * radio lists, and an array of numbers for checkbox lists.\n */\n set selectedIndex(index: MDCListIndex) {\n if (this.list_) {\n this.list_.selectedIndex = index;\n }\n }\n\n attaching() {\n if (this.defaultFocusState !== undefined) {\n this.defaultFocusStateChanged();\n }\n if (this.hoistToBody) {\n // when menu is a direct body child there may be a vertical scrollbar briefly shown\n // when MDCMenuSurfaceFoundation.cssClasses.OPEN added to the menu surface\n // which breaks alignment\n this.root.style.position = 'fixed';\n }\n }\n\n initialSyncWithDOM() {\n this.typeaheadChanged();\n }\n\n /**\n * Given the next desired character from the user, adds it to the typeahead\n * buffer. Then, attempts to find the next option matching the buffer. Wraps\n * around if at the end of options.\n *\n * @param nextChar The next character to add to the prefix buffer.\n * @param startingIndex The index from which to start matching. Only relevant\n * when starting a new match sequence. To start a new match sequence,\n * clear the buffer using `clearTypeaheadBuffer`, or wait for the buffer\n * to clear after a set interval defined in list foundation. Defaults to\n * the currently focused index.\n * @return The index of the matched item, or -1 if no match.\n */\n typeaheadMatchItem(nextChar: string, startingIndex?: number): number {\n if (this.list_) {\n return this.list_.typeaheadMatchItem(nextChar, startingIndex);\n }\n return -1;\n }\n\n /**\n * Layout the underlying list element in the case of any dynamic updates\n * to its structure.\n */\n layout() {\n if (this.list_) {\n this.list_.layout();\n }\n }\n\n /**\n * @param corner Default anchor corner alignment of top-left menu corner.\n */\n setAnchorCorner(corner: Corner) {\n this.menuSurface.setAnchorCorner(corner);\n }\n\n /**\n * Sets the list item as the selected row at the specified index.\n * @param index Index of list item within menu.\n */\n setSelectedIndex(index: number) {\n this.foundation?.setSelectedIndex(index);\n }\n\n /**\n * Sets the enabled state to isEnabled for the menu item at the given index.\n * @param index Index of the menu item\n * @param isEnabled The desired enabled state of the menu item.\n */\n setEnabled(index: number, isEnabled: boolean): void {\n this.foundation?.setEnabled(index, isEnabled);\n }\n\n /**\n * @return The item within the menu at the index specified.\n */\n getOptionByIndex(index: number): Element | null {\n const items = this.items;\n\n if (index < items.length) {\n return this.items[index];\n } else {\n return null;\n }\n }\n\n /**\n * @param index A menu item's index.\n * @return The primary text within the menu at the index specified.\n */\n getPrimaryTextAtIndex(index: number): string {\n const item = this.getOptionByIndex(index);\n if (item && this.list_) {\n return this.list_.getPrimaryText(item) || '';\n }\n return '';\n }\n\n setAbsolutePosition(x: number, y: number) {\n this.menuSurface.setAbsolutePosition(x, y);\n }\n\n getDefaultFoundation() {\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n const adapter: MDCMenuAdapter = {\n addClassToElementAtIndex: (index, className) => {\n const list = this.items;\n list[index].classList.add(className);\n },\n removeClassFromElementAtIndex: (index, className) => {\n const list = this.items;\n list[index].classList.remove(className);\n },\n addAttributeToElementAtIndex: (index, attr, value) => {\n const list = this.items;\n list[index].setAttribute(attr, value);\n },\n removeAttributeFromElementAtIndex: (index, attr) => {\n const list = this.items;\n list[index].removeAttribute(attr);\n },\n getAttributeFromElementAtIndex: (index, attr) => {\n const list = this.items;\n return list[index].getAttribute(attr);\n },\n elementContainsClass: (element, className) => element.classList.contains(className),\n closeSurface: (skipRestoreFocus: boolean) => {\n if (!this.stayOpenOnSelection) {\n this.menuSurface?.close(skipRestoreFocus);\n }\n },\n getElementIndex: (element) => this.items.indexOf(element),\n notifySelected: (evtData) => {\n const item = this.items[evtData.index];\n this.emit<IMdcMenuItemComponentEventDetail>(strings.SELECTED_EVENT,\n { index: evtData.index, item, data: CustomElement.for<MdcListItem>(item).viewModel.value });\n },\n getMenuItemCount: () => this.items.length,\n focusItemAtIndex: (index) => (this.items[index] as HTMLElement).focus(),\n focusListRoot: () => (this.root.querySelector(strings.LIST_SELECTOR) as HTMLElement).focus(),\n isSelectableItemAtIndex: (index) => !!closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`),\n getSelectedSiblingOfItemAtIndex: (index) => {\n const selectionGroupEl = closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`) as HTMLElement;\n const selectedItemEl = selectionGroupEl.querySelector(`.${cssClasses.MENU_SELECTED_LIST_ITEM}`);\n return selectedItemEl ? this.items.indexOf(selectedItemEl) : -1;\n },\n };\n return new MDCMenuFoundation(adapter);\n }\n\n}\n\nexport interface IMdcMenuItemComponentEventDetail extends MDCMenuItemComponentEventDetail {\n data: unknown;\n}\n\n/** @hidden */\nexport interface IMdcMenuItemComponentEvent extends Event {\n readonly detail: IMdcMenuItemComponentEventDetail;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-menu.js","sourceRoot":"","sources":["../../src/menu/mdc-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcComponent, booleanAttr, number } from '../base';\r\nimport { MDCMenuFoundation, DefaultFocusState, MDCMenuAdapter, Corner, MDCMenuItemComponentEventDetail, strings, cssClasses } from '@material/menu';\r\nimport { MDCListIndex } from '@material/list';\r\nimport { MDCMenuDistance } from '@material/menu-surface';\r\nimport { numbers as listConstants } from '@material/list/constants';\r\nimport { closest } from '@material/dom/ponyfill';\r\nimport { inject, customElement, bindable, BindingMode } from 'aurelia';\r\nimport { CustomElement } from '@aurelia/runtime-html';\r\nimport template from './mdc-menu.html?raw';\r\nimport { MdcList } from '../list/mdc-list';\r\nimport { IMdcListActionEvent, MdcListItem } from '../list/mdc-list-item/mdc-list-item';\r\nimport { MdcMenuSurface } from '../menu-surface/mdc-menu-surface';\r\n\r\nstrings.SELECTED_EVENT = strings.SELECTED_EVENT.toLowerCase();\r\n\r\n/**\r\n * @selector mdc-menu\r\n * @emits mdcmenu:selected | Indicates that a menu item has been selected\r\n */\r\n@inject(Element)\r\n@customElement({ name: 'mdc-menu', template })\r\nexport class MdcMenu extends MdcComponent<MDCMenuFoundation> {\r\n menuSurface: MdcMenuSurface; // assigned in html\r\n\r\n // TODO: can we use child here?\r\n // @child('mdc-list')\r\n get list_(): MdcList | undefined {\r\n const el = this.root.querySelector('mdc-list,mdc-deprecated-list');\r\n return el ? CustomElement.for<MdcList>(el).viewModel : undefined;\r\n }\r\n\r\n /** Used to indicate that the menu is using fixed positioning */\r\n @bindable({ set: booleanAttr })\r\n fixed: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n typeahead?: boolean;\r\n typeaheadChanged() {\r\n if (this.list_ && this.typeahead !== undefined) {\r\n setTimeout(() => { this.list_!.typeahead = this.typeahead!; }, 0);\r\n }\r\n }\r\n\r\n /** Makes the menu element direct child of the body */\r\n @bindable({ set: booleanAttr, mode: BindingMode.oneTime })\r\n hoistToBody: boolean;\r\n\r\n /** Set to indicate an element the menu should be anchored to */\r\n @bindable()\r\n anchor?: Element | null;\r\n\r\n /** Sets default focus state where the menu should focus every time when menu is opened. Focuses the list root ('list') element by default. */\r\n @bindable()\r\n defaultFocusState: keyof typeof DefaultFocusState = 'LIST_ROOT';\r\n defaultFocusStateChanged() {\r\n this.foundation?.setDefaultFocusState(DefaultFocusState[this.defaultFocusState]);\r\n }\r\n\r\n /** Override the opening point of the menu. (Default: TOP_START) */\r\n @bindable()\r\n anchorCorner: keyof typeof Corner;\r\n\r\n /** Sets the distance from the anchor point that the menu surface should be shown */\r\n @bindable()\r\n anchorMargin: Partial<MDCMenuDistance>;\r\n\r\n /** Sets whether the menu should open and close without animation when the open/close methods are called */\r\n @bindable({ set: booleanAttr })\r\n quickOpen: boolean;\r\n\r\n /** Sets whether the menu surface should stay open after item selection */\r\n @bindable({ set: booleanAttr })\r\n stayOpenOnSelection: boolean;\r\n\r\n @bindable()\r\n maxHeight: number;\r\n\r\n @bindable({ set: number })\r\n openBottomBias: number;\r\n\r\n /** Sets whether focus should be restored after the menu is closed */\r\n @bindable({ set: booleanAttr })\r\n skipRestoreFocus: boolean;\r\n skipRestoreFocusChanged() {\r\n if (this.skipRestoreFocus) {\r\n this.root.setAttribute('data-menu-item-skip-restore-focus', 'true');\r\n } else {\r\n this.root.removeAttribute('data-menu-item-skip-restore-focus');\r\n }\r\n }\r\n\r\n @bindable({ set: booleanAttr })\r\n selectOnTab: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n stayOpen: boolean;\r\n\r\n handleKeydown_(evt: KeyboardEvent) {\r\n const focusedItemIndex = this.list_?.foundation?.getFocusedItemIndex() ?? listConstants.UNSET_INDEX;\r\n if (this.selectOnTab && (evt.key === 'Tab' || evt.keyCode === 9)\r\n && focusedItemIndex !== listConstants.UNSET_INDEX) {\r\n this.foundation?.handleItemAction(this.items[focusedItemIndex]);\r\n } else {\r\n this.foundation?.handleKeydown(evt);\r\n }\r\n return true;\r\n }\r\n\r\n handleItemAction_(evt: IMdcListActionEvent) {\r\n this.foundation?.handleItemAction(this.items[evt.detail.index]);\r\n return true;\r\n }\r\n\r\n handleMenuSurfaceOpened_() {\r\n this.foundation?.handleMenuSurfaceOpened();\r\n return true;\r\n }\r\n\r\n get open(): boolean {\r\n return this.menuSurface.open;\r\n }\r\n\r\n set open(value: boolean) {\r\n this.menuSurface.open = value;\r\n }\r\n\r\n /** Toggles the menu to open or close */\r\n toggle() {\r\n this.open = !this.open;\r\n }\r\n\r\n openAnchored(anchor: HTMLElement) {\r\n this.anchor = anchor;\r\n this.open = true;\r\n }\r\n\r\n get wrapFocus(): boolean {\r\n return this.list_ ? this.list_.wrapFocus : false;\r\n }\r\n\r\n set wrapFocus(value: boolean) {\r\n if (this.list_) {\r\n this.list_.wrapFocus = value;\r\n }\r\n }\r\n\r\n /**\r\n * @return Whether typeahead logic is currently matching some user prefix.\r\n */\r\n get typeaheadInProgress() {\r\n return this.list_ ? this.list_.typeaheadInProgress : false;\r\n }\r\n\r\n /**\r\n * Return the items within the menu. Note that this only contains the set of elements within\r\n * the items container that are proper list items, and not supplemental / presentational DOM\r\n * elements.\r\n */\r\n get items(): Element[] {\r\n return this.list_ ? this.list_.listElements : [];\r\n }\r\n\r\n /**\r\n * Retrieves the selected index. Only applicable to select menus.\r\n * @return The selected index, which is a number for single selection and\r\n * radio lists, and an array of numbers for checkbox lists.\r\n */\r\n get selectedIndex(): MDCListIndex {\r\n return this.list_ ? this.list_.selectedIndex : listConstants.UNSET_INDEX;\r\n }\r\n\r\n /**\r\n * Sets the selected index of the list. Only applicable to select menus.\r\n * @param index The selected index, which is a number for single selection and\r\n * radio lists, and an array of numbers for checkbox lists.\r\n */\r\n set selectedIndex(index: MDCListIndex) {\r\n if (this.list_) {\r\n this.list_.selectedIndex = index;\r\n }\r\n }\r\n\r\n attaching() {\r\n if (this.defaultFocusState !== undefined) {\r\n this.defaultFocusStateChanged();\r\n }\r\n if (this.hoistToBody) {\r\n // when menu is a direct body child there may be a vertical scrollbar briefly shown\r\n // when MDCMenuSurfaceFoundation.cssClasses.OPEN added to the menu surface\r\n // which breaks alignment\r\n this.root.style.position = 'fixed';\r\n }\r\n }\r\n\r\n initialSyncWithDOM() {\r\n this.typeaheadChanged();\r\n }\r\n\r\n /**\r\n * Given the next desired character from the user, adds it to the typeahead\r\n * buffer. Then, attempts to find the next option matching the buffer. Wraps\r\n * around if at the end of options.\r\n *\r\n * @param nextChar The next character to add to the prefix buffer.\r\n * @param startingIndex The index from which to start matching. Only relevant\r\n * when starting a new match sequence. To start a new match sequence,\r\n * clear the buffer using `clearTypeaheadBuffer`, or wait for the buffer\r\n * to clear after a set interval defined in list foundation. Defaults to\r\n * the currently focused index.\r\n * @return The index of the matched item, or -1 if no match.\r\n */\r\n typeaheadMatchItem(nextChar: string, startingIndex?: number): number {\r\n if (this.list_) {\r\n return this.list_.typeaheadMatchItem(nextChar, startingIndex);\r\n }\r\n return -1;\r\n }\r\n\r\n /**\r\n * Layout the underlying list element in the case of any dynamic updates\r\n * to its structure.\r\n */\r\n layout() {\r\n if (this.list_) {\r\n this.list_.layout();\r\n }\r\n }\r\n\r\n /**\r\n * @param corner Default anchor corner alignment of top-left menu corner.\r\n */\r\n setAnchorCorner(corner: Corner) {\r\n this.menuSurface.setAnchorCorner(corner);\r\n }\r\n\r\n /**\r\n * Sets the list item as the selected row at the specified index.\r\n * @param index Index of list item within menu.\r\n */\r\n setSelectedIndex(index: number) {\r\n this.foundation?.setSelectedIndex(index);\r\n }\r\n\r\n /**\r\n * Sets the enabled state to isEnabled for the menu item at the given index.\r\n * @param index Index of the menu item\r\n * @param isEnabled The desired enabled state of the menu item.\r\n */\r\n setEnabled(index: number, isEnabled: boolean): void {\r\n this.foundation?.setEnabled(index, isEnabled);\r\n }\r\n\r\n /**\r\n * @return The item within the menu at the index specified.\r\n */\r\n getOptionByIndex(index: number): Element | null {\r\n const items = this.items;\r\n\r\n if (index < items.length) {\r\n return this.items[index];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * @param index A menu item's index.\r\n * @return The primary text within the menu at the index specified.\r\n */\r\n getPrimaryTextAtIndex(index: number): string {\r\n const item = this.getOptionByIndex(index);\r\n if (item && this.list_) {\r\n return this.list_.getPrimaryText(item) || '';\r\n }\r\n return '';\r\n }\r\n\r\n setAbsolutePosition(x: number, y: number) {\r\n this.menuSurface.setAbsolutePosition(x, y);\r\n }\r\n\r\n getDefaultFoundation() {\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n const adapter: MDCMenuAdapter = {\r\n addClassToElementAtIndex: (index, className) => {\r\n const list = this.items;\r\n list[index].classList.add(className);\r\n },\r\n removeClassFromElementAtIndex: (index, className) => {\r\n const list = this.items;\r\n list[index].classList.remove(className);\r\n },\r\n addAttributeToElementAtIndex: (index, attr, value) => {\r\n const list = this.items;\r\n list[index].setAttribute(attr, value);\r\n },\r\n removeAttributeFromElementAtIndex: (index, attr) => {\r\n const list = this.items;\r\n list[index].removeAttribute(attr);\r\n },\r\n getAttributeFromElementAtIndex: (index, attr) => {\r\n const list = this.items;\r\n return list[index].getAttribute(attr);\r\n },\r\n elementContainsClass: (element, className) => element.classList.contains(className),\r\n closeSurface: (skipRestoreFocus: boolean) => {\r\n if (!this.stayOpenOnSelection) {\r\n this.menuSurface?.close(skipRestoreFocus);\r\n }\r\n },\r\n getElementIndex: (element) => this.items.indexOf(element),\r\n notifySelected: (evtData) => {\r\n const item = this.items[evtData.index];\r\n this.emit<IMdcMenuItemComponentEventDetail>(strings.SELECTED_EVENT,\r\n { index: evtData.index, item, data: CustomElement.for<MdcListItem>(item).viewModel.value });\r\n },\r\n getMenuItemCount: () => this.items.length,\r\n focusItemAtIndex: (index) => (this.items[index] as HTMLElement).focus(),\r\n focusListRoot: () => (this.root.querySelector(strings.LIST_SELECTOR) as HTMLElement).focus(),\r\n isSelectableItemAtIndex: (index) => !!closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`),\r\n getSelectedSiblingOfItemAtIndex: (index) => {\r\n const selectionGroupEl = closest(this.items[index], `.${cssClasses.MENU_SELECTION_GROUP}`) as HTMLElement;\r\n const selectedItemEl = selectionGroupEl.querySelector(`.${cssClasses.MENU_SELECTED_LIST_ITEM}`);\r\n return selectedItemEl ? this.items.indexOf(selectedItemEl) : -1;\r\n },\r\n };\r\n return new MDCMenuFoundation(adapter);\r\n }\r\n\r\n}\r\n\r\nexport interface IMdcMenuItemComponentEventDetail extends MDCMenuItemComponentEventDetail {\r\n data: unknown;\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcMenuItemComponentEvent extends Event {\r\n readonly detail: IMdcMenuItemComponentEventDetail;\r\n}\r\n"]}
|
package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-segmented-button-segment.js","sourceRoot":"","sources":["../../../src/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttr, MdcComponent } from '../../base';\nimport { CustomElement } from '@aurelia/runtime-html';\nimport { inject, customElement, bindable } from 'aurelia';\nimport { MDCSegmentedButtonSegmentAdapter, MDCSegmentedButtonSegmentFoundation, SegmentDetail } from '@material/segmented-button';\nimport { events } from '@material/segmented-button/segmented-button/constants';\nimport template from './mdc-segmented-button-segment.html?raw';\nimport { MdcSegmentedButton } from '../mdc-segmented-button';\n\n/**\n * @selector button[mdc-segmented-button-segment]\n */\n@inject(Element, MdcSegmentedButton)\n@customElement({ name: 'mdc-segmented-button-segment', template })\nexport class MdcSegmentedButtonSegment extends MdcComponent<MDCSegmentedButtonSegmentFoundation> {\n constructor(root: IMdcSegmentedButtonSegmentElement) {\n super(root);\n defineMdcSegmentedButtonSegmentElementApis(root);\n }\n\n private isSingleSelect: boolean;\n private index: number;\n\n /** Indicates the segment has touch target support */\n @bindable({ set: booleanAttr })\n touch: boolean;\n\n /** Sets an icon in the segment */\n @bindable()\n icon: string;\n\n private _checked?: boolean;\n /** Use to verify the checked value */\n get checked(): boolean {\n if (this.foundation) {\n return this.foundation?.isSelected();\n } else {\n return this._checked ?? false;\n }\n }\n\n /**\n * Whether the segment is checked.\n */\n set checked(value: boolean) {\n this._checked = value;\n if (value) {\n this.foundation?.setSelected();\n } else {\n this.foundation?.setUnselected();\n }\n }\n\n handleClick() {\n this.foundation?.handleClick();\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async beforeFoundationCreated() {\n if (this.root.hasAttribute('checked')) {\n const attributeValue = this.root.getAttribute('checked');\n\n if (attributeValue || attributeValue === '') {\n this.checked = true;\n }\n }\n }\n\n initialSyncWithDOM() {\n if (this._checked !== undefined) {\n this.checked = this._checked;\n }\n }\n\n getDefaultFoundation(): MDCSegmentedButtonSegmentFoundation {\n // DO NOT INLINE this variable. For backward compatibility, foundations take\n // a Partial<MDCFooAdapter>. To ensure we don't accidentally omit any\n // methods, we need a separate, strongly typed adapter variable.\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n const adapter: MDCSegmentedButtonSegmentAdapter = {\n isSingleSelect: () => {\n return this.isSingleSelect;\n },\n getAttr: (attrName) => {\n return this.root.getAttribute(attrName);\n },\n setAttr: (attrName, value) => {\n this.root.setAttribute(attrName, value);\n },\n addClass: (className) => {\n this.root.classList.add(className);\n },\n removeClass: (className) => {\n this.root.classList.remove(className);\n },\n hasClass: (className) => {\n return this.root.classList.contains(className);\n },\n notifySelectedChange: selected => this.notifySelectedChange(events.SELECTED, selected),\n getRootBoundingClientRect: () => {\n return this.root.getBoundingClientRect();\n }\n };\n return new MDCSegmentedButtonSegmentFoundation(adapter);\n }\n\n notifySelectedChange(event: string, selected: boolean) {\n this.emit<SegmentDetail>(\n event, {\n index: this.index,\n selected,\n segmentId: this.getSegmentId()\n }, true /* shouldBubble */);\n }\n\n setIsSingleSelect(isSingleSelect: boolean) {\n this.isSingleSelect = isSingleSelect;\n this.root.setAttribute('role', isSingleSelect ? 'radio' : '');\n }\n\n /**\n * Sets segment's index value\n *\n * @hidden\n * @param index Segment's index within wrapping segmented button\n */\n setIndex(index: number) {\n this.index = index;\n }\n\n /**\n * @hidden\n * @return Returns segment's segmentId if it was set by client\n */\n getSegmentId(): string | undefined {\n return this.foundation?.getSegmentId();\n }\n}\n\n/** @hidden */\nexport interface IMdcSegmentedButtonSegmentElement extends HTMLElement {\n checked: boolean;\n indeterminate: boolean;\n $au: {\n 'au:resource:custom-element': {\n viewModel: MdcSegmentedButtonSegment;\n };\n };\n}\n\nfunction defineMdcSegmentedButtonSegmentElementApis(element: IMdcSegmentedButtonSegmentElement) {\n Object.defineProperties(element, {\n type: {\n value: 'checkbox'\n },\n tagName: {\n get() {\n return 'MDC-SEGMENTED-BUTTON-SEGMENT';\n }\n },\n checked: {\n get(this: IMdcSegmentedButtonSegmentElement) {\n return CustomElement.for<MdcSegmentedButtonSegment>(this).viewModel.checked;\n },\n set(this: IMdcSegmentedButtonSegmentElement, value: boolean) {\n CustomElement.for<MdcSegmentedButtonSegment>(this).viewModel.checked = value;\n },\n configurable: true\n }\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-segmented-button-segment.js","sourceRoot":"","sources":["../../../src/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttr, MdcComponent } from '../../base';\r\nimport { CustomElement } from '@aurelia/runtime-html';\r\nimport { inject, customElement, bindable } from 'aurelia';\r\nimport { MDCSegmentedButtonSegmentAdapter, MDCSegmentedButtonSegmentFoundation, SegmentDetail } from '@material/segmented-button';\r\nimport { events } from '@material/segmented-button/segmented-button/constants';\r\nimport template from './mdc-segmented-button-segment.html?raw';\r\nimport { MdcSegmentedButton } from '../mdc-segmented-button';\r\n\r\n/**\r\n * @selector button[mdc-segmented-button-segment]\r\n */\r\n@inject(Element, MdcSegmentedButton)\r\n@customElement({ name: 'mdc-segmented-button-segment', template })\r\nexport class MdcSegmentedButtonSegment extends MdcComponent<MDCSegmentedButtonSegmentFoundation> {\r\n constructor(root: IMdcSegmentedButtonSegmentElement) {\r\n super(root);\r\n defineMdcSegmentedButtonSegmentElementApis(root);\r\n }\r\n\r\n private isSingleSelect: boolean;\r\n private index: number;\r\n\r\n /** Indicates the segment has touch target support */\r\n @bindable({ set: booleanAttr })\r\n touch: boolean;\r\n\r\n /** Sets an icon in the segment */\r\n @bindable()\r\n icon: string;\r\n\r\n private _checked?: boolean;\r\n /** Use to verify the checked value */\r\n get checked(): boolean {\r\n if (this.foundation) {\r\n return this.foundation?.isSelected();\r\n } else {\r\n return this._checked ?? false;\r\n }\r\n }\r\n\r\n /**\r\n * Whether the segment is checked.\r\n */\r\n set checked(value: boolean) {\r\n this._checked = value;\r\n if (value) {\r\n this.foundation?.setSelected();\r\n } else {\r\n this.foundation?.setUnselected();\r\n }\r\n }\r\n\r\n handleClick() {\r\n this.foundation?.handleClick();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/require-await\r\n async beforeFoundationCreated() {\r\n if (this.root.hasAttribute('checked')) {\r\n const attributeValue = this.root.getAttribute('checked');\r\n\r\n if (attributeValue || attributeValue === '') {\r\n this.checked = true;\r\n }\r\n }\r\n }\r\n\r\n initialSyncWithDOM() {\r\n if (this._checked !== undefined) {\r\n this.checked = this._checked;\r\n }\r\n }\r\n\r\n getDefaultFoundation(): MDCSegmentedButtonSegmentFoundation {\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take\r\n // a Partial<MDCFooAdapter>. To ensure we don't accidentally omit any\r\n // methods, we need a separate, strongly typed adapter variable.\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n const adapter: MDCSegmentedButtonSegmentAdapter = {\r\n isSingleSelect: () => {\r\n return this.isSingleSelect;\r\n },\r\n getAttr: (attrName) => {\r\n return this.root.getAttribute(attrName);\r\n },\r\n setAttr: (attrName, value) => {\r\n this.root.setAttribute(attrName, value);\r\n },\r\n addClass: (className) => {\r\n this.root.classList.add(className);\r\n },\r\n removeClass: (className) => {\r\n this.root.classList.remove(className);\r\n },\r\n hasClass: (className) => {\r\n return this.root.classList.contains(className);\r\n },\r\n notifySelectedChange: selected => this.notifySelectedChange(events.SELECTED, selected),\r\n getRootBoundingClientRect: () => {\r\n return this.root.getBoundingClientRect();\r\n }\r\n };\r\n return new MDCSegmentedButtonSegmentFoundation(adapter);\r\n }\r\n\r\n notifySelectedChange(event: string, selected: boolean) {\r\n this.emit<SegmentDetail>(\r\n event, {\r\n index: this.index,\r\n selected,\r\n segmentId: this.getSegmentId()\r\n }, true /* shouldBubble */);\r\n }\r\n\r\n setIsSingleSelect(isSingleSelect: boolean) {\r\n this.isSingleSelect = isSingleSelect;\r\n this.root.setAttribute('role', isSingleSelect ? 'radio' : '');\r\n }\r\n\r\n /**\r\n * Sets segment's index value\r\n *\r\n * @hidden\r\n * @param index Segment's index within wrapping segmented button\r\n */\r\n setIndex(index: number) {\r\n this.index = index;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * @return Returns segment's segmentId if it was set by client\r\n */\r\n getSegmentId(): string | undefined {\r\n return this.foundation?.getSegmentId();\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcSegmentedButtonSegmentElement extends HTMLElement {\r\n checked: boolean;\r\n indeterminate: boolean;\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcSegmentedButtonSegment;\r\n };\r\n };\r\n}\r\n\r\nfunction defineMdcSegmentedButtonSegmentElementApis(element: IMdcSegmentedButtonSegmentElement) {\r\n Object.defineProperties(element, {\r\n type: {\r\n value: 'checkbox'\r\n },\r\n tagName: {\r\n get() {\r\n return 'MDC-SEGMENTED-BUTTON-SEGMENT';\r\n }\r\n },\r\n checked: {\r\n get(this: IMdcSegmentedButtonSegmentElement) {\r\n return CustomElement.for<MdcSegmentedButtonSegment>(this).viewModel.checked;\r\n },\r\n set(this: IMdcSegmentedButtonSegmentElement, value: boolean) {\r\n CustomElement.for<MdcSegmentedButtonSegment>(this).viewModel.checked = value;\r\n },\r\n configurable: true\r\n }\r\n });\r\n}\r\n"]}
|