chore(update): stencil 0.1.1

This commit is contained in:
Adam Bradley
2018-01-08 20:24:02 -06:00
parent da68da39da
commit 4f7c7e658d
24 changed files with 539 additions and 185 deletions

View File

@ -14,26 +14,319 @@
} }
}, },
"@stencil/core": { "@stencil/core": {
"version": "0.1.1-0", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-0.1.1-0.tgz", "resolved": "https://registry.npmjs.org/@stencil/core/-/core-0.1.1.tgz",
"integrity": "sha512-F4frvyNcIJoWO+ht2Hw8nT7TS7IN0/WKx4vGUbdKWnSvIN4/V+gO5pu/Um3MccSEDFnp+VYMKEZk99scF2wX2g==", "integrity": "sha512-3kXa0JHdVF14yL7B98cpb99hURXHCdrZbdXAwBvNqF+aEwh0cMuW7UuX/53lCUytbTdZbhkaYL4njjHHAk9h9A==",
"dev": true, "dev": true,
"requires": { "requires": {
"chokidar": "1.7.0", "chokidar": "1.7.0",
"jsdom": "11.3.0", "jsdom": "11.5.1",
"node-sass": "4.5.3", "node-sass": "4.7.2",
"rollup": "0.50.0", "rollup": "0.53.2",
"rollup-plugin-commonjs": "8.2.5", "rollup-plugin-commonjs": "8.2.6",
"rollup-plugin-node-resolve": "3.0.0", "rollup-plugin-node-resolve": "3.0.0",
"typescript": "2.6.2", "typescript": "2.6.2",
"uglify-es": "3.1.6", "uglify-es": "3.3.2",
"workbox-build": "2.1.1" "workbox-build": "3.0.0-alpha.3"
},
"dependencies": {
"assert-plus": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true
},
"aws-sign2": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true
},
"boom": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"requires": {
"hoek": "2.16.3"
}
},
"caseless": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
"integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
"dev": true
},
"cryptiles": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"requires": {
"boom": "2.10.1"
}
},
"form-data": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
"requires": {
"asynckit": "0.4.0",
"combined-stream": "1.0.5",
"mime-types": "2.1.17"
}
},
"fs-extra": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
"jsonfile": "4.0.0",
"universalify": "0.1.1"
}
},
"har-validator": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
"integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
"dev": true,
"requires": {
"chalk": "1.1.3",
"commander": "2.11.0",
"is-my-json-valid": "2.17.1",
"pinkie-promise": "2.0.1"
}
},
"hawk": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
"requires": {
"boom": "2.10.1",
"cryptiles": "2.0.5",
"hoek": "2.16.3",
"sntp": "1.0.9"
}
},
"hoek": {
"version": "2.16.3",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
},
"http-signature": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"requires": {
"assert-plus": "0.2.0",
"jsprim": "1.4.1",
"sshpk": "1.13.1"
}
},
"jsdom": {
"version": "11.5.1",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.5.1.tgz",
"integrity": "sha512-89ztIZ03aYK9f1uUrLXLsZndRge/JnZjzjpaN+lrse3coqz+8PR/dX4WLHpbF5fIKTXhDjFODOJw2328lPJ90g==",
"dev": true,
"requires": {
"abab": "1.0.4",
"acorn": "5.3.0",
"acorn-globals": "4.1.0",
"array-equal": "1.0.0",
"browser-process-hrtime": "0.1.2",
"content-type-parser": "1.0.2",
"cssom": "0.3.2",
"cssstyle": "0.2.37",
"domexception": "1.0.0",
"escodegen": "1.9.0",
"html-encoding-sniffer": "1.0.2",
"left-pad": "1.2.0",
"nwmatcher": "1.4.3",
"parse5": "3.0.3",
"pn": "1.1.0",
"request": "2.83.0",
"request-promise-native": "1.0.5",
"sax": "1.2.4",
"symbol-tree": "3.2.2",
"tough-cookie": "2.3.3",
"webidl-conversions": "4.0.2",
"whatwg-encoding": "1.0.3",
"whatwg-url": "6.4.0",
"xml-name-validator": "2.0.1"
}
},
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": {
"graceful-fs": "4.1.11"
}
},
"node-sass": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz",
"integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==",
"dev": true,
"requires": {
"async-foreach": "0.1.3",
"chalk": "1.1.3",
"cross-spawn": "3.0.1",
"gaze": "1.1.2",
"get-stdin": "4.0.1",
"glob": "7.1.2",
"in-publish": "2.0.0",
"lodash.assign": "4.2.0",
"lodash.clonedeep": "4.5.0",
"lodash.mergewith": "4.6.0",
"meow": "3.7.0",
"mkdirp": "0.5.1",
"nan": "2.8.0",
"node-gyp": "3.6.2",
"npmlog": "4.1.2",
"request": "2.79.0",
"sass-graph": "2.2.4",
"stdout-stream": "1.4.0",
"true-case-path": "1.0.2"
},
"dependencies": {
"request": {
"version": "2.79.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
"integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
"dev": true,
"requires": {
"aws-sign2": "0.6.0",
"aws4": "1.6.0",
"caseless": "0.11.0",
"combined-stream": "1.0.5",
"extend": "3.0.1",
"forever-agent": "0.6.1",
"form-data": "2.1.4",
"har-validator": "2.0.6",
"hawk": "3.1.3",
"http-signature": "1.1.1",
"is-typedarray": "1.0.0",
"isstream": "0.1.2",
"json-stringify-safe": "5.0.1",
"mime-types": "2.1.17",
"oauth-sign": "0.8.2",
"qs": "6.3.2",
"stringstream": "0.0.5",
"tough-cookie": "2.3.3",
"tunnel-agent": "0.4.3",
"uuid": "3.1.0"
}
}
}
},
"qs": {
"version": "6.3.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
"integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
"dev": true
},
"rollup": {
"version": "0.53.2",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-0.53.2.tgz",
"integrity": "sha512-7KbFOFV9FSxPYmcTi+0LuciI0uixNAz7F1B7u05QxXxVVV8FcFazpd19C/ybLz5//NP4N2L8rmnK0mT9ki+NvA==",
"dev": true
},
"rollup-plugin-commonjs": {
"version": "8.2.6",
"resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.2.6.tgz",
"integrity": "sha512-qK0+uhktmnAgZkHkqFuajNmPw93fjrO7+CysDaxWE5jrUR9XSlSvuao5ZJP+XizxA8weakhgYYBtbVz9SGBpjA==",
"dev": true,
"requires": {
"acorn": "5.3.0",
"estree-walker": "0.5.1",
"magic-string": "0.22.4",
"resolve": "1.5.0",
"rollup-pluginutils": "2.0.1"
}
},
"sntp": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
"requires": {
"hoek": "2.16.3"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"tunnel-agent": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
"integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
"dev": true
},
"uglify-es": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.2.tgz",
"integrity": "sha512-g7rGvx7YiFROLXKUtFMTw+YpTVV/XXPNvDUQfzwDTcB3vINwLUr3qXnkcPCu8VCIVjxI2EqaZ+sHoAxcYE/98w==",
"dev": true,
"requires": {
"commander": "2.12.2",
"source-map": "0.6.1"
},
"dependencies": {
"commander": {
"version": "2.12.2",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz",
"integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==",
"dev": true
}
}
},
"workbox-build": {
"version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-3.0.0-alpha.3.tgz",
"integrity": "sha512-/qXXoujDFXCXnnf1ZOJE7JNgoDsz8KI9EN/9B3IjTGHrfB8d9ecNRdiiyHYcy/i1h6ag+8BUrKgdQc7J/8I/wQ==",
"dev": true,
"requires": {
"babel-runtime": "6.26.0",
"common-tags": "1.6.0",
"fs-extra": "4.0.3",
"glob": "7.1.2",
"joi": "11.4.0",
"lodash.template": "4.4.0",
"workbox-background-sync": "3.0.0-alpha.3",
"workbox-broadcast-cache-update": "3.0.0-alpha.3",
"workbox-cache-expiration": "3.0.0-alpha.3",
"workbox-cacheable-response": "3.0.0-alpha.3",
"workbox-core": "3.0.0-alpha.3",
"workbox-google-analytics": "3.0.0-alpha.3",
"workbox-precaching": "3.0.0-alpha.3",
"workbox-routing": "3.0.0-alpha.3",
"workbox-strategies": "3.0.0-alpha.3",
"workbox-sw": "3.0.0-alpha.3"
}
},
"workbox-sw": {
"version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-3.0.0-alpha.3.tgz",
"integrity": "sha512-TnRubT1RlSDZkZE4G8lUW/CuDNAHM2jw/ai4r987E51bjT09Xys824cTbL5tYWUD63SqnJCglcOWiFNdgEtkVA==",
"dev": true
}
} }
}, },
"@stencil/dev-server": { "@stencil/dev-server": {
"version": "0.0.18-0", "version": "0.0.18-1",
"resolved": "https://registry.npmjs.org/@stencil/dev-server/-/dev-server-0.0.18-0.tgz", "resolved": "https://registry.npmjs.org/@stencil/dev-server/-/dev-server-0.0.18-1.tgz",
"integrity": "sha512-NO61g5gj3dd+103nDr7MIzK0r4GzE370+dZAflWIxUPQPUXlCLetWVZ1L/BlGlNzmjYFaMdiVRdie3NLx2ewjQ==", "integrity": "sha512-vcScnv0QPYQ4QBaHpYc19CudYjWCot32J7LaymZhSYqEI6eo8n0dYVFy7N1979we5L/x252+6vOzx66hvMfs9Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@ionic/discover": "0.3.3", "@ionic/discover": "0.3.3",
@ -723,6 +1016,12 @@
"repeat-element": "1.1.2" "repeat-element": "1.1.2"
} }
}, },
"browser-process-hrtime": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz",
"integrity": "sha1-Ql1opY00R/AqBKqJQYf86K+Le44=",
"dev": true
},
"browser-resolve": { "browser-resolve": {
"version": "1.11.2", "version": "1.11.2",
"resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
@ -1000,6 +1299,15 @@
"integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
"dev": true "dev": true
}, },
"common-tags": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.6.0.tgz",
"integrity": "sha512-sgmgEodNLbxnSSoR5a2xH23CoDJ9J5MKsJS/tqplfmJLpikG0oWMpAb+tM8ERQCMpp9I+ERf6SYl158G6GwX0w==",
"dev": true,
"requires": {
"babel-runtime": "6.26.0"
}
},
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@ -3718,6 +4026,23 @@
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true "dev": true
}, },
"isemail": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/isemail/-/isemail-3.0.0.tgz",
"integrity": "sha512-rz0ng/c+fX+zACpLgDB8fnUQ845WSU06f4hlhk4K8TJxmR6f5hyvitu9a9JdMD7aq/P4E0XdG1uaab2OiXgHlA==",
"dev": true,
"requires": {
"punycode": "2.1.0"
},
"dependencies": {
"punycode": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
"integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=",
"dev": true
}
}
},
"isexe": { "isexe": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@ -4864,6 +5189,17 @@
} }
} }
}, },
"joi": {
"version": "11.4.0",
"resolved": "https://registry.npmjs.org/joi/-/joi-11.4.0.tgz",
"integrity": "sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA==",
"dev": true,
"requires": {
"hoek": "4.2.0",
"isemail": "3.0.0",
"topo": "2.0.2"
}
},
"js-base64": { "js-base64": {
"version": "2.4.0", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.0.tgz", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.0.tgz",
@ -4901,36 +5237,6 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"jsdom": {
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.3.0.tgz",
"integrity": "sha512-aPZTDl4MplzQhx5bLztk6nzjbEslmO3Q3+z0WpCMutL1XJDhZIRzir6R1Y8S84LgeT/7jhQvgtUMkY6oPwvlUw==",
"dev": true,
"requires": {
"abab": "1.0.4",
"acorn": "5.3.0",
"acorn-globals": "4.1.0",
"array-equal": "1.0.0",
"content-type-parser": "1.0.2",
"cssom": "0.3.2",
"cssstyle": "0.2.37",
"domexception": "1.0.0",
"escodegen": "1.9.0",
"html-encoding-sniffer": "1.0.2",
"nwmatcher": "1.4.3",
"parse5": "3.0.3",
"pn": "1.1.0",
"request": "2.83.0",
"request-promise-native": "1.0.5",
"sax": "1.2.4",
"symbol-tree": "3.2.2",
"tough-cookie": "2.3.3",
"webidl-conversions": "4.0.2",
"whatwg-encoding": "1.0.3",
"whatwg-url": "6.4.0",
"xml-name-validator": "2.0.1"
}
},
"jsesc": { "jsesc": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
@ -5096,6 +5402,12 @@
"invert-kv": "1.0.0" "invert-kv": "1.0.0"
} }
}, },
"left-pad": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.2.0.tgz",
"integrity": "sha1-0wpzxrggHY99jnlWupYWCHpo4O4=",
"dev": true
},
"leven": { "leven": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
@ -5811,32 +6123,6 @@
"which": "1.3.0" "which": "1.3.0"
} }
}, },
"node-sass": {
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz",
"integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=",
"dev": true,
"requires": {
"async-foreach": "0.1.3",
"chalk": "1.1.3",
"cross-spawn": "3.0.1",
"gaze": "1.1.2",
"get-stdin": "4.0.1",
"glob": "7.1.2",
"in-publish": "2.0.0",
"lodash.assign": "4.2.0",
"lodash.clonedeep": "4.5.0",
"lodash.mergewith": "4.6.0",
"meow": "3.7.0",
"mkdirp": "0.5.1",
"nan": "2.8.0",
"node-gyp": "3.6.2",
"npmlog": "4.1.2",
"request": "2.83.0",
"sass-graph": "2.2.4",
"stdout-stream": "1.4.0"
}
},
"nopt": { "nopt": {
"version": "3.0.6", "version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
@ -6899,25 +7185,6 @@
"glob": "7.1.2" "glob": "7.1.2"
} }
}, },
"rollup": {
"version": "0.50.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.0.tgz",
"integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==",
"dev": true
},
"rollup-plugin-commonjs": {
"version": "8.2.5",
"resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.2.5.tgz",
"integrity": "sha512-RxzILEgDOFvUgnuPVXNCfZ5f7Mv6RlQ1OyW925kmWRCgmV2V+g6G5qmKUmgW2HUQxp0YqqvRkqbez4Q/o6fRog==",
"dev": true,
"requires": {
"acorn": "5.3.0",
"estree-walker": "0.5.1",
"magic-string": "0.22.4",
"resolve": "1.5.0",
"rollup-pluginutils": "2.0.1"
}
},
"rollup-plugin-node-resolve": { "rollup-plugin-node-resolve": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz", "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz",
@ -7559,6 +7826,15 @@
"integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
"dev": true "dev": true
}, },
"topo": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
"integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=",
"dev": true,
"requires": {
"hoek": "4.2.0"
}
},
"tough-cookie": { "tough-cookie": {
"version": "2.3.3", "version": "2.3.3",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
@ -7597,6 +7873,30 @@
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true "dev": true
}, },
"true-case-path": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz",
"integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
"dev": true,
"requires": {
"glob": "6.0.4"
},
"dependencies": {
"glob": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
"dev": true,
"requires": {
"inflight": "1.0.6",
"inherits": "2.0.3",
"minimatch": "3.0.4",
"once": "1.4.0",
"path-is-absolute": "1.0.1"
}
}
}
},
"tslib": { "tslib": {
"version": "1.8.1", "version": "1.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz",
@ -7755,24 +8055,6 @@
"integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=",
"dev": true "dev": true
}, },
"uglify-es": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.6.tgz",
"integrity": "sha512-7zyH8T4rT3/iLVzNI7Oa8hVQSlv280S8y2/a2EmvEObft3067rdUJJKjBspc70d0HUk1Og1V5Ny4UgZOlZ0hSg==",
"dev": true,
"requires": {
"commander": "2.11.0",
"source-map": "0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"uglify-to-browserify": { "uglify-to-browserify": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
@ -8069,26 +8351,87 @@
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
"dev": true "dev": true
}, },
"workbox-build": { "workbox-background-sync": {
"version": "2.1.1", "version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-2.1.1.tgz", "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-3.0.0-alpha.3.tgz",
"integrity": "sha512-YDgTur17Sm2dqpL7+y0+LYskgwi2kuUFZNIvVncuhwj4v2rnN18aBk/6MtHllDrWtozJl6NMbvvtgH2UNRBydg==", "integrity": "sha512-kx3CTTt40+a+whAYgk7y4H+EVcfdV/rijGk4G+KVcgvFsLxTipwXeBf5qix7qWYPxuESpEnoFSMkq522i11tKg==",
"dev": true, "dev": true,
"requires": { "requires": {
"chalk": "1.1.3", "workbox-core": "3.0.0-alpha.3"
"fs-extra": "3.0.1",
"glob": "7.1.2",
"lodash.template": "4.4.0",
"mkdirp": "0.5.1",
"workbox-sw": "2.1.2"
} }
}, },
"workbox-sw": { "workbox-broadcast-cache-update": {
"version": "2.1.2", "version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-2.1.2.tgz", "resolved": "https://registry.npmjs.org/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.0.0-alpha.3.tgz",
"integrity": "sha512-ZGOM57FWD4mnH7qCSQS7XCPX4RzuyUpqb67j68jw4/VNAmGt/1/hq63Md8N++B3tj5dulgGGDC4EBTU2LpPkIg==", "integrity": "sha512-HKX+ij82lkKFTMrpPaL5yUe+qARksLhnaFDrLP0lcm78hYq+9S5/uMWuz04llyOZW44NnyECA4RouQrOcwkURg==",
"dev": true,
"requires": {
"workbox-core": "3.0.0-alpha.3"
}
},
"workbox-cache-expiration": {
"version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-cache-expiration/-/workbox-cache-expiration-3.0.0-alpha.3.tgz",
"integrity": "sha512-DF4Ky9YmyIfjQd2lKPBMnmQnieUJ4cbq2hdgQv5ullE8Anj+hQSh3+zGYHtWSnddikUmr49pNJ7nzWN0Lj0Ryg==",
"dev": true,
"requires": {
"workbox-core": "3.0.0-alpha.3"
}
},
"workbox-cacheable-response": {
"version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-3.0.0-alpha.3.tgz",
"integrity": "sha512-5ATlFE/mm4kelT6PBChUmSs/f2grrNqkRYsKLft9zUGufRRFaa/LmETOsp8qRnfSyXpqn7Y91rdu+0zU9hQ8xQ==",
"dev": true,
"requires": {
"workbox-core": "3.0.0-alpha.3"
}
},
"workbox-core": {
"version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-3.0.0-alpha.3.tgz",
"integrity": "sha512-Fb9DeLZya2ryrgM7MPuqULyBY3BapsvCg4JYB4Ub3+baSZTL5opnVk3ZNzYO1NrPSbw7pDjlUWcC/0pHOXPutQ==",
"dev": true "dev": true
}, },
"workbox-google-analytics": {
"version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-3.0.0-alpha.3.tgz",
"integrity": "sha512-UCxWd6pFokXjDShjar5k3F5sOTuRmrS8iTZQdmz0Rl8faKOaNYfZ9e2nIOkvvrUP7M5NTP+SRz1QRbpHjUmcJg==",
"dev": true,
"requires": {
"workbox-background-sync": "3.0.0-alpha.3",
"workbox-core": "3.0.0-alpha.3",
"workbox-routing": "3.0.0-alpha.3",
"workbox-strategies": "3.0.0-alpha.3"
}
},
"workbox-precaching": {
"version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-3.0.0-alpha.3.tgz",
"integrity": "sha512-II2prud4ZlWTRQwCtQXf4tD9AJyyPTO04nwEjgpOF3WJfHbPwaA/bif0ej+32JjZd3P9YvLiSciAExkm0bJs/A==",
"dev": true,
"requires": {
"workbox-core": "3.0.0-alpha.3"
}
},
"workbox-routing": {
"version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-3.0.0-alpha.3.tgz",
"integrity": "sha512-ejqgMHC6jjtl+lPQsgDnv2x1shOi2jJIWAKsE9zUSvloXTY0+h9/xCJENZj9n4/4IeAFhuKZDjcjtKi/JHhHNw==",
"dev": true,
"requires": {
"workbox-core": "3.0.0-alpha.3"
}
},
"workbox-strategies": {
"version": "3.0.0-alpha.3",
"resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-3.0.0-alpha.3.tgz",
"integrity": "sha512-Tcer2tzNLOFY2EH8tuJTdPg50AdZQLG6SjqnGeh8LjmDhIvNbZ5GZM+sn8xvvIMeELSZ4Oy4TfvfiLS/BFLm7A==",
"dev": true,
"requires": {
"workbox-core": "3.0.0-alpha.3"
}
},
"worker-farm": { "worker-farm": {
"version": "1.5.2", "version": "1.5.2",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz",

View File

@ -9,8 +9,8 @@
"dist/" "dist/"
], ],
"devDependencies": { "devDependencies": {
"@stencil/core": "next", "@stencil/core": "0.1.1",
"@stencil/dev-server": "0.0.18-0", "@stencil/dev-server": "0.0.18-1",
"@stencil/utils": "latest", "@stencil/utils": "latest",
"@types/jest": "^21.1.6", "@types/jest": "^21.1.6",
"chai": "^4.1.2", "chai": "^4.1.2",

View File

@ -54,7 +54,8 @@ export class AlertController {
this.alerts.push(event.target as HTMLIonAlertElement); this.alerts.push(event.target as HTMLIonAlertElement);
} }
@Listen('body:ionAlertWillDismiss, body:ionAlertDidUnload') @Listen('body:ionAlertWillDismiss')
@Listen('body:ionAlertDidUnload')
protected willDismiss(event: AlertEvent) { protected willDismiss(event: AlertEvent) {
console.log('willDismiss: ', event); console.log('willDismiss: ', event);
const index = this.alerts.indexOf(event.target as HTMLIonAlertElement); const index = this.alerts.indexOf(event.target as HTMLIonAlertElement);

View File

@ -1,5 +1,5 @@
import { BlurEvent, CheckboxInput, CheckedInputChangeEvent, FocusEvent, StyleEvent } from '../../utils/input-interfaces'; import { BlurEvent, CheckboxInput, CheckedInputChangeEvent, FocusEvent, StyleEvent } from '../../utils/input-interfaces';
import { Component, CssClassMap, Event, EventEmitter, Prop, PropDidChange, State } from '@stencil/core'; import { Component, CssClassMap, Event, EventEmitter, Prop, State, Watch } from '@stencil/core';
@Component({ @Component({
@ -97,7 +97,7 @@ export class Checkbox implements CheckboxInput {
} }
} }
@PropDidChange('checked') @Watch('checked')
checkedChanged(isChecked: boolean) { checkedChanged(isChecked: boolean) {
if (this.nativeInput.checked !== isChecked) { if (this.nativeInput.checked !== isChecked) {
// keep the checked value and native input `nync // keep the checked value and native input `nync
@ -112,7 +112,7 @@ export class Checkbox implements CheckboxInput {
this.emitStyle(); this.emitStyle();
} }
@PropDidChange('disabled') @Watch('disabled')
disabledChanged(isDisabled: boolean) { disabledChanged(isDisabled: boolean) {
this.nativeInput.disabled = isDisabled; this.nativeInput.disabled = isDisabled;
this.emitStyle(); this.emitStyle();

View File

@ -1,4 +1,4 @@
import { Component, CssClassMap, Event, EventEmitter, Prop, PropDidChange, State } from '@stencil/core'; import { Component, CssClassMap, Event, EventEmitter, Prop, State, Watch } from '@stencil/core';
import { import {
DatetimeData, DatetimeData,
@ -194,7 +194,7 @@ export class Datetime {
/** /**
* Update the datetime value when the value changes * Update the datetime value when the value changes
*/ */
@PropDidChange('value') @Watch('value')
protected valueChanged() { protected valueChanged() {
this.updateValue(); this.updateValue();
} }

View File

@ -1,4 +1,4 @@
import { Component, Element, Prop, PropDidChange } from '@stencil/core'; import { Component, Element, Prop, Watch } from '@stencil/core';
@Component({ @Component({
@ -10,7 +10,7 @@ export class FabList {
@Prop() activated: boolean = false; @Prop() activated: boolean = false;
@PropDidChange('activated') @Watch('activated')
protected activatedChanged(activated: boolean) { protected activatedChanged(activated: boolean) {
const fabs = this.el.querySelectorAll('ion-fab-button'); const fabs = this.el.querySelectorAll('ion-fab-button');

View File

@ -1,6 +1,6 @@
import { Component, Element, Event, EventEmitter, Listen, Prop, Watch } from '@stencil/core';
import { ElementRef, applyStyles, assert, getElementReference, updateDetail } from '../../utils/helpers'; import { ElementRef, applyStyles, assert, getElementReference, updateDetail } from '../../utils/helpers';
import { BLOCK_ALL, BlockerDelegate, GestureController, GestureDelegate } from '../gesture-controller/gesture-controller'; import { BLOCK_ALL, BlockerDelegate, GestureController, GestureDelegate } from '../gesture-controller/gesture-controller';
import { Component, Element, Event, EventEmitter, Listen, Prop, PropDidChange } from '@stencil/core';
import { DomController } from '../../index'; import { DomController } from '../../index';
import { PanRecognizer } from './recognizers'; import { PanRecognizer } from './recognizers';
@ -102,7 +102,7 @@ export class Gesture {
} }
} }
@PropDidChange('enabled') @Watch('enabled')
protected enabledChanged(isEnabled: boolean) { protected enabledChanged(isEnabled: boolean) {
if (this.pan || this.hasPress) { if (this.pan || this.hasPress) {
this.enableListener(this, 'touchstart', isEnabled, this.attachTo); this.enableListener(this, 'touchstart', isEnabled, this.attachTo);
@ -113,7 +113,7 @@ export class Gesture {
} }
} }
@PropDidChange('block') @Watch('block')
protected blockChanged(block: string) { protected blockChanged(block: string) {
if (this.blocker) { if (this.blocker) {
this.blocker.destroy(); this.blocker.destroy();

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Listen, Method, Prop, PropDidChange, State } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Listen, Method, Prop, State, Watch } from '@stencil/core';
import { DomController, ScrollDetail, StencilElement } from '../../index'; import { DomController, ScrollDetail, StencilElement } from '../../index';
const enum Position { const enum Position {
@ -37,7 +37,8 @@ export class InfiniteScroll {
* Default is `15%`. * Default is `15%`.
*/ */
@Prop() threshold: string = '15%'; @Prop() threshold: string = '15%';
@PropDidChange('threshold')
@Watch('threshold')
protected thresholdChanged(val: string) { protected thresholdChanged(val: string) {
if (val.lastIndexOf('%') > -1) { if (val.lastIndexOf('%') > -1) {
this.thrPx = 0; this.thrPx = 0;
@ -64,7 +65,8 @@ export class InfiniteScroll {
* and hide the display. * and hide the display.
*/ */
@Prop() enabled: boolean = true; @Prop() enabled: boolean = true;
@PropDidChange('enabled')
@Watch('enabled')
protected enabledChanged(val: boolean) { protected enabledChanged(val: boolean) {
this.enableScrollEvents(val); this.enableScrollEvents(val);
} }

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Prop, PropDidChange } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Prop, Watch } from '@stencil/core';
import { debounce } from '../../utils/helpers'; import { debounce } from '../../utils/helpers';
import { createThemedClasses } from '../../utils/theme'; import { createThemedClasses } from '../../utils/theme';
@ -74,7 +74,7 @@ export class Input implements InputComponent {
*/ */
@Prop() checked: boolean = false; @Prop() checked: boolean = false;
@PropDidChange('checked') @Watch('checked')
protected checkedChanged() { protected checkedChanged() {
this.emitStyle(); this.emitStyle();
} }
@ -93,7 +93,8 @@ export class Input implements InputComponent {
* @input {number} Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke. Default `0`. * @input {number} Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke. Default `0`.
*/ */
@Prop() debounce: number = 0; @Prop() debounce: number = 0;
@PropDidChange('debounce')
@Watch('debounce')
private debounceInput() { private debounceInput() {
this.ionInput.emit = debounce( this.ionInput.emit = debounce(
this.ionInput.emit.bind(this.ionInput), this.ionInput.emit.bind(this.ionInput),
@ -106,7 +107,7 @@ export class Input implements InputComponent {
*/ */
@Prop() disabled: boolean = false; @Prop() disabled: boolean = false;
@PropDidChange('disabled') @Watch('disabled')
protected disabledChanged() { protected disabledChanged() {
this.emitStyle(); this.emitStyle();
} }
@ -200,7 +201,7 @@ export class Input implements InputComponent {
/** /**
* Update the native input element when the value changes * Update the native input element when the value changes
*/ */
@PropDidChange('value') @Watch('value')
protected valueChanged() { protected valueChanged() {
const inputEl = this.el.querySelector('input'); const inputEl = this.el.querySelector('input');
if (inputEl.value !== this.value) { if (inputEl.value !== this.value) {

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Listen, Method, Prop, PropDidChange, PropWillChange } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Listen, Method, Prop, Watch } from '@stencil/core';
import { Animation, Config, GestureDetail, SplitPaneAlert, StencilElement } from '../../index'; import { Animation, Config, GestureDetail, SplitPaneAlert, StencilElement } from '../../index';
import { Side, assert, checkEdgeSide, isRightSide } from '../../utils/helpers'; import { Side, assert, checkEdgeSide, isRightSide } from '../../utils/helpers';
@ -53,7 +53,8 @@ export class Menu {
* `"overlay"`, `"reveal"`, `"push"`. * `"overlay"`, `"reveal"`, `"push"`.
*/ */
@Prop({ mutable: true }) type: string = 'overlay'; @Prop({ mutable: true }) type: string = 'overlay';
@PropWillChange('type')
@Watch('type')
typeChanged(type: string) { typeChanged(type: string) {
if (this.contentEl) { if (this.contentEl) {
this.contentEl.classList.remove('menu-content-' + this.type); this.contentEl.classList.remove('menu-content-' + this.type);
@ -71,7 +72,8 @@ export class Menu {
* @input {boolean} If true, the menu is enabled. Default `true`. * @input {boolean} If true, the menu is enabled. Default `true`.
*/ */
@Prop({ mutable: true }) enabled: boolean; @Prop({ mutable: true }) enabled: boolean;
@PropDidChange('enabled')
@Watch('enabled')
protected enabledChanged() { protected enabledChanged() {
this.updateState(); this.updateState();
} }
@ -80,7 +82,8 @@ export class Menu {
* @input {string} Which side of the view the menu should be placed. Default `"start"`. * @input {string} Which side of the view the menu should be placed. Default `"start"`.
*/ */
@Prop() side: Side = 'start'; @Prop() side: Side = 'start';
@PropDidChange('side')
@Watch('side')
protected sideChanged() { protected sideChanged() {
this.isRightSide = isRightSide(this.side); this.isRightSide = isRightSide(this.side);
} }
@ -89,7 +92,8 @@ export class Menu {
* @input {boolean} If true, swiping the menu is enabled. Default `true`. * @input {boolean} If true, swiping the menu is enabled. Default `true`.
*/ */
@Prop() swipeEnabled: boolean = true; @Prop() swipeEnabled: boolean = true;
@PropDidChange('swipeEnabled')
@Watch('swipeEnabled')
protected swipeEnabledChanged() { protected swipeEnabledChanged() {
this.updateState(); this.updateState();
} }

View File

@ -1,4 +1,4 @@
import { Component, ComponentDidLoad, Element, Event, EventEmitter, Listen, Prop, PropDidChange, State } from '@stencil/core'; import { Component, ComponentDidLoad, Element, Event, EventEmitter, Listen, Prop, State, Watch } from '@stencil/core';
import { HTMLIonRadioElementEvent } from '../radio/radio'; import { HTMLIonRadioElementEvent } from '../radio/radio';
import { InputChangeEvent, RadioGroupInput } from '../../utils/input-interfaces'; import { InputChangeEvent, RadioGroupInput } from '../../utils/input-interfaces';
@ -34,7 +34,7 @@ export class RadioGroup implements ComponentDidLoad, RadioGroupInput {
*/ */
@Prop({ mutable: true }) value: string; @Prop({ mutable: true }) value: string;
@PropDidChange('value') @Watch('value')
valueChanged() { valueChanged() {
// this radio group's value just changed // this radio group's value just changed
// double check the button with this value is checked // double check the button with this value is checked

View File

@ -1,5 +1,5 @@
import { BlurEvent, CheckedInputChangeEvent, FocusEvent, RadioButtonInput, StyleEvent } from '../../utils/input-interfaces'; import { BlurEvent, CheckedInputChangeEvent, FocusEvent, RadioButtonInput, StyleEvent } from '../../utils/input-interfaces';
import { Component, ComponentDidLoad, ComponentDidUnload, ComponentWillLoad, CssClassMap, Event, EventEmitter, Prop, PropDidChange, State } from '@stencil/core'; import { Component, ComponentDidLoad, ComponentDidUnload, ComponentWillLoad, CssClassMap, Event, EventEmitter, Prop, State, Watch } from '@stencil/core';
import { createThemedClasses } from '../../utils/theme'; import { createThemedClasses } from '../../utils/theme';
@ -115,12 +115,12 @@ export class Radio implements RadioButtonInput, ComponentDidLoad, ComponentDidUn
this.ionRadioDidUnload.emit({ radio: this }); this.ionRadioDidUnload.emit({ radio: this });
} }
@PropDidChange('color') @Watch('color')
colorChanged() { colorChanged() {
this.emitStyle(); this.emitStyle();
} }
@PropDidChange('checked') @Watch('checked')
checkedChanged(isChecked: boolean) { checkedChanged(isChecked: boolean) {
if (this.nativeInput.checked !== isChecked) { if (this.nativeInput.checked !== isChecked) {
// keep the checked value and native input `nync // keep the checked value and native input `nync
@ -141,7 +141,7 @@ export class Radio implements RadioButtonInput, ComponentDidLoad, ComponentDidUn
this.emitStyle(); this.emitStyle();
} }
@PropDidChange('disabled') @Watch('disabled')
disabledChanged(isDisabled: boolean) { disabledChanged(isDisabled: boolean) {
this.nativeInput.disabled = isDisabled; this.nativeInput.disabled = isDisabled;
this.emitStyle(); this.emitStyle();

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Listen, Method, Prop, PropDidChange, State } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Listen, Method, Prop, State, Watch } from '@stencil/core';
import { BaseInputComponent, GestureDetail } from '../../index'; import { BaseInputComponent, GestureDetail } from '../../index';
import { clamp, debounce } from '../../utils/helpers'; import { clamp, debounce } from '../../utils/helpers';
@ -75,7 +75,8 @@ export class Range implements BaseInputComponent {
* `ionChange` event after each change in the range value. Default `0`. * `ionChange` event after each change in the range value. Default `0`.
*/ */
@Prop() debounce: number = 0; @Prop() debounce: number = 0;
@PropDidChange('debounce')
@Watch('debounce')
private debounceChange() { private debounceChange() {
this.ionChange.emit = debounce( this.ionChange.emit = debounce(
this.ionChange.emit.bind(this.ionChange), this.ionChange.emit.bind(this.ionChange),
@ -126,12 +127,12 @@ export class Range implements BaseInputComponent {
@Prop({ mutable: true }) value: any; @Prop({ mutable: true }) value: any;
@PropDidChange('disabled') @Watch('disabled')
protected disabledChanged() { protected disabledChanged() {
this.emitStyle(); this.emitStyle();
} }
@PropDidChange('value') @Watch('value')
protected valueChanged(val: boolean) { protected valueChanged(val: boolean) {
this.ionChange.emit({value: val}); this.ionChange.emit({value: val});
this.emitStyle(); this.emitStyle();

View File

@ -1,4 +1,4 @@
import { Component, Element, Prop, PropDidChange, State } from '@stencil/core'; import { Component, Element, Prop, State, Watch } from '@stencil/core';
import { DomController, GestureDetail } from '../../index'; import { DomController, GestureDetail } from '../../index';
import { clamp, reorderArray } from '../../utils/helpers'; import { clamp, reorderArray } from '../../utils/helpers';
import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart} from '../../utils/haptic'; import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart} from '../../utils/haptic';
@ -52,7 +52,7 @@ export class ReorderGroup {
/** /**
* @input {string} Which side of the view the ion-reorder should be placed. Default `"end"`. * @input {string} Which side of the view the ion-reorder should be placed. Default `"end"`.
*/ */
@PropDidChange('enabled') @Watch('enabled')
protected enabledChanged(enabled: boolean) { protected enabledChanged(enabled: boolean) {
if (enabled) { if (enabled) {
this._enabled = true; this._enabled = true;

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Listen, Method, Prop, PropDidChange } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Listen, Method, Prop, Watch } from '@stencil/core';
import { Config, DomController, GestureDetail } from '../../index'; import { Config, DomController, GestureDetail } from '../../index';
import { GestureController, GestureDelegate } from '../gesture-controller/gesture-controller'; import { GestureController, GestureDelegate } from '../gesture-controller/gesture-controller';
@ -28,7 +28,8 @@ export class Scroll {
@Prop() enabled: boolean = true; @Prop() enabled: boolean = true;
@Prop() jsScroll: boolean = false; @Prop() jsScroll: boolean = false;
@PropDidChange('jsScroll')
@Watch('jsScroll')
jsScrollChanged(js: boolean) { jsScrollChanged(js: boolean) {
if (js) { if (js) {
throw 'jsScroll: TODO!'; throw 'jsScroll: TODO!';

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Prop, PropDidChange, State } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Prop, State, Watch } from '@stencil/core';
import { debounce } from '../../utils/helpers'; import { debounce } from '../../utils/helpers';
@ -87,7 +87,8 @@ export class Searchbar {
* @input {number} Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke. Default `250`. * @input {number} Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke. Default `250`.
*/ */
@Prop({ mutable: true }) debounce: number = 250; @Prop({ mutable: true }) debounce: number = 250;
@PropDidChange('debounce')
@Watch('debounce')
private debounceInput() { private debounceInput() {
this.ionInput.emit = debounce( this.ionInput.emit = debounce(
this.ionInput.emit.bind(this.ionInput), this.ionInput.emit.bind(this.ionInput),

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Listen, Prop, PropDidChange } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Listen, Prop, Watch } from '@stencil/core';
@Component({ @Component({
@ -46,7 +46,7 @@ export class Segment {
*/ */
@Prop({ mutable: true }) value: string; @Prop({ mutable: true }) value: string;
@PropDidChange('value') @Watch('value')
protected valueChanged(val: string) { protected valueChanged(val: string) {
this.selectButton(val); this.selectButton(val);
} }

View File

@ -1,4 +1,4 @@
import { Component, CssClassMap, Element, Event, EventEmitter, Listen, Prop, PropDidChange, State } from '@stencil/core'; import { Component, CssClassMap, Element, Event, EventEmitter, Listen, Prop, State, Watch } from '@stencil/core';
import { HTMLIonSelectOptionElementEvent } from '../select-option/select-option'; import { HTMLIonSelectOptionElementEvent } from '../select-option/select-option';
import { BlurEvent, FocusEvent, SelectInputChangeEvent, StyleEvent } from '../../utils/input-interfaces'; import { BlurEvent, FocusEvent, SelectInputChangeEvent, StyleEvent } from '../../utils/input-interfaces';
@ -123,12 +123,12 @@ export class Select {
@Event() ionStyle: EventEmitter<StyleEvent>; @Event() ionStyle: EventEmitter<StyleEvent>;
@PropDidChange('disabled') @Watch('disabled')
disabledChanged() { disabledChanged() {
this.emitStyle(); this.emitStyle();
} }
@PropDidChange('value') @Watch('value')
valueChanged() { valueChanged() {
// this select value just changed // this select value just changed
// double check the select option with this value is checked // double check the select option with this value is checked

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Method, Prop, PropDidChange } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Method, Prop, Watch } from '@stencil/core';
import { Swiper } from './vendor/swiper.js'; import { Swiper } from './vendor/swiper.js';
// import { SwiperOptions } from './vendor/swiper'; // TODO // import { SwiperOptions } from './vendor/swiper'; // TODO
@ -11,9 +11,7 @@ export class Slides {
private container: HTMLElement; private container: HTMLElement;
private init: boolean; private init: boolean;
private tmr: number;
private swiper: any; private swiper: any;
private finalOptions: any;
private slidesId: number; private slidesId: number;
private slideId: string; private slideId: string;
@ -90,7 +88,7 @@ export class Slides {
*/ */
@Prop() options: any; // SwiperOptions; // TODO @Prop() options: any; // SwiperOptions; // TODO
@PropDidChange('options') @Watch('options')
updateSwiperOptions() { updateSwiperOptions() {
let newOptions = this.normalizeOptions(); let newOptions = this.normalizeOptions();
this.swiper.params = Object.assign({}, this.swiper.params, newOptions); this.swiper.params = Object.assign({}, this.swiper.params, newOptions);

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Method, Prop, PropDidChange, State } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch } from '@stencil/core';
const SPLIT_PANE_MAIN = 'split-pane-main'; const SPLIT_PANE_MAIN = 'split-pane-main';
const SPLIT_PANE_SIDE = 'split-pane-side'; const SPLIT_PANE_SIDE = 'split-pane-side';
@ -83,7 +83,7 @@ export class SplitPane {
} }
} }
@PropDidChange('when') @Watch('when')
protected whenChanged() { protected whenChanged() {
this.rmL && this.rmL(); this.rmL && this.rmL();
this.rmL = null; this.rmL = null;

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Method, Prop, PropDidChange, State } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch } from '@stencil/core';
@Component({ @Component({
@ -61,7 +61,8 @@ export class Tab {
@Prop({ mutable: true }) selected = false; @Prop({ mutable: true }) selected = false;
@PropDidChange('selected')
@Watch('selected')
selectedChanged(selected: boolean) { selectedChanged(selected: boolean) {
if (selected) { if (selected) {
this.ionSelect.emit(); this.ionSelect.emit();

View File

@ -1,4 +1,4 @@
import {Component, Element, Listen, Prop, PropDidChange, State} from '@stencil/core'; import { Component, Element, Listen, Prop, State, Watch } from '@stencil/core';
import { createThemedClasses } from '../../utils/theme'; import { createThemedClasses } from '../../utils/theme';
import { DomController } from '../../index'; import { DomController } from '../../index';
@ -27,7 +27,7 @@ export class Tabbar {
private scrollEl: HTMLIonScrollElement; private scrollEl: HTMLIonScrollElement;
@PropDidChange('selectedTab') @Watch('selectedTab')
selectedTabChanged() { selectedTabChanged() {
this.scrollable && this.scrollToSelectedButton(); this.scrollable && this.scrollToSelectedButton();
this.highlight && this.updateHighlight(); this.highlight && this.updateHighlight();

View File

@ -1,4 +1,4 @@
import { Component, Element, Event, EventEmitter, Prop, PropDidChange } from '@stencil/core'; import { Component, Element, Event, EventEmitter, Prop, Watch } from '@stencil/core';
import { debounce } from '../../utils/helpers'; import { debounce } from '../../utils/helpers';
import { createThemedClasses } from '../../utils/theme'; import { createThemedClasses } from '../../utils/theme';
@ -73,7 +73,8 @@ export class Textarea implements TextareaComponent {
* @input {number} Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke. Default `0`. * @input {number} Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke. Default `0`.
*/ */
@Prop() debounce: number = 0; @Prop() debounce: number = 0;
@PropDidChange('debounce')
@Watch('debounce')
private debounceInput() { private debounceInput() {
this.ionInput.emit = debounce( this.ionInput.emit = debounce(
this.ionInput.emit.bind(this.ionInput), this.ionInput.emit.bind(this.ionInput),
@ -86,7 +87,7 @@ export class Textarea implements TextareaComponent {
*/ */
@Prop() disabled: boolean = false; @Prop() disabled: boolean = false;
@PropDidChange('disabled') @Watch('disabled')
protected disabledChanged() { protected disabledChanged() {
this.emitStyle(); this.emitStyle();
} }
@ -149,7 +150,7 @@ export class Textarea implements TextareaComponent {
/** /**
* Update the native input element when the value changes * Update the native input element when the value changes
*/ */
@PropDidChange('value') @Watch('value')
protected valueChanged() { protected valueChanged() {
const inputEl = this.el.querySelector('textarea'); const inputEl = this.el.querySelector('textarea');
if (inputEl.value !== this.value) { if (inputEl.value !== this.value) {

View File

@ -1,5 +1,5 @@
import { BlurEvent, CheckboxInput, CheckedInputChangeEvent, FocusEvent, StyleEvent } from '../../utils/input-interfaces'; import { BlurEvent, CheckboxInput, CheckedInputChangeEvent, FocusEvent, StyleEvent } from '../../utils/input-interfaces';
import { Component, Event, EventEmitter, Prop, PropDidChange, State } from '@stencil/core'; import { Component, Event, EventEmitter, Prop, State, Watch } from '@stencil/core';
import { GestureDetail } from '../../index'; import { GestureDetail } from '../../index';
import { hapticSelection } from '../../utils/haptic'; import { hapticSelection } from '../../utils/haptic';
@ -118,7 +118,7 @@ export class Toggle implements CheckboxInput {
} }
} }
@PropDidChange('checked') @Watch('checked')
checkedChanged(isChecked: boolean) { checkedChanged(isChecked: boolean) {
if (this.nativeInput.checked !== isChecked) { if (this.nativeInput.checked !== isChecked) {
// keep the checked value and native input `nync // keep the checked value and native input `nync
@ -133,7 +133,7 @@ export class Toggle implements CheckboxInput {
this.emitStyle(); this.emitStyle();
} }
@PropDidChange('disabled') @Watch('disabled')
disabledChanged(isDisabled: boolean) { disabledChanged(isDisabled: boolean) {
this.nativeInput.disabled = isDisabled; this.nativeInput.disabled = isDisabled;
this.emitStyle(); this.emitStyle();