@shortfuse/materialdesignweb 0.5.0 → 0.7.1-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +155 -77
- package/bin/generate-css.js +12 -0
- package/components/Badge.css +38 -0
- package/components/Badge.js +15 -0
- package/components/Body.css +14 -0
- package/components/Body.js +7 -0
- package/components/BottomAppBar.css +23 -0
- package/components/BottomAppBar.js +25 -0
- package/components/Box.css +31 -0
- package/components/Box.js +24 -0
- package/components/Button.css +147 -0
- package/components/Button.js +95 -0
- package/components/Button.md +61 -0
- package/components/Card.css +109 -0
- package/components/Card.js +82 -0
- package/components/Checkbox.css +89 -0
- package/components/Checkbox.js +59 -0
- package/components/CheckboxIcon.css +90 -0
- package/components/CheckboxIcon.js +41 -0
- package/components/Chip.css +35 -0
- package/components/Chip.js +22 -0
- package/components/Dialog.css +235 -0
- package/components/Dialog.js +327 -0
- package/components/DialogActions.js +13 -0
- package/components/Divider.css +41 -0
- package/components/Divider.js +13 -0
- package/components/ExtendedFab.css +24 -0
- package/components/ExtendedFab.js +11 -0
- package/components/Fab.css +23 -0
- package/components/Fab.js +26 -0
- package/components/FilterChip.css +80 -0
- package/components/FilterChip.js +51 -0
- package/components/Headline.css +14 -0
- package/components/Headline.js +33 -0
- package/components/Icon.css +76 -0
- package/components/Icon.js +174 -0
- package/components/IconButton.css +150 -0
- package/components/IconButton.js +65 -0
- package/components/Input.js +16 -0
- package/components/Label.css +14 -0
- package/components/Label.js +7 -0
- package/components/Layout.css +19 -0
- package/components/Layout.js +12 -0
- package/components/List.css +12 -0
- package/components/List.js +17 -0
- package/components/ListItem.css +224 -0
- package/components/ListItem.js +112 -0
- package/components/ListOption.css +34 -0
- package/components/ListOption.js +122 -0
- package/components/ListSelect.css +9 -0
- package/components/ListSelect.js +206 -0
- package/components/Menu.css +171 -0
- package/components/Menu.js +470 -0
- package/components/MenuItem.css +53 -0
- package/components/MenuItem.js +215 -0
- package/components/Nav.css +17 -0
- package/components/Nav.js +23 -0
- package/components/NavBar.css +34 -0
- package/components/NavBar.js +88 -0
- package/components/NavBarItem.css +41 -0
- package/components/NavBarItem.js +7 -0
- package/components/NavDrawer.css +31 -0
- package/components/NavDrawer.js +13 -0
- package/components/NavDrawerItem.css +42 -0
- package/components/NavDrawerItem.js +12 -0
- package/components/NavItem.css +181 -0
- package/components/NavItem.js +83 -0
- package/components/NavRail.css +47 -0
- package/components/NavRail.js +17 -0
- package/components/NavRailItem.css +25 -0
- package/components/NavRailItem.js +7 -0
- package/components/Option.js +91 -0
- package/components/Outline.css +138 -0
- package/components/Pane.css +261 -0
- package/components/Pane.js +21 -0
- package/components/Progress.css +75 -0
- package/components/Progress.js +67 -0
- package/components/ProgressCircle.css +226 -0
- package/components/ProgressLine.css +155 -0
- package/components/Radio.css +95 -0
- package/components/Radio.js +42 -0
- package/components/RadioIcon.css +73 -0
- package/components/RadioIcon.js +37 -0
- package/components/Ripple.css +74 -0
- package/components/Ripple.js +114 -0
- package/components/SegmentedButton.css +94 -0
- package/components/SegmentedButton.js +49 -0
- package/components/SegmentedButtonGroup.css +12 -0
- package/components/SegmentedButtonGroup.js +44 -0
- package/components/Select.css +52 -0
- package/components/Select.js +71 -0
- package/components/Shape.css +132 -0
- package/components/Shape.js +25 -0
- package/components/Slider.css +307 -0
- package/components/Slider.js +206 -0
- package/components/Snackbar.css +80 -0
- package/components/Snackbar.js +75 -0
- package/components/Surface.css +10 -0
- package/components/Surface.js +23 -0
- package/components/Switch.css +64 -0
- package/components/Switch.js +127 -0
- package/components/SwitchIcon.css +178 -0
- package/components/SwitchIcon.js +89 -0
- package/components/SwitchIconAnimations.css +89 -0
- package/components/Tab.css +85 -0
- package/components/Tab.js +103 -0
- package/components/TabContent.js +151 -0
- package/components/TabList.css +129 -0
- package/components/TabList.js +309 -0
- package/components/TabPanel.js +37 -0
- package/components/TextArea.css +93 -0
- package/components/TextArea.js +229 -0
- package/components/Title.css +14 -0
- package/components/Title.js +15 -0
- package/components/Tooltip.css +40 -0
- package/components/Tooltip.js +22 -0
- package/components/TopAppBar.css +209 -0
- package/components/TopAppBar.js +201 -0
- package/core/Composition.js +988 -0
- package/core/CustomElement.js +844 -0
- package/core/ICustomElement.d.ts +288 -0
- package/core/ICustomElement.js +1 -0
- package/core/css.js +51 -0
- package/core/customTypes.js +125 -0
- package/core/dom.js +56 -154
- package/core/identify.js +40 -0
- package/core/observe.js +410 -0
- package/core/template.js +121 -0
- package/core/typings.d.ts +135 -0
- package/core/typings.js +1 -0
- package/index.js +77 -0
- package/mixins/AriaReflectorMixin.js +42 -0
- package/mixins/AriaToolbarMixin.js +13 -0
- package/mixins/ControlMixin.css +57 -0
- package/mixins/ControlMixin.js +212 -0
- package/mixins/DensityMixin.css +40 -0
- package/mixins/DensityMixin.js +11 -0
- package/mixins/FlexableMixin.css +79 -0
- package/mixins/FlexableMixin.js +32 -0
- package/mixins/FormAssociatedMixin.js +170 -0
- package/mixins/InputMixin.js +335 -0
- package/mixins/KeyboardNavMixin.js +244 -0
- package/mixins/RTLObserverMixin.js +35 -0
- package/mixins/ResizeObserverMixin.js +38 -0
- package/mixins/RippleMixin.css +12 -0
- package/mixins/RippleMixin.js +115 -0
- package/mixins/ScrollListenerMixin.js +100 -0
- package/mixins/ShapeMixin.css +135 -0
- package/mixins/ShapeMixin.js +31 -0
- package/mixins/StateMixin.css +82 -0
- package/mixins/StateMixin.js +114 -0
- package/mixins/SurfaceMixin.css +150 -0
- package/mixins/SurfaceMixin.js +32 -0
- package/mixins/TextFieldMixin.css +657 -0
- package/mixins/TextFieldMixin.js +121 -0
- package/mixins/ThemableMixin.css +204 -0
- package/mixins/ThemableMixin.js +16 -0
- package/mixins/TooltipTriggerMixin.css +27 -0
- package/mixins/TooltipTriggerMixin.js +366 -0
- package/mixins/TouchTargetMixin.css +26 -0
- package/mixins/TouchTargetMixin.js +9 -0
- package/package.json +55 -49
- package/theming/index.js +473 -0
- package/theming/loader.js +24 -0
- package/utils/cli.js +11 -0
- package/utils/color_keywords.js +151 -0
- package/utils/hct/Cam16.js +298 -0
- package/utils/hct/CorePalette.js +84 -0
- package/utils/hct/Hct.js +172 -0
- package/utils/hct/Scheme.js +587 -0
- package/utils/hct/TonalPalette.js +68 -0
- package/utils/hct/ViewingConditions.js +136 -0
- package/utils/hct/blend.js +93 -0
- package/utils/hct/colorUtils.js +302 -0
- package/utils/hct/hctSolver.js +559 -0
- package/utils/hct/helper.js +182 -0
- package/utils/hct/mathUtils.js +153 -0
- package/utils/jsonMergePatch.js +100 -0
- package/utils/jsx-runtime.js +101 -0
- package/utils/popup.js +117 -0
- package/utils/svg.js +12 -0
- package/.browserslistrc +0 -4
- package/.eslintrc.json +0 -204
- package/.stylelintrc.json +0 -645
- package/.vscode/launch.json +0 -31
- package/.vscode/settings.json +0 -3
- package/.vscode/tasks.json +0 -32
- package/CHANGELOG.md +0 -36
- package/CODE_OF_CONDUCT.md +0 -46
- package/adapters/datatable/column.js +0 -176
- package/adapters/datatable/index.js +0 -960
- package/adapters/dom/index.js +0 -586
- package/adapters/list/index.js +0 -69
- package/adapters/search/index.js +0 -495
- package/components/appbar/_spec.scss +0 -165
- package/components/appbar/_theme.scss +0 -0
- package/components/appbar/index.scss +0 -2
- package/components/banner/_spec.scss +0 -83
- package/components/banner/_theme.scss +0 -0
- package/components/banner/index.scss +0 -2
- package/components/bottomnav/README.md +0 -85
- package/components/bottomnav/_spec.scss +0 -149
- package/components/bottomnav/_theme.scss +0 -0
- package/components/bottomnav/index.js +0 -117
- package/components/bottomnav/index.scss +0 -2
- package/components/bottomnav/item.js +0 -88
- package/components/button/README.md +0 -61
- package/components/button/_spec.scss +0 -162
- package/components/button/_theme.scss +0 -42
- package/components/button/index.eta +0 -32
- package/components/button/index.js +0 -43
- package/components/button/index.pug +0 -18
- package/components/button/index.scss +0 -2
- package/components/card/_spec.scss +0 -241
- package/components/card/_theme.scss +0 -0
- package/components/card/index.scss +0 -2
- package/components/chip/_spec.scss +0 -111
- package/components/chip/_theme.scss +0 -105
- package/components/chip/index.js +0 -23
- package/components/chip/index.scss +0 -2
- package/components/chip/item.js +0 -20
- package/components/datatable/_spec.scss +0 -225
- package/components/datatable/_theme.scss +0 -128
- package/components/datatable/cell.js +0 -44
- package/components/datatable/columnheader.js +0 -46
- package/components/datatable/index.js +0 -374
- package/components/datatable/index.scss +0 -2
- package/components/datatable/row.js +0 -48
- package/components/datatable/rowheader.js +0 -18
- package/components/dialog/_spec.scss +0 -203
- package/components/dialog/_theme.scss +0 -7
- package/components/dialog/index.js +0 -601
- package/components/dialog/index.scss +0 -2
- package/components/divider/_spec.scss +0 -11
- package/components/divider/_theme.scss +0 -0
- package/components/divider/index.scss +0 -2
- package/components/elevation/_spec.scss +0 -9
- package/components/elevation/_theme.scss +0 -0
- package/components/elevation/index.scss +0 -2
- package/components/fab/_spec.scss +0 -210
- package/components/fab/_theme.scss +0 -0
- package/components/fab/index.js +0 -99
- package/components/fab/index.scss +0 -2
- package/components/grid/_spec.scss +0 -169
- package/components/grid/_theme.scss +0 -0
- package/components/grid/index.scss +0 -2
- package/components/layout/_mixins.scss +0 -11
- package/components/layout/_spec.scss +0 -916
- package/components/layout/_theme.scss +0 -19
- package/components/layout/index.js +0 -454
- package/components/layout/index.scss +0 -2
- package/components/list/_spec.scss +0 -363
- package/components/list/_theme.scss +0 -102
- package/components/list/content.js +0 -106
- package/components/list/index.js +0 -256
- package/components/list/index.scss +0 -2
- package/components/list/item.js +0 -167
- package/components/list/secondary.js +0 -45
- package/components/menu/_spec.scss +0 -329
- package/components/menu/_theme.scss +0 -0
- package/components/menu/index.js +0 -705
- package/components/menu/index.scss +0 -2
- package/components/menu/item.js +0 -231
- package/components/progress/_spec.scss +0 -156
- package/components/progress/_theme.scss +0 -0
- package/components/progress/index.js +0 -36
- package/components/progress/index.scss +0 -2
- package/components/selection/_spec.scss +0 -376
- package/components/selection/_theme.scss +0 -134
- package/components/selection/index.eta +0 -60
- package/components/selection/index.js +0 -70
- package/components/selection/index.pug +0 -30
- package/components/selection/index.scss +0 -2
- package/components/selection/input.js +0 -54
- package/components/selection/radiogroup.js +0 -40
- package/components/slider/_spec.scss +0 -59
- package/components/slider/_theme.scss +0 -0
- package/components/slider/index.scss +0 -2
- package/components/snackbar/_spec.scss +0 -150
- package/components/snackbar/_theme.scss +0 -0
- package/components/snackbar/index.js +0 -338
- package/components/snackbar/index.scss +0 -2
- package/components/tab/_spec.scss +0 -220
- package/components/tab/_theme.scss +0 -0
- package/components/tab/content.js +0 -210
- package/components/tab/index.js +0 -257
- package/components/tab/index.scss +0 -2
- package/components/tab/item.js +0 -88
- package/components/tab/list.js +0 -196
- package/components/tab/panel.js +0 -54
- package/components/textfield/README.md +0 -179
- package/components/textfield/_spec.scss +0 -763
- package/components/textfield/_theme.scss +0 -264
- package/components/textfield/index.eta +0 -74
- package/components/textfield/index.js +0 -160
- package/components/textfield/index.pug +0 -30
- package/components/textfield/index.scss +0 -2
- package/components/tooltip/_spec.scss +0 -185
- package/components/tooltip/_theme.scss +0 -0
- package/components/tooltip/index.scss +0 -2
- package/components/type/_spec.scss +0 -227
- package/components/type/_theme.scss +0 -0
- package/components/type/index.scss +0 -2
- package/core/_breakpoint.scss +0 -189
- package/core/_elevation.scss +0 -78
- package/core/_length.scss +0 -8
- package/core/_motion.scss +0 -31
- package/core/_platform.scss +0 -12
- package/core/_type.scss +0 -128
- package/core/aria/attributes.js +0 -141
- package/core/aria/button.js +0 -49
- package/core/aria/keyboard.js +0 -92
- package/core/aria/rovingtabindex.js +0 -175
- package/core/aria/tab.js +0 -59
- package/core/document/index.js +0 -39
- package/core/overlay/_spec.scss +0 -28
- package/core/overlay/_theme.scss +0 -147
- package/core/overlay/index.js +0 -95
- package/core/overlay/index.scss +0 -2
- package/core/ripple/_spec.scss +0 -196
- package/core/ripple/_theme.scss +0 -20
- package/core/ripple/index.js +0 -286
- package/core/ripple/index.scss +0 -2
- package/core/theme/_aliases.scss +0 -15
- package/core/theme/_config.scss +0 -8
- package/core/theme/_functions.scss +0 -22
- package/core/theme/_palettes.scss +0 -405
- package/core/theme/_spec.scss +0 -0
- package/core/theme/_theme.scss +0 -268
- package/core/theme/index.js +0 -50
- package/core/theme/index.scss +0 -4
- package/core/throttler.js +0 -42
- package/core/transition/index.js +0 -465
- package/docs/_flex.scss +0 -28
- package/docs/_menuoptions.js +0 -183
- package/docs/_partials/_androidnavbar.eta +0 -5
- package/docs/_partials/_androidstatusbar.eta +0 -13
- package/docs/_partials/_appbar.eta +0 -27
- package/docs/_partials/_buttontest.eta +0 -31
- package/docs/_partials/_header.eta +0 -146
- package/docs/_partials/_navlistitem.eta +0 -16
- package/docs/_partials/_target.eta +0 -1
- package/docs/_sample-utils.js +0 -88
- package/docs/_storage.js +0 -33
- package/docs/docs.scss +0 -331
- package/docs/framework.scss +0 -26
- package/docs/index.eta +0 -12
- package/docs/index.js +0 -7
- package/docs/pages/appbar.eta +0 -108
- package/docs/pages/appbar.js +0 -0
- package/docs/pages/bottomnav.eta +0 -188
- package/docs/pages/bottomnav.js +0 -118
- package/docs/pages/button.eta +0 -124
- package/docs/pages/button.js +0 -224
- package/docs/pages/card.eta +0 -90
- package/docs/pages/card.js +0 -175
- package/docs/pages/chip.eta +0 -122
- package/docs/pages/chip.js +0 -80
- package/docs/pages/color.eta +0 -143
- package/docs/pages/color.js +0 -261
- package/docs/pages/datatable.eta +0 -323
- package/docs/pages/datatable.js +0 -160
- package/docs/pages/dialog.eta +0 -184
- package/docs/pages/dialog.js +0 -174
- package/docs/pages/dom.eta +0 -26
- package/docs/pages/dom.js +0 -140
- package/docs/pages/elevation.eta +0 -35
- package/docs/pages/elevation.js +0 -0
- package/docs/pages/fab.eta +0 -99
- package/docs/pages/fab.js +0 -43
- package/docs/pages/grid.eta +0 -135
- package/docs/pages/grid.js +0 -128
- package/docs/pages/layout.eta +0 -8
- package/docs/pages/layout.js +0 -0
- package/docs/pages/list.eta +0 -465
- package/docs/pages/list.js +0 -8
- package/docs/pages/menu.eta +0 -274
- package/docs/pages/menu.js +0 -213
- package/docs/pages/overlay.eta +0 -69
- package/docs/pages/overlay.js +0 -3
- package/docs/pages/progress.eta +0 -23
- package/docs/pages/progress.js +0 -12
- package/docs/pages/ripple.eta +0 -27
- package/docs/pages/ripple.js +0 -3
- package/docs/pages/search.eta +0 -242
- package/docs/pages/search.js +0 -226
- package/docs/pages/selection.eta +0 -107
- package/docs/pages/selection.js +0 -12
- package/docs/pages/slider.eta +0 -23
- package/docs/pages/slider.js +0 -0
- package/docs/pages/snackbar.eta +0 -83
- package/docs/pages/snackbar.js +0 -157
- package/docs/pages/tab.eta +0 -407
- package/docs/pages/tab.js +0 -152
- package/docs/pages/textfield.eta +0 -487
- package/docs/pages/textfield.js +0 -257
- package/docs/pages/tooltip.eta +0 -92
- package/docs/pages/tooltip.js +0 -0
- package/docs/pages/transition.eta +0 -117
- package/docs/pages/transition.js +0 -52
- package/docs/pages/type.eta +0 -31
- package/docs/pages/type.js +0 -0
- package/docs/postrender.js +0 -41
- package/docs/prerender.js +0 -16
- package/docs/pwa/_dialogs.eta +0 -143
- package/docs/pwa/_menus.eta +0 -16
- package/docs/pwa/pwa-prerender.js +0 -3
- package/docs/pwa/pwa.eta +0 -478
- package/docs/pwa/pwa.js +0 -298
- package/docs/pwa/pwa.scss +0 -31
- package/docs/themes/theme-colored.scss +0 -15
- package/docs/themes/theme-default.scss +0 -3
- package/index.scss +0 -27
- package/jsconfig.json +0 -16
- package/scripts/deploy-docs.sh +0 -9
- package/templates/index.eta +0 -2
- package/templates/index.pug +0 -3
- package/tsconfig.json +0 -16
- package/webpack.config.js +0 -304
package/docs/pages/dom.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import DomAdapter from '../../adapters/dom/index.js';
|
|
2
|
-
import * as ListContent from '../../components/list/content.js';
|
|
3
|
-
import * as ListItem from '../../components/list/item.js';
|
|
4
|
-
|
|
5
|
-
class CustomDataSourceItem {
|
|
6
|
-
/** @param {number} i */
|
|
7
|
-
constructor(i) {
|
|
8
|
-
this.itemnumber = i;
|
|
9
|
-
this.clickCount = 0;
|
|
10
|
-
this.expanded = false;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/** @type {CustomDataSourceItem[]} */
|
|
15
|
-
const datasource = [];
|
|
16
|
-
|
|
17
|
-
/** @type {HTMLElement} */
|
|
18
|
-
let sampleComponent;
|
|
19
|
-
|
|
20
|
-
/** @type {DomAdapter<CustomDataSourceItem, HTMLLIElement>} */
|
|
21
|
-
let domAdapter;
|
|
22
|
-
|
|
23
|
-
/** @return {void} */
|
|
24
|
-
function resetDatasource() {
|
|
25
|
-
datasource.splice(0, datasource.length);
|
|
26
|
-
for (let i = 0; i < 500; i += 1) {
|
|
27
|
-
datasource.push(new CustomDataSourceItem(i));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* @param {Event} event
|
|
32
|
-
* @return {void}
|
|
33
|
-
*/
|
|
34
|
-
function onOptionChange(event) {
|
|
35
|
-
const { name, checked } = /** @type {HTMLInputElement} */ (event.target);
|
|
36
|
-
// @ts-ignore: Optimization
|
|
37
|
-
domAdapter.recycle[name] = checked;
|
|
38
|
-
domAdapter.refresh();
|
|
39
|
-
}
|
|
40
|
-
/** @return {void} */
|
|
41
|
-
function setupComponentOptions() {
|
|
42
|
-
for (const el of document.querySelectorAll('input[name]')) {
|
|
43
|
-
el.addEventListener('change', onOptionChange);
|
|
44
|
-
}
|
|
45
|
-
sampleComponent = document.querySelector('.component-sample .mdw-list');
|
|
46
|
-
resetDatasource();
|
|
47
|
-
domAdapter = new DomAdapter({
|
|
48
|
-
element: sampleComponent,
|
|
49
|
-
datasource,
|
|
50
|
-
recycle: {
|
|
51
|
-
scroller: sampleComponent.parentElement,
|
|
52
|
-
fastMeasure: true,
|
|
53
|
-
block: true,
|
|
54
|
-
deferRender: true,
|
|
55
|
-
equalSize: false,
|
|
56
|
-
},
|
|
57
|
-
render(child, data, index) {
|
|
58
|
-
const textLines = child.getElementsByClassName('mdw-list__text-line');
|
|
59
|
-
textLines[0].textContent = `Item ${data.itemnumber}`;
|
|
60
|
-
textLines[1].textContent = `Click count: #${data.clickCount}`;
|
|
61
|
-
if (data.expanded) {
|
|
62
|
-
child.style.setProperty('height', '128px');
|
|
63
|
-
child.style.setProperty('background-color', 'red');
|
|
64
|
-
} else {
|
|
65
|
-
child.style.setProperty('height', '64px');
|
|
66
|
-
child.style.removeProperty('background-color');
|
|
67
|
-
}
|
|
68
|
-
child.firstElementChild.setAttribute('aria-posinset', index.toString(10));
|
|
69
|
-
},
|
|
70
|
-
create(data) {
|
|
71
|
-
// Create placeholder UI
|
|
72
|
-
const listItem = document.createElement('li');
|
|
73
|
-
if (!domAdapter.recycle.block) {
|
|
74
|
-
listItem.style.setProperty('display', 'inline-flex');
|
|
75
|
-
listItem.style.setProperty('width', '33.333%');
|
|
76
|
-
}
|
|
77
|
-
if (domAdapter.recycle.deferRender) {
|
|
78
|
-
listItem.style.setProperty('min-height', '64px');
|
|
79
|
-
if (data.expanded) {
|
|
80
|
-
listItem.style.setProperty('height', '128px');
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
listItem.className = 'mdw-list__item';
|
|
84
|
-
listItem.innerHTML = `
|
|
85
|
-
<a class="mdw-list__content">
|
|
86
|
-
<div class="mdw-list__text">
|
|
87
|
-
<div class="mdw-list__text-line">Item ${data.itemnumber}</div>
|
|
88
|
-
<div class="mdw-list__text-line mdw-theme" mdw-ink="medium">Waiting for idle...</div>
|
|
89
|
-
</div>
|
|
90
|
-
</a>
|
|
91
|
-
`;
|
|
92
|
-
ListItem.attach(listItem);
|
|
93
|
-
return listItem;
|
|
94
|
-
},
|
|
95
|
-
});
|
|
96
|
-
domAdapter.refresh();
|
|
97
|
-
const buttons = document.querySelectorAll('.mdw-layout__content-page .mdw-button');
|
|
98
|
-
buttons[0].addEventListener('click', () => {
|
|
99
|
-
buttons[1].removeAttribute('aria-disabled');
|
|
100
|
-
resetDatasource();
|
|
101
|
-
domAdapter.refresh();
|
|
102
|
-
});
|
|
103
|
-
buttons[1].addEventListener('click', () => {
|
|
104
|
-
if (buttons[1].getAttribute('aria-disabled') === 'true') {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
const item = datasource[10];
|
|
108
|
-
domAdapter.removeItem(item);
|
|
109
|
-
datasource.splice(10, 1);
|
|
110
|
-
|
|
111
|
-
// Alternatively, we can remove from datasource first and call invalidateAll()
|
|
112
|
-
|
|
113
|
-
domAdapter.drawViewport();
|
|
114
|
-
buttons[1].setAttribute('aria-disabled', 'true');
|
|
115
|
-
});
|
|
116
|
-
buttons[2].addEventListener('click', () => {
|
|
117
|
-
const item = datasource.find((d) => d.itemnumber === 50);
|
|
118
|
-
item.clickCount += 1;
|
|
119
|
-
// Element will not change size, therefore avoid possible invalidation
|
|
120
|
-
// (When element is refreshed and not in DOM, adapter may assume sized change)
|
|
121
|
-
domAdapter.refreshItem(item, { invalidate: false });
|
|
122
|
-
domAdapter.drawViewport();
|
|
123
|
-
});
|
|
124
|
-
buttons[3].addEventListener('click', () => {
|
|
125
|
-
const item = datasource.find((d) => d.itemnumber === 80);
|
|
126
|
-
item.expanded = !item.expanded;
|
|
127
|
-
// Force invalidation from height change
|
|
128
|
-
domAdapter.refreshItem(item, { invalidate: true });
|
|
129
|
-
domAdapter.drawViewport();
|
|
130
|
-
});
|
|
131
|
-
sampleComponent.addEventListener(ListContent.ACTIVATE_EVENT, (event) => {
|
|
132
|
-
const listContent = /** @type {HTMLElement} */ (event.target);
|
|
133
|
-
const listItem = /** @type {HTMLLIElement} */ (listContent.parentElement);
|
|
134
|
-
const dataItem = domAdapter.elementDataMap.get(listItem);
|
|
135
|
-
dataItem.clickCount += 1;
|
|
136
|
-
domAdapter.refreshItem(dataItem);
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
setupComponentOptions();
|
package/docs/pages/elevation.eta
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
<% var T = '../../templates/index.eta' %>
|
|
2
|
-
<% layout('../_partials/_header.eta', {page: 'elevation'}) %>
|
|
3
|
-
<div class="docs-grid mdw-grid" mdw-margin-top mdw-margin-bottom mdw-columns="4" mdw-margin-4col="40" mdw-gutter-4col="40">
|
|
4
|
-
<div class="mdw-grid__item">
|
|
5
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="1">1dp</div>
|
|
6
|
-
</div>
|
|
7
|
-
<div class="mdw-grid__item">
|
|
8
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="2">2dp</div>
|
|
9
|
-
</div>
|
|
10
|
-
<div class="mdw-grid__item">
|
|
11
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="3">3dp</div>
|
|
12
|
-
</div>
|
|
13
|
-
<div class="mdw-grid__item">
|
|
14
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="4">4dp</div>
|
|
15
|
-
</div>
|
|
16
|
-
<div class="mdw-grid__item">
|
|
17
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="6">6dp</div>
|
|
18
|
-
</div>
|
|
19
|
-
<div class="mdw-grid__item">
|
|
20
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="8">8dp</div>
|
|
21
|
-
</div>
|
|
22
|
-
<div class="mdw-grid__item">
|
|
23
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="9">9dp</div>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="mdw-grid__item">
|
|
26
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="12">12dp</div>
|
|
27
|
-
</div>
|
|
28
|
-
<div class="mdw-grid__item">
|
|
29
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="16">16dp</div>
|
|
30
|
-
</div>
|
|
31
|
-
<div class="mdw-grid__item">
|
|
32
|
-
<div class="docs-elevation__item mdw-elevation mdw-overlay" mdw-overlay-off="hover" mdw-elevation="24">24dp</div>
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
35
|
-
<script src="elevation.min.js"></script>
|
package/docs/pages/elevation.js
DELETED
|
File without changes
|
package/docs/pages/fab.eta
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
<% var T = '../../templates/index.eta' %>
|
|
2
|
-
<% layout('../_partials/_header.eta', {page: 'fab'}) %>
|
|
3
|
-
<div class="comparison js">
|
|
4
|
-
<div class="render">
|
|
5
|
-
<div class="display-flex flex-1" flex-column style="position:relative;">
|
|
6
|
-
<%~ includeFile('../_partials/_androidstatusbar.eta', { surface:'primary 700', dark:true }) %>
|
|
7
|
-
<%~ includeFile('../_partials/_appbar.eta', { surface: 'primary 500', dark: true, start: ['menu'], end: ['search'], body: 'JS' }) %>
|
|
8
|
-
<div class="content" style="padding:16px 8px;">
|
|
9
|
-
<div class="mdw-type" mdw-style="subtitle">Hover</div>
|
|
10
|
-
<div class="docs-option-list">
|
|
11
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'hover', text:'Open on Hover' }}) %>
|
|
12
|
-
</div>
|
|
13
|
-
<div class="mdw-type" mdw-style="subtitle">Type</div>
|
|
14
|
-
<div class="docs-option-list">
|
|
15
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'regular', text:'Regular (Default)', checked:true }}) %>
|
|
16
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'mini', text:'Mini' }}) %>
|
|
17
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'extended', text:'Extended' }}) %>
|
|
18
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'extended-hover', text:'Extended on Hover' }}) %>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="mdw-grid docs-render-overlay" mdw-margin-bottom mdw-columns="4">
|
|
21
|
-
<div class="mdw-grid__item">
|
|
22
|
-
<div class="mdw-grid__content">
|
|
23
|
-
<div class="mdw-fab">
|
|
24
|
-
<%~ includeFile(T, { button: { surface: 'secondary 500', dark:true, class:"mdw-fab__button", body: /* html */ `
|
|
25
|
-
<div class="mdw-fab__icon">
|
|
26
|
-
<div class="mdw-fab__hidden-icon material-icons">add</div>
|
|
27
|
-
<div class="mdw-fab__shown-icon material-icons">clear</div>
|
|
28
|
-
</div>
|
|
29
|
-
<div class="mdw-fab__text">Add</div>
|
|
30
|
-
`}}) %>
|
|
31
|
-
<div class="mdw-fab__speed-dial">
|
|
32
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
33
|
-
<div class="mdw-fab__icon material-icons">filter_1</div>
|
|
34
|
-
`}}) %>
|
|
35
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
36
|
-
<div class="mdw-fab__icon material-icons">filter_2</div>
|
|
37
|
-
`}}) %>
|
|
38
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
39
|
-
<div class="mdw-fab__icon material-icons">filter_3</div>
|
|
40
|
-
`}}) %>
|
|
41
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
42
|
-
<div class="mdw-fab__icon material-icons">filter_4</div>
|
|
43
|
-
`}}) %>
|
|
44
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
45
|
-
<div class="mdw-fab__icon material-icons">filter_5</div>
|
|
46
|
-
`}}) %>
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
<%~ includeFile('../_partials/_androidnavbar.eta') %>
|
|
55
|
-
</div>
|
|
56
|
-
</div>
|
|
57
|
-
<div class="comparison">
|
|
58
|
-
<div class="render">
|
|
59
|
-
<div class="display-flex flex-1" flex-column style="position:relative;">
|
|
60
|
-
<%~ includeFile('../_partials/_androidstatusbar.eta', { surface:'primary 700', dark:true }) %>
|
|
61
|
-
<%~ includeFile('../_partials/_appbar.eta', { surface:'primary 500', dark:true, start: ['menu'], end: ['search'], body:'CSS Only' }) %>
|
|
62
|
-
<div class="content" style="padding:16px 8px;">
|
|
63
|
-
<div class="mdw-grid docs-render-overlay" mdw-margin-bottom>
|
|
64
|
-
<div class="mdw-grid__item">
|
|
65
|
-
<div class="mdw-fab" id="my-fab">
|
|
66
|
-
<a class="mdw-fab__close" href="#my-fab-button"></a>
|
|
67
|
-
<%~ includeFile(T, { button: { surface: 'secondary 500', dark:true, id:'my-fab-button', href:'#my-fab', class:"mdw-fab__button", body: /* html */ `
|
|
68
|
-
<div class="mdw-fab__icon">
|
|
69
|
-
<div class="mdw-fab__hidden-icon material-icons">add</div>
|
|
70
|
-
<div class="mdw-fab__shown-icon material-icons">clear</div>
|
|
71
|
-
</div>
|
|
72
|
-
<div class="mdw-fab__text">Add</div>
|
|
73
|
-
`}}) %>
|
|
74
|
-
<div class="mdw-fab__speed-dial">
|
|
75
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
76
|
-
<div class="mdw-fab__icon material-icons">filter_1</div>
|
|
77
|
-
`}}) %>
|
|
78
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
79
|
-
<div class="mdw-fab__icon material-icons">filter_2</div>
|
|
80
|
-
`}}) %>
|
|
81
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
82
|
-
<div class="mdw-fab__icon material-icons">filter_3</div>
|
|
83
|
-
`}}) %>
|
|
84
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
85
|
-
<div class="mdw-fab__icon material-icons">filter_4</div>
|
|
86
|
-
`}}) %>
|
|
87
|
-
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
88
|
-
<div class="mdw-fab__icon material-icons">filter_5</div>
|
|
89
|
-
`}}) %>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
</div>
|
|
93
|
-
</div>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
<%~ includeFile('../_partials/_androidnavbar.eta') %>
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
<script src="fab.min.js"></script>
|
package/docs/pages/fab.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import * as Button from '../../components/button/index.js';
|
|
2
|
-
import * as Fab from '../../components/fab/index.js';
|
|
3
|
-
|
|
4
|
-
/** @return {void} */
|
|
5
|
-
function initializeMdwComponents() {
|
|
6
|
-
for (const element of document.querySelectorAll('.js .mdw-fab')) { Fab.attach(element); }
|
|
7
|
-
|
|
8
|
-
for (const element of document.querySelectorAll('.js .mdw-button')) { Button.attach(element); }
|
|
9
|
-
|
|
10
|
-
document.querySelector('input[name="hover"]').addEventListener('change', (event) => {
|
|
11
|
-
if (event.currentTarget.checked) {
|
|
12
|
-
document.querySelector('.js .mdw-fab__speed-dial').setAttribute('mdw-hover', '');
|
|
13
|
-
} else {
|
|
14
|
-
document.querySelector('.js .mdw-fab__speed-dial').removeAttribute('mdw-hover');
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
document.querySelector('input[name="type"][value="regular"]').addEventListener('change', (event) => {
|
|
18
|
-
if (event.currentTarget.checked) {
|
|
19
|
-
document.querySelector('.js .mdw-fab__button').removeAttribute('mdw-mini');
|
|
20
|
-
document.querySelector('.js .mdw-fab__button').removeAttribute('mdw-extended');
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
document.querySelector('input[name="type"][value="mini"]').addEventListener('change', (event) => {
|
|
24
|
-
if (event.currentTarget.checked) {
|
|
25
|
-
document.querySelector('.js .mdw-fab__button').setAttribute('mdw-mini', '');
|
|
26
|
-
document.querySelector('.js .mdw-fab__button').removeAttribute('mdw-extended');
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
document.querySelector('input[name="type"][value="extended"]').addEventListener('change', (event) => {
|
|
30
|
-
if (event.currentTarget.checked) {
|
|
31
|
-
document.querySelector('.js .mdw-fab__button').removeAttribute('mdw-mini');
|
|
32
|
-
document.querySelector('.js .mdw-fab__button').setAttribute('mdw-extended', '');
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
document.querySelector('input[name="type"][value="extended-hover"]').addEventListener('change', (event) => {
|
|
36
|
-
if (event.currentTarget.checked) {
|
|
37
|
-
document.querySelector('.js .mdw-fab__button').removeAttribute('mdw-mini');
|
|
38
|
-
document.querySelector('.js .mdw-fab__button').setAttribute('mdw-extended', 'hover');
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
initializeMdwComponents();
|
package/docs/pages/grid.eta
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
<% var T = '../../templates/index.eta' %>
|
|
2
|
-
<% layout('../_partials/_header.eta', {page: 'grid'}) %>
|
|
3
|
-
<div class="mdw-grid" mdw-margin-top>
|
|
4
|
-
<div class="mdw-grid__item" mdw-colspan="8">
|
|
5
|
-
<h5 class="mdw-type" mdw-baseline-next="36">The Material Design responsive layout grid adapts to screen size and orientation, ensuring consistency across layouts.</h5>
|
|
6
|
-
<p class="mdw-type">The Material Design layout grid is made up of three elements: columns, gutters, and margins.</p>
|
|
7
|
-
</div>
|
|
8
|
-
<div class="mdw-grid__item" mdw-colspan="8">
|
|
9
|
-
<div class="mdw-type" mdw-style="subtitle">Margins and Gutters</div>
|
|
10
|
-
<div class="docs-option-list">
|
|
11
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'default-margins', checked:true, text:'Default Margins and Gutters' }}) %>
|
|
12
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'top-margin', checked:true, text:'Top Margin' }}) %>
|
|
13
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'bottom-margin', checked:true, text:'Bottom Margin' }}) %>
|
|
14
|
-
</div>
|
|
15
|
-
<div class="mdw-type" mdw-style="subtitle">Maximum Columns</div>
|
|
16
|
-
<div class="docs-option-list">
|
|
17
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'12', checked:true, text:'12' }}) %>
|
|
18
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'8', text:'8' }}) %>
|
|
19
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'4', text:'4' }}) %>
|
|
20
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'1', text:'1' }}) %>
|
|
21
|
-
</div>
|
|
22
|
-
<div class="mdw-type" mdw-style="subtitle">Display Model</div>
|
|
23
|
-
<div class="docs-option-list">
|
|
24
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'style', type:'radio', value:'flex', checked:true, text:'Flexbox' }}) %>
|
|
25
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'style', type:'radio', value:'grid', text:'Grid' }}) %>
|
|
26
|
-
</div>
|
|
27
|
-
<div class="mdw-type" mdw-style="subtitle">Options</div>
|
|
28
|
-
<div class="docs-option-list">
|
|
29
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'stretch', text:'Stretch' }}) %>
|
|
30
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'center', text:'Center' }}) %>
|
|
31
|
-
<%~ includeFile(T, { selection: { ink:'secondary', name:'dense', text:'Dense' }}) %>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
<div class="mdw-grid__item" mdw-colspan="100%">
|
|
35
|
-
<p class="mdw-type" style="text-align:center;" mdw-texttop-top="16dp" mdw-baseline-bottom="16dp">Click on an element to change colspan</p>
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
|
-
<div class="docs-grid" id="sample-component">
|
|
39
|
-
<div class="mdw-grid" mdw-margin-top mdw-margin-bottom>
|
|
40
|
-
<div class="mdw-grid__item" mdw-rowspan="2">
|
|
41
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 100" mdw-light mdw-border-ink>1</div>
|
|
42
|
-
</div>
|
|
43
|
-
<div class="mdw-grid__item">
|
|
44
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
45
|
-
</div>
|
|
46
|
-
<div class="mdw-grid__item">
|
|
47
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 200" mdw-light mdw-border-ink>1</div>
|
|
48
|
-
</div>
|
|
49
|
-
<div class="mdw-grid__item">
|
|
50
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
51
|
-
</div>
|
|
52
|
-
<div class="mdw-grid__item">
|
|
53
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 400" mdw-dark mdw-border-ink>1</div>
|
|
54
|
-
</div>
|
|
55
|
-
<div class="mdw-grid__item">
|
|
56
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
57
|
-
</div>
|
|
58
|
-
<div class="mdw-grid__item">
|
|
59
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 700" mdw-dark mdw-border-ink>1</div>
|
|
60
|
-
</div>
|
|
61
|
-
<div class="mdw-grid__item" mdw-rowspan="3">
|
|
62
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
63
|
-
</div>
|
|
64
|
-
<div class="mdw-grid__item">
|
|
65
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 100" mdw-light mdw-border-ink>1</div>
|
|
66
|
-
</div>
|
|
67
|
-
<div class="mdw-grid__item">
|
|
68
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
69
|
-
</div>
|
|
70
|
-
<div class="mdw-grid__item">
|
|
71
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 200" mdw-light mdw-border-ink>1</div>
|
|
72
|
-
</div>
|
|
73
|
-
<div class="mdw-grid__item">
|
|
74
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
75
|
-
</div>
|
|
76
|
-
<div class="mdw-grid__item" mdw-colspan="2">
|
|
77
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 400" mdw-dark mdw-border-ink>2</div>
|
|
78
|
-
</div>
|
|
79
|
-
<div class="mdw-grid__item">
|
|
80
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
81
|
-
</div>
|
|
82
|
-
<div class="mdw-grid__item" mdw-rowspan="5" mdw-colspan="25%">
|
|
83
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 700" mdw-dark mdw-border-ink>25%</div>
|
|
84
|
-
</div>
|
|
85
|
-
<div class="mdw-grid__item" mdw-colspan="3">
|
|
86
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>3</div>
|
|
87
|
-
</div>
|
|
88
|
-
<div class="mdw-grid__item">
|
|
89
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 100" mdw-light mdw-border-ink>1</div>
|
|
90
|
-
</div>
|
|
91
|
-
<div class="mdw-grid__item">
|
|
92
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
93
|
-
</div>
|
|
94
|
-
<div class="mdw-grid__item">
|
|
95
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 200" mdw-light mdw-border-ink>1</div>
|
|
96
|
-
</div>
|
|
97
|
-
<div class="mdw-grid__item" mdw-colspan="75%">
|
|
98
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>75%</div>
|
|
99
|
-
</div>
|
|
100
|
-
<div class="mdw-grid__item">
|
|
101
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 400" mdw-dark mdw-border-ink>1</div>
|
|
102
|
-
</div>
|
|
103
|
-
<div class="mdw-grid__item">
|
|
104
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
105
|
-
</div>
|
|
106
|
-
<div class="mdw-grid__item">
|
|
107
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 700" mdw-dark mdw-border-ink>1</div>
|
|
108
|
-
</div>
|
|
109
|
-
<div class="mdw-grid__item">
|
|
110
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
111
|
-
</div>
|
|
112
|
-
<div class="mdw-grid__item">
|
|
113
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 100" mdw-light mdw-border-ink>1</div>
|
|
114
|
-
</div>
|
|
115
|
-
<div class="mdw-grid__item" mdw-colspan="8">
|
|
116
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>8</div>
|
|
117
|
-
</div>
|
|
118
|
-
<div class="mdw-grid__item">
|
|
119
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 200" mdw-light mdw-border-ink>1</div>
|
|
120
|
-
</div>
|
|
121
|
-
<div class="mdw-grid__item">
|
|
122
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
123
|
-
</div>
|
|
124
|
-
<div class="mdw-grid__item">
|
|
125
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 400" mdw-dark mdw-border-ink>1</div>
|
|
126
|
-
</div>
|
|
127
|
-
<div class="mdw-grid__item" mdw-colspan="2">
|
|
128
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>2</div>
|
|
129
|
-
</div>
|
|
130
|
-
<div class="mdw-grid__item">
|
|
131
|
-
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 700" mdw-dark mdw-border-ink>1</div>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
<script src="grid.min.js"></script>
|
package/docs/pages/grid.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { setTextNode } from '../../core/dom.js';
|
|
2
|
-
|
|
3
|
-
const sampleComponent = document.getElementById('sample-component');
|
|
4
|
-
|
|
5
|
-
const colspans = [
|
|
6
|
-
'1',
|
|
7
|
-
'25%', '50%', '75%', '100%',
|
|
8
|
-
'2', '3', '4', '5', '6', '7', '8', '9', '10', '11',
|
|
9
|
-
];
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @param {Element} target
|
|
13
|
-
* @return {void}
|
|
14
|
-
*/
|
|
15
|
-
function onGridItemClick(target) {
|
|
16
|
-
let colspan = target.getAttribute('mdw-colspan') || '1';
|
|
17
|
-
const index = colspans.indexOf(colspan);
|
|
18
|
-
colspan = colspans[index + 1] || '1';
|
|
19
|
-
target.setAttribute('mdw-colspan', colspan.toString());
|
|
20
|
-
setTextNode(target.firstElementChild, colspan.toString());
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @param {Event} event
|
|
25
|
-
* @return {void}
|
|
26
|
-
*/
|
|
27
|
-
function onOptionChange(event) {
|
|
28
|
-
const { name, value, checked } = event.target;
|
|
29
|
-
const grid = sampleComponent.getElementsByClassName('mdw-grid')[0];
|
|
30
|
-
|
|
31
|
-
switch (name) {
|
|
32
|
-
case 'default-margins':
|
|
33
|
-
if (checked) {
|
|
34
|
-
grid.removeAttribute('mdw-margin');
|
|
35
|
-
grid.removeAttribute('mdw-gutter');
|
|
36
|
-
grid.removeAttribute('mdw-margin-8col');
|
|
37
|
-
grid.removeAttribute('mdw-gutter-8col');
|
|
38
|
-
grid.removeAttribute('mdw-margin-4col');
|
|
39
|
-
grid.removeAttribute('mdw-gutter-4col');
|
|
40
|
-
} else {
|
|
41
|
-
grid.setAttribute('mdw-margin', '40');
|
|
42
|
-
grid.setAttribute('mdw-gutter', '40');
|
|
43
|
-
grid.setAttribute('mdw-margin-8col', '8');
|
|
44
|
-
grid.setAttribute('mdw-gutter-8col', '8');
|
|
45
|
-
grid.setAttribute('mdw-margin-4col', '0');
|
|
46
|
-
grid.setAttribute('mdw-gutter-4col', '0');
|
|
47
|
-
}
|
|
48
|
-
break;
|
|
49
|
-
case 'top-margin':
|
|
50
|
-
if (checked) {
|
|
51
|
-
grid.setAttribute('mdw-margin-top', '');
|
|
52
|
-
} else {
|
|
53
|
-
grid.removeAttribute('mdw-margin-top');
|
|
54
|
-
}
|
|
55
|
-
break;
|
|
56
|
-
case 'bottom-margin':
|
|
57
|
-
if (checked) {
|
|
58
|
-
grid.setAttribute('mdw-margin-bottom', '');
|
|
59
|
-
} else {
|
|
60
|
-
grid.removeAttribute('mdw-margin-bottom');
|
|
61
|
-
}
|
|
62
|
-
break;
|
|
63
|
-
case 'stretch':
|
|
64
|
-
if (checked) {
|
|
65
|
-
grid.setAttribute('mdw-stretch', '');
|
|
66
|
-
} else {
|
|
67
|
-
grid.removeAttribute('mdw-stretch');
|
|
68
|
-
}
|
|
69
|
-
break;
|
|
70
|
-
case 'center':
|
|
71
|
-
if (checked) {
|
|
72
|
-
grid.setAttribute('mdw-center', '');
|
|
73
|
-
} else {
|
|
74
|
-
grid.removeAttribute('mdw-center');
|
|
75
|
-
}
|
|
76
|
-
break;
|
|
77
|
-
case 'style':
|
|
78
|
-
switch (value) {
|
|
79
|
-
case 'grid':
|
|
80
|
-
grid.setAttribute('mdw-grid', '');
|
|
81
|
-
break;
|
|
82
|
-
case 'flex':
|
|
83
|
-
grid.removeAttribute('mdw-grid');
|
|
84
|
-
break;
|
|
85
|
-
default:
|
|
86
|
-
}
|
|
87
|
-
break;
|
|
88
|
-
case 'dense':
|
|
89
|
-
if (checked) {
|
|
90
|
-
grid.setAttribute('mdw-dense', '');
|
|
91
|
-
} else {
|
|
92
|
-
grid.removeAttribute('mdw-dense');
|
|
93
|
-
}
|
|
94
|
-
break;
|
|
95
|
-
case 'columns':
|
|
96
|
-
switch (value) {
|
|
97
|
-
default:
|
|
98
|
-
case '12':
|
|
99
|
-
grid.removeAttribute('mdw-columns');
|
|
100
|
-
break;
|
|
101
|
-
case '8':
|
|
102
|
-
grid.setAttribute('mdw-columns', '8');
|
|
103
|
-
break;
|
|
104
|
-
case '4':
|
|
105
|
-
grid.setAttribute('mdw-columns', '4');
|
|
106
|
-
break;
|
|
107
|
-
case '1':
|
|
108
|
-
grid.setAttribute('mdw-columns', '1');
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
111
|
-
break;
|
|
112
|
-
default:
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/** @return {void} */
|
|
117
|
-
function setupInteractions() {
|
|
118
|
-
for (const item of sampleComponent.getElementsByClassName('mdw-grid__item')) {
|
|
119
|
-
item.addEventListener('click', () => {
|
|
120
|
-
onGridItemClick(item);
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
for (const el of document.querySelectorAll('[name]')) {
|
|
124
|
-
el.addEventListener('change', onOptionChange);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
setupInteractions();
|
package/docs/pages/layout.eta
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<% var T = '../../templates/index.eta' %>
|
|
2
|
-
<% layout('../_partials/_header.eta', {page: 'layout'}) %>
|
|
3
|
-
<div style="margin:16px;">
|
|
4
|
-
<%~ includeFile(T, {button: { attributes: {href:"pwa.html", target:"_blank"}, text: 'Open in new window'}}) %>
|
|
5
|
-
</div>
|
|
6
|
-
<div style="margin:16px;">
|
|
7
|
-
<iframe width="1440" height="300" src="pwa.html" style="width:100%;height:80vh;"></iframe>
|
|
8
|
-
</div>
|
package/docs/pages/layout.js
DELETED
|
File without changes
|