ngx-color 7.0.1 → 7.3.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/alpha/alpha-picker.component.d.ts +8 -0
- package/alpha/esm2020/alpha-picker.component.mjs +116 -0
- package/alpha/{esm2015/ngx-color-alpha.js → esm2020/ngx-color-alpha.mjs} +2 -2
- package/alpha/esm2020/public_api.mjs +2 -0
- package/alpha/fesm2015/ngx-color-alpha.mjs +123 -0
- package/alpha/fesm2015/ngx-color-alpha.mjs.map +1 -0
- package/alpha/fesm2020/ngx-color-alpha.mjs +123 -0
- package/alpha/fesm2020/ngx-color-alpha.mjs.map +1 -0
- package/alpha/ngx-color-alpha.d.ts +2 -1
- package/alpha/package.json +19 -7
- package/alpha/public_api.d.ts +1 -0
- package/alpha.component.d.ts +9 -0
- package/block/block-swatches.component.d.ts +3 -0
- package/block/block.component.d.ts +9 -0
- package/block/esm2020/block-swatches.component.mjs +76 -0
- package/block/esm2020/block.component.mjs +199 -0
- package/block/esm2020/ngx-color-block.mjs +5 -0
- package/block/esm2020/public_api.mjs +3 -0
- package/block/fesm2015/ngx-color-block.mjs +277 -0
- package/block/fesm2015/ngx-color-block.mjs.map +1 -0
- package/block/fesm2020/ngx-color-block.mjs +277 -0
- package/block/fesm2020/ngx-color-block.mjs.map +1 -0
- package/block/ngx-color-block.d.ts +2 -2
- package/block/package.json +19 -7
- package/block/public_api.d.ts +2 -0
- package/checkboard.component.d.ts +7 -0
- package/chrome/chrome-fields.component.d.ts +3 -0
- package/chrome/chrome.component.d.ts +9 -0
- package/chrome/esm2020/chrome-fields.component.mjs +356 -0
- package/chrome/esm2020/chrome.component.mjs +249 -0
- package/chrome/esm2020/ngx-color-chrome.mjs +5 -0
- package/chrome/esm2020/public_api.mjs +3 -0
- package/chrome/fesm2015/ngx-color-chrome.mjs +606 -0
- package/chrome/fesm2015/ngx-color-chrome.mjs.map +1 -0
- package/chrome/fesm2020/ngx-color-chrome.mjs +606 -0
- package/chrome/fesm2020/ngx-color-chrome.mjs.map +1 -0
- package/chrome/ngx-color-chrome.d.ts +2 -2
- package/chrome/package.json +19 -7
- package/chrome/public_api.d.ts +2 -0
- package/circle/circle-swatch.component.d.ts +3 -0
- package/circle/circle.component.d.ts +9 -0
- package/circle/esm2020/circle-swatch.component.mjs +85 -0
- package/circle/esm2020/circle.component.mjs +148 -0
- package/circle/esm2020/ngx-color-circle.mjs +5 -0
- package/circle/esm2020/public_api.mjs +3 -0
- package/circle/fesm2015/ngx-color-circle.mjs +237 -0
- package/circle/fesm2015/ngx-color-circle.mjs.map +1 -0
- package/circle/fesm2020/ngx-color-circle.mjs +237 -0
- package/circle/fesm2020/ngx-color-circle.mjs.map +1 -0
- package/circle/ngx-color-circle.d.ts +2 -2
- package/circle/package.json +19 -7
- package/circle/public_api.d.ts +2 -0
- package/color-wrap.component.d.ts +27 -2
- package/compact/compact-color.component.d.ts +3 -0
- package/compact/compact-fields.component.d.ts +3 -0
- package/compact/compact.component.d.ts +10 -0
- package/compact/esm2020/compact-color.component.mjs +91 -0
- package/compact/esm2020/compact-fields.component.mjs +186 -0
- package/compact/esm2020/compact.component.mjs +177 -0
- package/compact/esm2020/ngx-color-compact.mjs +5 -0
- package/compact/esm2020/public_api.mjs +4 -0
- package/compact/fesm2015/ngx-color-compact.mjs +451 -0
- package/compact/fesm2015/ngx-color-compact.mjs.map +1 -0
- package/compact/fesm2020/ngx-color-compact.mjs +451 -0
- package/compact/fesm2020/ngx-color-compact.mjs.map +1 -0
- package/compact/ngx-color-compact.d.ts +2 -3
- package/compact/package.json +19 -7
- package/compact/public_api.d.ts +3 -0
- package/coordinates.directive.d.ts +6 -0
- package/editable-input.component.d.ts +8 -0
- package/esm2020/alpha.component.mjs +186 -0
- package/esm2020/checkboard.component.mjs +66 -0
- package/esm2020/color-wrap.component.mjs +163 -0
- package/esm2020/coordinates.directive.mjs +104 -0
- package/esm2020/editable-input.component.mjs +217 -0
- package/{esm2015/helpers/checkboard.js → esm2020/helpers/checkboard.mjs} +0 -0
- package/{esm2015/helpers/color.interfaces.js → esm2020/helpers/color.interfaces.mjs} +0 -0
- package/{esm2015/helpers/color.js → esm2020/helpers/color.mjs} +0 -0
- package/esm2020/hue.component.mjs +165 -0
- package/{esm2015/ngx-color.js → esm2020/ngx-color.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/esm2020/raised.component.mjs +89 -0
- package/esm2020/saturation.component.mjs +136 -0
- package/esm2020/shade.component.mjs +165 -0
- package/esm2020/swatch.component.mjs +125 -0
- package/fesm2015/ngx-color.mjs +1461 -0
- package/fesm2015/ngx-color.mjs.map +1 -0
- package/fesm2020/ngx-color.mjs +1466 -0
- package/fesm2020/ngx-color.mjs.map +1 -0
- package/github/esm2020/github-swatch.component.mjs +67 -0
- package/github/esm2020/github.component.mjs +179 -0
- package/github/esm2020/ngx-color-github.mjs +5 -0
- package/github/esm2020/public_api.mjs +3 -0
- package/github/fesm2015/ngx-color-github.mjs +250 -0
- package/github/fesm2015/ngx-color-github.mjs.map +1 -0
- package/github/fesm2020/ngx-color-github.mjs +250 -0
- package/github/fesm2020/ngx-color-github.mjs.map +1 -0
- package/github/github-swatch.component.d.ts +3 -0
- package/github/github.component.d.ts +9 -0
- package/github/ngx-color-github.d.ts +2 -2
- package/github/package.json +19 -7
- package/github/public_api.d.ts +2 -0
- package/helpers/checkboard.d.ts +2 -2
- package/hue/esm2020/hue-picker.component.mjs +113 -0
- package/hue/{esm2015/ngx-color-hue.js → esm2020/ngx-color-hue.mjs} +2 -2
- package/hue/esm2020/public_api.mjs +2 -0
- package/hue/fesm2015/ngx-color-hue.mjs +120 -0
- package/hue/fesm2015/ngx-color-hue.mjs.map +1 -0
- package/hue/fesm2020/ngx-color-hue.mjs +120 -0
- package/hue/fesm2020/ngx-color-hue.mjs.map +1 -0
- package/hue/hue-picker.component.d.ts +8 -0
- package/hue/ngx-color-hue.d.ts +2 -1
- package/hue/package.json +19 -7
- package/hue/public_api.d.ts +1 -0
- package/hue.component.d.ts +8 -0
- package/material/esm2020/material.component.mjs +211 -0
- package/material/{esm2015/ngx-color-material.js → esm2020/ngx-color-material.mjs} +2 -2
- package/material/esm2020/public_api.mjs +2 -0
- package/material/fesm2015/ngx-color-material.mjs +218 -0
- package/material/fesm2015/ngx-color-material.mjs.map +1 -0
- package/material/fesm2020/ngx-color-material.mjs +218 -0
- package/material/fesm2020/ngx-color-material.mjs.map +1 -0
- package/material/material.component.d.ts +8 -0
- package/material/ngx-color-material.d.ts +2 -1
- package/material/package.json +19 -7
- package/material/public_api.d.ts +1 -0
- package/ngx-color.d.ts +1 -0
- package/package.json +20 -8
- package/photoshop/esm2020/ngx-color-photoshop.mjs +5 -0
- package/photoshop/esm2020/photoshop-button.component.mjs +63 -0
- package/photoshop/esm2020/photoshop-fields.component.mjs +241 -0
- package/photoshop/esm2020/photoshop-previews.component.mjs +68 -0
- package/photoshop/esm2020/photoshop.component.mjs +258 -0
- package/photoshop/esm2020/public_api.mjs +5 -0
- package/photoshop/fesm2015/ngx-color-photoshop.mjs +626 -0
- package/photoshop/fesm2015/ngx-color-photoshop.mjs.map +1 -0
- package/photoshop/fesm2020/ngx-color-photoshop.mjs +626 -0
- package/photoshop/fesm2020/ngx-color-photoshop.mjs.map +1 -0
- package/photoshop/ngx-color-photoshop.d.ts +2 -4
- package/photoshop/package.json +19 -7
- package/photoshop/photoshop-button.component.d.ts +3 -0
- package/photoshop/photoshop-fields.component.d.ts +3 -0
- package/photoshop/photoshop-previews.component.d.ts +3 -0
- package/photoshop/photoshop.component.d.ts +11 -0
- package/photoshop/public_api.d.ts +4 -0
- package/raised.component.d.ts +7 -0
- package/saturation.component.d.ts +8 -0
- package/shade/{esm2015/ngx-color-shade.js → esm2020/ngx-color-shade.mjs} +2 -2
- package/shade/esm2020/public_api.mjs +2 -0
- package/shade/esm2020/shade-picker.component.mjs +105 -0
- package/shade/fesm2015/ngx-color-shade.mjs +112 -0
- package/shade/fesm2015/ngx-color-shade.mjs.map +1 -0
- package/shade/fesm2020/ngx-color-shade.mjs +112 -0
- package/shade/fesm2020/ngx-color-shade.mjs.map +1 -0
- package/shade/ngx-color-shade.d.ts +2 -1
- package/shade/package.json +19 -7
- package/shade/public_api.d.ts +1 -0
- package/shade/shade-picker.component.d.ts +8 -0
- package/shade.component.d.ts +8 -0
- package/sketch/esm2020/ngx-color-sketch.mjs +5 -0
- package/sketch/esm2020/public_api.mjs +4 -0
- package/sketch/esm2020/sketch-fields.component.mjs +243 -0
- package/sketch/esm2020/sketch-preset-colors.component.mjs +98 -0
- package/sketch/esm2020/sketch.component.mjs +283 -0
- package/sketch/fesm2015/ngx-color-sketch.mjs +620 -0
- package/sketch/fesm2015/ngx-color-sketch.mjs.map +1 -0
- package/sketch/fesm2020/ngx-color-sketch.mjs +620 -0
- package/sketch/fesm2020/ngx-color-sketch.mjs.map +1 -0
- package/sketch/ngx-color-sketch.d.ts +2 -3
- package/sketch/package.json +19 -7
- package/sketch/public_api.d.ts +3 -0
- package/sketch/sketch-fields.component.d.ts +3 -0
- package/sketch/sketch-preset-colors.component.d.ts +3 -0
- package/sketch/sketch.component.d.ts +10 -0
- package/slider/esm2020/ngx-color-slider.mjs +5 -0
- package/slider/esm2020/public_api.mjs +4 -0
- package/slider/esm2020/slider-swatch.component.mjs +80 -0
- package/slider/esm2020/slider-swatches.component.mjs +135 -0
- package/slider/esm2020/slider.component.mjs +116 -0
- package/slider/fesm2015/ngx-color-slider.mjs +331 -0
- package/slider/fesm2015/ngx-color-slider.mjs.map +1 -0
- package/slider/fesm2020/ngx-color-slider.mjs +331 -0
- package/slider/fesm2020/ngx-color-slider.mjs.map +1 -0
- package/slider/ngx-color-slider.d.ts +2 -3
- package/slider/package.json +19 -7
- package/slider/public_api.d.ts +3 -0
- package/slider/slider-swatch.component.d.ts +3 -0
- package/slider/slider-swatches.component.d.ts +3 -0
- package/slider/slider.component.d.ts +10 -0
- package/swatch.component.d.ts +8 -0
- package/swatches/esm2020/ngx-color-swatches.mjs +5 -0
- package/swatches/esm2020/public_api.mjs +4 -0
- package/swatches/esm2020/swatches-color.component.mjs +123 -0
- package/swatches/esm2020/swatches-group.component.mjs +64 -0
- package/swatches/esm2020/swatches.component.mjs +258 -0
- package/swatches/fesm2015/ngx-color-swatches.mjs +441 -0
- package/swatches/fesm2015/ngx-color-swatches.mjs.map +1 -0
- package/swatches/fesm2020/ngx-color-swatches.mjs +441 -0
- package/swatches/fesm2020/ngx-color-swatches.mjs.map +1 -0
- package/swatches/ngx-color-swatches.d.ts +2 -3
- package/swatches/package.json +19 -7
- package/swatches/public_api.d.ts +3 -0
- package/swatches/swatches-color.component.d.ts +3 -0
- package/swatches/swatches-group.component.d.ts +3 -0
- package/swatches/swatches.component.d.ts +10 -0
- package/twitter/{esm2015/ngx-color-twitter.js → esm2020/ngx-color-twitter.mjs} +2 -2
- package/twitter/esm2020/public_api.mjs +2 -0
- package/twitter/esm2020/twitter.component.mjs +255 -0
- package/twitter/fesm2015/ngx-color-twitter.mjs +262 -0
- package/twitter/fesm2015/ngx-color-twitter.mjs.map +1 -0
- package/twitter/fesm2020/ngx-color-twitter.mjs +262 -0
- package/twitter/fesm2020/ngx-color-twitter.mjs.map +1 -0
- package/twitter/ngx-color-twitter.d.ts +2 -1
- package/twitter/package.json +19 -7
- package/twitter/public_api.d.ts +1 -0
- package/twitter/twitter.component.d.ts +8 -0
- package/alpha/bundles/ngx-color-alpha.umd.js +0 -387
- package/alpha/bundles/ngx-color-alpha.umd.js.map +0 -1
- package/alpha/esm2015/alpha-picker.component.js +0 -72
- package/alpha/fesm2015/ngx-color-alpha.js +0 -79
- package/alpha/fesm2015/ngx-color-alpha.js.map +0 -1
- package/alpha/ngx-color-alpha.metadata.json +0 -1
- package/block/bundles/ngx-color-block.umd.js +0 -455
- package/block/bundles/ngx-color-block.umd.js.map +0 -1
- package/block/esm2015/block-swatches.component.js +0 -58
- package/block/esm2015/block.component.js +0 -139
- package/block/esm2015/ngx-color-block.js +0 -6
- package/block/fesm2015/ngx-color-block.js +0 -202
- package/block/fesm2015/ngx-color-block.js.map +0 -1
- package/block/ngx-color-block.metadata.json +0 -1
- package/bundles/ngx-color.umd.js +0 -951
- package/bundles/ngx-color.umd.js.map +0 -1
- package/chrome/bundles/ngx-color-chrome.umd.js +0 -526
- package/chrome/bundles/ngx-color-chrome.umd.js.map +0 -1
- package/chrome/esm2015/chrome-fields.component.js +0 -255
- package/chrome/esm2015/chrome.component.js +0 -161
- package/chrome/esm2015/ngx-color-chrome.js +0 -6
- package/chrome/fesm2015/ngx-color-chrome.js +0 -420
- package/chrome/fesm2015/ngx-color-chrome.js.map +0 -1
- package/chrome/ngx-color-chrome.metadata.json +0 -1
- package/circle/bundles/ngx-color-circle.umd.js +0 -452
- package/circle/bundles/ngx-color-circle.umd.js.map +0 -1
- package/circle/esm2015/circle-swatch.component.js +0 -63
- package/circle/esm2015/circle.component.js +0 -97
- package/circle/esm2015/ngx-color-circle.js +0 -6
- package/circle/fesm2015/ngx-color-circle.js +0 -165
- package/circle/fesm2015/ngx-color-circle.js.map +0 -1
- package/circle/ngx-color-circle.metadata.json +0 -1
- package/compact/bundles/ngx-color-compact.umd.js +0 -562
- package/compact/bundles/ngx-color-compact.umd.js.map +0 -1
- package/compact/esm2015/compact-color.component.js +0 -70
- package/compact/esm2015/compact-fields.component.js +0 -142
- package/compact/esm2015/compact.component.js +0 -123
- package/compact/esm2015/ngx-color-compact.js +0 -7
- package/compact/fesm2015/ngx-color-compact.js +0 -336
- package/compact/fesm2015/ngx-color-compact.js.map +0 -1
- package/compact/ngx-color-compact.metadata.json +0 -1
- package/esm2015/alpha.component.js +0 -156
- package/esm2015/checkboard.component.js +0 -52
- package/esm2015/color-wrap.component.js +0 -82
- package/esm2015/coordinates.directive.js +0 -85
- package/esm2015/editable-input.component.js +0 -181
- package/esm2015/hue.component.js +0 -140
- package/esm2015/raised.component.js +0 -73
- package/esm2015/saturation.component.js +0 -111
- package/esm2015/shade.component.js +0 -127
- package/esm2015/swatch.component.js +0 -85
- package/fesm2015/ngx-color.js +0 -1164
- package/fesm2015/ngx-color.js.map +0 -1
- package/github/bundles/ngx-color-github.umd.js +0 -430
- package/github/bundles/ngx-color-github.umd.js.map +0 -1
- package/github/esm2015/github-swatch.component.js +0 -48
- package/github/esm2015/github.component.js +0 -134
- package/github/esm2015/ngx-color-github.js +0 -6
- package/github/fesm2015/ngx-color-github.js +0 -187
- package/github/fesm2015/ngx-color-github.js.map +0 -1
- package/github/ngx-color-github.metadata.json +0 -1
- package/hue/bundles/ngx-color-hue.umd.js +0 -390
- package/hue/bundles/ngx-color-hue.umd.js.map +0 -1
- package/hue/esm2015/hue-picker.component.js +0 -70
- package/hue/fesm2015/ngx-color-hue.js +0 -77
- package/hue/fesm2015/ngx-color-hue.js.map +0 -1
- package/hue/ngx-color-hue.metadata.json +0 -1
- package/material/bundles/ngx-color-material.umd.js +0 -438
- package/material/bundles/ngx-color-material.umd.js.map +0 -1
- package/material/esm2015/material.component.js +0 -149
- package/material/fesm2015/ngx-color-material.js +0 -156
- package/material/fesm2015/ngx-color-material.js.map +0 -1
- package/material/ngx-color-material.metadata.json +0 -1
- package/ngx-color.metadata.json +0 -1
- package/photoshop/bundles/ngx-color-photoshop.umd.js +0 -554
- package/photoshop/bundles/ngx-color-photoshop.umd.js.map +0 -1
- package/photoshop/esm2015/ngx-color-photoshop.js +0 -8
- package/photoshop/esm2015/photoshop-button.component.js +0 -50
- package/photoshop/esm2015/photoshop-fields.component.js +0 -180
- package/photoshop/esm2015/photoshop-previews.component.js +0 -53
- package/photoshop/esm2015/photoshop.component.js +0 -169
- package/photoshop/fesm2015/ngx-color-photoshop.js +0 -452
- package/photoshop/fesm2015/ngx-color-photoshop.js.map +0 -1
- package/photoshop/ngx-color-photoshop.metadata.json +0 -1
- package/shade/bundles/ngx-color-shade.umd.js +0 -382
- package/shade/bundles/ngx-color-shade.umd.js.map +0 -1
- package/shade/esm2015/shade-picker.component.js +0 -63
- package/shade/fesm2015/ngx-color-shade.js +0 -70
- package/shade/fesm2015/ngx-color-shade.js.map +0 -1
- package/shade/ngx-color-shade.metadata.json +0 -1
- package/sketch/bundles/ngx-color-sketch.umd.js +0 -568
- package/sketch/bundles/ngx-color-sketch.umd.js.map +0 -1
- package/sketch/esm2015/ngx-color-sketch.js +0 -7
- package/sketch/esm2015/sketch-fields.component.js +0 -181
- package/sketch/esm2015/sketch-preset-colors.component.js +0 -76
- package/sketch/esm2015/sketch.component.js +0 -191
- package/sketch/fesm2015/ngx-color-sketch.js +0 -450
- package/sketch/fesm2015/ngx-color-sketch.js.map +0 -1
- package/sketch/ngx-color-sketch.metadata.json +0 -1
- package/slider/bundles/ngx-color-slider.umd.js +0 -453
- package/slider/bundles/ngx-color-slider.umd.js.map +0 -1
- package/slider/esm2015/ngx-color-slider.js +0 -7
- package/slider/esm2015/slider-swatch.component.js +0 -65
- package/slider/esm2015/slider-swatches.component.js +0 -84
- package/slider/esm2015/slider.component.js +0 -69
- package/slider/fesm2015/ngx-color-slider.js +0 -221
- package/slider/fesm2015/ngx-color-slider.js.map +0 -1
- package/slider/ngx-color-slider.metadata.json +0 -1
- package/swatches/bundles/ngx-color-swatches.umd.js +0 -595
- package/swatches/bundles/ngx-color-swatches.umd.js.map +0 -1
- package/swatches/esm2015/ngx-color-swatches.js +0 -7
- package/swatches/esm2015/swatches-color.component.js +0 -90
- package/swatches/esm2015/swatches-group.component.js +0 -42
- package/swatches/esm2015/swatches.component.js +0 -205
- package/swatches/fesm2015/ngx-color-swatches.js +0 -339
- package/swatches/fesm2015/ngx-color-swatches.js.map +0 -1
- package/swatches/ngx-color-swatches.metadata.json +0 -1
- package/twitter/bundles/ngx-color-twitter.umd.js +0 -416
- package/twitter/bundles/ngx-color-twitter.umd.js.map +0 -1
- package/twitter/esm2015/twitter.component.js +0 -195
- package/twitter/fesm2015/ngx-color-twitter.js +0 -202
- package/twitter/fesm2015/ngx-color-twitter.js.map +0 -1
- package/twitter/ngx-color-twitter.metadata.json +0 -1
@@ -1,82 +0,0 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { Component, EventEmitter, Input, NgModule, Output, } from '@angular/core';
|
3
|
-
import { debounceTime } from 'rxjs/operators';
|
4
|
-
import { simpleCheckForValidColor, toState } from './helpers/color';
|
5
|
-
export class ColorWrap {
|
6
|
-
constructor() {
|
7
|
-
this.color = {
|
8
|
-
h: 250,
|
9
|
-
s: 0.5,
|
10
|
-
l: 0.2,
|
11
|
-
a: 1,
|
12
|
-
};
|
13
|
-
this.onChange = new EventEmitter();
|
14
|
-
this.onChangeComplete = new EventEmitter();
|
15
|
-
this.onSwatchHover = new EventEmitter();
|
16
|
-
}
|
17
|
-
ngOnInit() {
|
18
|
-
this.changes = this.onChange
|
19
|
-
.pipe(debounceTime(100))
|
20
|
-
.subscribe(x => this.onChangeComplete.emit(x));
|
21
|
-
this.setState(toState(this.color, 0));
|
22
|
-
this.currentColor = this.hex;
|
23
|
-
}
|
24
|
-
ngOnChanges() {
|
25
|
-
this.setState(toState(this.color, this.oldHue));
|
26
|
-
}
|
27
|
-
ngOnDestroy() {
|
28
|
-
this.changes.unsubscribe();
|
29
|
-
}
|
30
|
-
setState(data) {
|
31
|
-
this.oldHue = data.oldHue;
|
32
|
-
this.hsl = data.hsl;
|
33
|
-
this.hsv = data.hsv;
|
34
|
-
this.rgb = data.rgb;
|
35
|
-
this.hex = data.hex;
|
36
|
-
this.source = data.source;
|
37
|
-
this.afterValidChange();
|
38
|
-
}
|
39
|
-
handleChange(data, $event) {
|
40
|
-
const isValidColor = simpleCheckForValidColor(data);
|
41
|
-
if (isValidColor) {
|
42
|
-
const color = toState(data, data.h || this.oldHue, this.disableAlpha);
|
43
|
-
this.setState(color);
|
44
|
-
this.onChange.emit({ color, $event });
|
45
|
-
this.afterValidChange();
|
46
|
-
}
|
47
|
-
}
|
48
|
-
/** hook for components after a complete change */
|
49
|
-
afterValidChange() { }
|
50
|
-
handleSwatchHover(data, $event) {
|
51
|
-
const isValidColor = simpleCheckForValidColor(data);
|
52
|
-
if (isValidColor) {
|
53
|
-
const color = toState(data, data.h || this.oldHue);
|
54
|
-
this.setState(color);
|
55
|
-
this.onSwatchHover.emit({ color, $event });
|
56
|
-
}
|
57
|
-
}
|
58
|
-
}
|
59
|
-
ColorWrap.decorators = [
|
60
|
-
{ type: Component, args: [{
|
61
|
-
// create seletor base for test override property
|
62
|
-
selector: 'color-wrap',
|
63
|
-
template: ``
|
64
|
-
},] }
|
65
|
-
];
|
66
|
-
ColorWrap.propDecorators = {
|
67
|
-
className: [{ type: Input }],
|
68
|
-
color: [{ type: Input }],
|
69
|
-
onChange: [{ type: Output }],
|
70
|
-
onChangeComplete: [{ type: Output }],
|
71
|
-
onSwatchHover: [{ type: Output }]
|
72
|
-
};
|
73
|
-
export class ColorWrapModule {
|
74
|
-
}
|
75
|
-
ColorWrapModule.decorators = [
|
76
|
-
{ type: NgModule, args: [{
|
77
|
-
declarations: [ColorWrap],
|
78
|
-
exports: [ColorWrap],
|
79
|
-
imports: [CommonModule],
|
80
|
-
},] }
|
81
|
-
];
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itd3JhcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbW1vbi9jb2xvci13cmFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFJUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWFwRSxNQUFNLE9BQU8sU0FBUztJQUx0QjtRQU9XLFVBQUssR0FBZ0M7WUFDNUMsQ0FBQyxFQUFFLEdBQUc7WUFDTixDQUFDLEVBQUUsR0FBRztZQUNOLENBQUMsRUFBRSxHQUFHO1lBQ04sQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO1FBQ1EsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDMUMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFxRDNELENBQUM7SUExQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVE7YUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUMvQixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDRCxRQUFRLENBQUMsSUFBSTtRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU07UUFDdkIsTUFBTSxZQUFZLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFDRCxrREFBa0Q7SUFDbEQsZ0JBQWdCLEtBQUksQ0FBQztJQUVyQixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsTUFBTTtRQUM1QixNQUFNLFlBQVksR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7OztZQW5FRixTQUFTLFNBQUM7Z0JBQ1QsaURBQWlEO2dCQUNqRCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFLEVBQUU7YUFDYjs7O3dCQUVFLEtBQUs7b0JBQ0wsS0FBSzt1QkFNTCxNQUFNOytCQUNOLE1BQU07NEJBQ04sTUFBTTs7QUE0RFQsTUFBTSxPQUFPLGVBQWU7OztZQUwzQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUN6QixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQzthQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nTW9kdWxlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgc2ltcGxlQ2hlY2tGb3JWYWxpZENvbG9yLCB0b1N0YXRlIH0gZnJvbSAnLi9oZWxwZXJzL2NvbG9yJztcbmltcG9ydCB7IENvbG9yLCBIU0xBLCBIU1ZBLCBSR0JBIH0gZnJvbSAnLi9oZWxwZXJzL2NvbG9yLmludGVyZmFjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbG9yRXZlbnQge1xuICAkZXZlbnQ6IEV2ZW50O1xuICBjb2xvcjogQ29sb3I7XG59XG5cbkBDb21wb25lbnQoe1xuICAvLyBjcmVhdGUgc2VsZXRvciBiYXNlIGZvciB0ZXN0IG92ZXJyaWRlIHByb3BlcnR5XG4gIHNlbGVjdG9yOiAnY29sb3Itd3JhcCcsXG4gIHRlbXBsYXRlOiBgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JXcmFwIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgY29sb3I6IEhTTEEgfCBIU1ZBIHwgUkdCQSB8IHN0cmluZyA9IHtcbiAgICBoOiAyNTAsXG4gICAgczogMC41LFxuICAgIGw6IDAuMixcbiAgICBhOiAxLFxuICB9O1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbG9yRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZUNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxDb2xvckV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25Td2F0Y2hIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sb3JFdmVudD4oKTtcbiAgb2xkSHVlITogbnVtYmVyO1xuICBoc2whOiBIU0xBO1xuICBoc3YhOiBIU1ZBO1xuICByZ2IhOiBSR0JBO1xuICBoZXghOiBzdHJpbmc7XG4gIHNvdXJjZSE6IHN0cmluZztcbiAgY3VycmVudENvbG9yITogc3RyaW5nO1xuICBjaGFuZ2VzITogU3Vic2NyaXB0aW9uO1xuICBkaXNhYmxlQWxwaGE/OiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2hhbmdlcyA9IHRoaXMub25DaGFuZ2VcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgLnN1YnNjcmliZSh4ID0+IHRoaXMub25DaGFuZ2VDb21wbGV0ZS5lbWl0KHgpKTtcbiAgICB0aGlzLnNldFN0YXRlKHRvU3RhdGUodGhpcy5jb2xvciwgMCkpO1xuICAgIHRoaXMuY3VycmVudENvbG9yID0gdGhpcy5oZXg7XG4gIH1cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh0b1N0YXRlKHRoaXMuY29sb3IsIHRoaXMub2xkSHVlKSk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jaGFuZ2VzLnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgc2V0U3RhdGUoZGF0YSkge1xuICAgIHRoaXMub2xkSHVlID0gZGF0YS5vbGRIdWU7XG4gICAgdGhpcy5oc2wgPSBkYXRhLmhzbDtcbiAgICB0aGlzLmhzdiA9IGRhdGEuaHN2O1xuICAgIHRoaXMucmdiID0gZGF0YS5yZ2I7XG4gICAgdGhpcy5oZXggPSBkYXRhLmhleDtcbiAgICB0aGlzLnNvdXJjZSA9IGRhdGEuc291cmNlO1xuICAgIHRoaXMuYWZ0ZXJWYWxpZENoYW5nZSgpO1xuICB9XG4gIGhhbmRsZUNoYW5nZShkYXRhLCAkZXZlbnQpIHtcbiAgICBjb25zdCBpc1ZhbGlkQ29sb3IgPSBzaW1wbGVDaGVja0ZvclZhbGlkQ29sb3IoZGF0YSk7XG4gICAgaWYgKGlzVmFsaWRDb2xvcikge1xuICAgICAgY29uc3QgY29sb3IgPSB0b1N0YXRlKGRhdGEsIGRhdGEuaCB8fCB0aGlzLm9sZEh1ZSwgdGhpcy5kaXNhYmxlQWxwaGEpO1xuICAgICAgdGhpcy5zZXRTdGF0ZShjb2xvcik7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBjb2xvciwgJGV2ZW50IH0pO1xuICAgICAgdGhpcy5hZnRlclZhbGlkQ2hhbmdlKCk7XG4gICAgfVxuICB9XG4gIC8qKiBob29rIGZvciBjb21wb25lbnRzIGFmdGVyIGEgY29tcGxldGUgY2hhbmdlICovXG4gIGFmdGVyVmFsaWRDaGFuZ2UoKSB7fVxuXG4gIGhhbmRsZVN3YXRjaEhvdmVyKGRhdGEsICRldmVudCkge1xuICAgIGNvbnN0IGlzVmFsaWRDb2xvciA9IHNpbXBsZUNoZWNrRm9yVmFsaWRDb2xvcihkYXRhKTtcbiAgICBpZiAoaXNWYWxpZENvbG9yKSB7XG4gICAgICBjb25zdCBjb2xvciA9IHRvU3RhdGUoZGF0YSwgZGF0YS5oIHx8IHRoaXMub2xkSHVlKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoY29sb3IpO1xuICAgICAgdGhpcy5vblN3YXRjaEhvdmVyLmVtaXQoeyBjb2xvciwgJGV2ZW50IH0pO1xuICAgIH1cbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDb2xvcldyYXBdLFxuICBleHBvcnRzOiBbQ29sb3JXcmFwXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvbG9yV3JhcE1vZHVsZSB7fVxuIl19
|
@@ -1,85 +0,0 @@
|
|
1
|
-
import { Directive, ElementRef, HostListener, NgModule, Output, } from '@angular/core';
|
2
|
-
import { Subject } from 'rxjs';
|
3
|
-
import { distinctUntilChanged } from 'rxjs/operators';
|
4
|
-
export class CoordinatesDirective {
|
5
|
-
constructor(el) {
|
6
|
-
this.el = el;
|
7
|
-
this.coordinatesChange = new Subject();
|
8
|
-
this.mousechange = new Subject();
|
9
|
-
this.mouseListening = false;
|
10
|
-
}
|
11
|
-
mousemove($event, x, y, isTouch = false) {
|
12
|
-
if (this.mouseListening) {
|
13
|
-
$event.preventDefault();
|
14
|
-
this.mousechange.next({ $event, x, y, isTouch });
|
15
|
-
}
|
16
|
-
}
|
17
|
-
mouseup() {
|
18
|
-
this.mouseListening = false;
|
19
|
-
}
|
20
|
-
mousedown($event, x, y, isTouch = false) {
|
21
|
-
$event.preventDefault();
|
22
|
-
this.mouseListening = true;
|
23
|
-
this.mousechange.next({ $event, x, y, isTouch });
|
24
|
-
}
|
25
|
-
ngOnInit() {
|
26
|
-
this.sub = this.mousechange
|
27
|
-
.pipe(
|
28
|
-
// limit times it is updated for the same area
|
29
|
-
distinctUntilChanged((p, q) => p.x === q.x && p.y === q.y))
|
30
|
-
.subscribe(n => this.handleChange(n.x, n.y, n.$event, n.isTouch));
|
31
|
-
}
|
32
|
-
ngOnDestroy() {
|
33
|
-
this.sub.unsubscribe();
|
34
|
-
}
|
35
|
-
handleChange(x, y, $event, isTouch) {
|
36
|
-
const containerWidth = this.el.nativeElement.clientWidth;
|
37
|
-
const containerHeight = this.el.nativeElement.clientHeight;
|
38
|
-
const left = x -
|
39
|
-
(this.el.nativeElement.getBoundingClientRect().left + window.pageXOffset);
|
40
|
-
let top = y - this.el.nativeElement.getBoundingClientRect().top;
|
41
|
-
if (!isTouch) {
|
42
|
-
top = top - window.pageYOffset;
|
43
|
-
}
|
44
|
-
this.coordinatesChange.next({
|
45
|
-
x,
|
46
|
-
y,
|
47
|
-
top,
|
48
|
-
left,
|
49
|
-
containerWidth,
|
50
|
-
containerHeight,
|
51
|
-
$event,
|
52
|
-
});
|
53
|
-
}
|
54
|
-
}
|
55
|
-
CoordinatesDirective.decorators = [
|
56
|
-
{ type: Directive, args: [{ selector: '[ngx-color-coordinates]' },] }
|
57
|
-
];
|
58
|
-
CoordinatesDirective.ctorParameters = () => [
|
59
|
-
{ type: ElementRef }
|
60
|
-
];
|
61
|
-
CoordinatesDirective.propDecorators = {
|
62
|
-
coordinatesChange: [{ type: Output }],
|
63
|
-
mousemove: [{ type: HostListener, args: ['window:mousemove', ['$event', '$event.pageX', '$event.pageY'],] }, { type: HostListener, args: ['window:touchmove', [
|
64
|
-
'$event',
|
65
|
-
'$event.touches[0].clientX',
|
66
|
-
'$event.touches[0].clientY',
|
67
|
-
'true',
|
68
|
-
],] }],
|
69
|
-
mouseup: [{ type: HostListener, args: ['window:mouseup',] }, { type: HostListener, args: ['window:touchend',] }],
|
70
|
-
mousedown: [{ type: HostListener, args: ['mousedown', ['$event', '$event.pageX', '$event.pageY'],] }, { type: HostListener, args: ['touchstart', [
|
71
|
-
'$event',
|
72
|
-
'$event.touches[0].clientX',
|
73
|
-
'$event.touches[0].clientY',
|
74
|
-
'true',
|
75
|
-
],] }]
|
76
|
-
};
|
77
|
-
export class CoordinatesModule {
|
78
|
-
}
|
79
|
-
CoordinatesModule.decorators = [
|
80
|
-
{ type: NgModule, args: [{
|
81
|
-
declarations: [CoordinatesDirective],
|
82
|
-
exports: [CoordinatesDirective],
|
83
|
-
},] }
|
84
|
-
];
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21tb24vY29vcmRpbmF0ZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixRQUFRLEVBR1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE1BQU0sT0FBTyxvQkFBb0I7SUFtRC9CLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBakRsQyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFRM0IsQ0FBQztRQUNHLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBSzdCLENBQUM7UUFFRyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQWlDTSxDQUFDO0lBeEJ0QyxTQUFTLENBQUMsTUFBYSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDNUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBR0QsT0FBTztRQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFRRCxTQUFTLENBQUMsTUFBYSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDNUQsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBSUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVc7YUFDeEIsSUFBSTtRQUNILDhDQUE4QztRQUM5QyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDM0Q7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsTUFBYSxFQUFFLE9BQWdCO1FBQ2hFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUN6RCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDM0QsTUFBTSxJQUFJLEdBQ1IsQ0FBQztZQUNELENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVFLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUVoRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osR0FBRyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUMxQixDQUFDO1lBQ0QsQ0FBQztZQUNELEdBQUc7WUFDSCxJQUFJO1lBQ0osY0FBYztZQUNkLGVBQWU7WUFDZixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBdkZGLFNBQVMsU0FBQyxFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRTs7O1lBWGhELFVBQVU7OztnQ0FhVCxNQUFNO3dCQW1CTixZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxjQUMzRSxZQUFZLFNBQUMsa0JBQWtCLEVBQUU7b0JBQ2hDLFFBQVE7b0JBQ1IsMkJBQTJCO29CQUMzQiwyQkFBMkI7b0JBQzNCLE1BQU07aUJBQ1A7c0JBT0EsWUFBWSxTQUFDLGdCQUFnQixjQUM3QixZQUFZLFNBQUMsaUJBQWlCO3dCQUk5QixZQUFZLFNBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsY0FDcEUsWUFBWSxTQUFDLFlBQVksRUFBRTtvQkFDMUIsUUFBUTtvQkFDUiwyQkFBMkI7b0JBQzNCLDJCQUEyQjtvQkFDM0IsTUFBTTtpQkFDUDs7QUFpREgsTUFBTSxPQUFPLGlCQUFpQjs7O1lBSjdCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDcEMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgTmdNb2R1bGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbbmd4LWNvbG9yLWNvb3JkaW5hdGVzXScgfSlcbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpXG4gIGNvb3JkaW5hdGVzQ2hhbmdlID0gbmV3IFN1YmplY3Q8e1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG4gICAgbGVmdDogbnVtYmVyO1xuICAgIGNvbnRhaW5lcldpZHRoOiBudW1iZXI7XG4gICAgY29udGFpbmVySGVpZ2h0OiBudW1iZXI7XG4gICAgJGV2ZW50OiBhbnk7XG4gIH0+KCk7XG4gIHByaXZhdGUgbW91c2VjaGFuZ2UgPSBuZXcgU3ViamVjdDx7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICAkZXZlbnQ6IGFueTtcbiAgICBpc1RvdWNoOiBib29sZWFuO1xuICB9PigpO1xuXG4gIHByaXZhdGUgbW91c2VMaXN0ZW5pbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBzdWIhOiBTdWJzY3JpcHRpb247XG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZW1vdmUnLCBbJyRldmVudCcsICckZXZlbnQucGFnZVgnLCAnJGV2ZW50LnBhZ2VZJ10pXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp0b3VjaG1vdmUnLCBbXG4gICAgJyRldmVudCcsXG4gICAgJyRldmVudC50b3VjaGVzWzBdLmNsaWVudFgnLFxuICAgICckZXZlbnQudG91Y2hlc1swXS5jbGllbnRZJyxcbiAgICAndHJ1ZScsXG4gIF0pXG4gIG1vdXNlbW92ZSgkZXZlbnQ6IEV2ZW50LCB4OiBudW1iZXIsIHk6IG51bWJlciwgaXNUb3VjaCA9IGZhbHNlKSB7XG4gICAgaWYgKHRoaXMubW91c2VMaXN0ZW5pbmcpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5tb3VzZWNoYW5nZS5uZXh0KHsgJGV2ZW50LCB4LCB5LCBpc1RvdWNoIH0pO1xuICAgIH1cbiAgfVxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cCcpXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp0b3VjaGVuZCcpXG4gIG1vdXNldXAoKSB7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmluZyA9IGZhbHNlO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50JywgJyRldmVudC5wYWdlWCcsICckZXZlbnQucGFnZVknXSlcbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcsIFtcbiAgICAnJGV2ZW50JyxcbiAgICAnJGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCcsXG4gICAgJyRldmVudC50b3VjaGVzWzBdLmNsaWVudFknLFxuICAgICd0cnVlJyxcbiAgXSlcbiAgbW91c2Vkb3duKCRldmVudDogRXZlbnQsIHg6IG51bWJlciwgeTogbnVtYmVyLCBpc1RvdWNoID0gZmFsc2UpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLm1vdXNlTGlzdGVuaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm1vdXNlY2hhbmdlLm5leHQoeyAkZXZlbnQsIHgsIHksIGlzVG91Y2ggfSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3ViID0gdGhpcy5tb3VzZWNoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGxpbWl0IHRpbWVzIGl0IGlzIHVwZGF0ZWQgZm9yIHRoZSBzYW1lIGFyZWFcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHAsIHEpID0+IHAueCA9PT0gcS54ICYmIHAueSA9PT0gcS55KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUobiA9PiB0aGlzLmhhbmRsZUNoYW5nZShuLngsIG4ueSwgbi4kZXZlbnQsIG4uaXNUb3VjaCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZSh4OiBudW1iZXIsIHk6IG51bWJlciwgJGV2ZW50OiBFdmVudCwgaXNUb3VjaDogYm9vbGVhbikge1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIGNvbnN0IGNvbnRhaW5lckhlaWdodCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgY29uc3QgbGVmdCA9XG4gICAgICB4IC1cbiAgICAgICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCArIHdpbmRvdy5wYWdlWE9mZnNldCk7XG4gICAgbGV0IHRvcCA9IHkgLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuXG4gICAgaWYgKCFpc1RvdWNoKSB7XG4gICAgICB0b3AgPSB0b3AgLSB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgfVxuICAgIHRoaXMuY29vcmRpbmF0ZXNDaGFuZ2UubmV4dCh7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIHRvcCxcbiAgICAgIGxlZnQsXG4gICAgICBjb250YWluZXJXaWR0aCxcbiAgICAgIGNvbnRhaW5lckhlaWdodCxcbiAgICAgICRldmVudCxcbiAgICB9KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDb29yZGluYXRlc0RpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtDb29yZGluYXRlc0RpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvb3JkaW5hdGVzTW9kdWxlIHt9XG4iXX0=
|
@@ -1,181 +0,0 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, NgModule, Output, } from '@angular/core';
|
3
|
-
import { fromEvent } from 'rxjs';
|
4
|
-
export class EditableInputComponent {
|
5
|
-
constructor() {
|
6
|
-
this.placeholder = '';
|
7
|
-
this.onChange = new EventEmitter();
|
8
|
-
this.focus = false;
|
9
|
-
}
|
10
|
-
ngOnInit() {
|
11
|
-
this.wrapStyle = this.style && this.style.wrap ? this.style.wrap : {};
|
12
|
-
this.inputStyle = this.style && this.style.input ? this.style.input : {};
|
13
|
-
this.labelStyle = this.style && this.style.label ? this.style.label : {};
|
14
|
-
if (this.dragLabel) {
|
15
|
-
this.labelStyle.cursor = 'ew-resize';
|
16
|
-
}
|
17
|
-
}
|
18
|
-
handleFocus($event) {
|
19
|
-
this.focus = true;
|
20
|
-
}
|
21
|
-
handleFocusOut($event) {
|
22
|
-
this.focus = false;
|
23
|
-
this.currentValue = this.blurValue;
|
24
|
-
}
|
25
|
-
handleKeydown($event) {
|
26
|
-
// In case `e.target.value` is a percentage remove the `%` character
|
27
|
-
// and update accordingly with a percentage
|
28
|
-
// https://github.com/casesandberg/react-color/issues/383
|
29
|
-
const stringValue = String($event.target.value);
|
30
|
-
const isPercentage = stringValue.indexOf('%') > -1;
|
31
|
-
const num = Number(stringValue.replace(/%/g, ''));
|
32
|
-
if (isNaN(num)) {
|
33
|
-
return;
|
34
|
-
}
|
35
|
-
const amount = this.arrowOffset || 1;
|
36
|
-
// Up
|
37
|
-
if ($event.keyCode === 38) {
|
38
|
-
if (this.label) {
|
39
|
-
this.onChange.emit({
|
40
|
-
data: { [this.label]: num + amount },
|
41
|
-
$event,
|
42
|
-
});
|
43
|
-
}
|
44
|
-
else {
|
45
|
-
this.onChange.emit({ data: num + amount, $event });
|
46
|
-
}
|
47
|
-
if (isPercentage) {
|
48
|
-
this.currentValue = `${num + amount}%`;
|
49
|
-
}
|
50
|
-
else {
|
51
|
-
this.currentValue = num + amount;
|
52
|
-
}
|
53
|
-
}
|
54
|
-
// Down
|
55
|
-
if ($event.keyCode === 40) {
|
56
|
-
if (this.label) {
|
57
|
-
this.onChange.emit({
|
58
|
-
data: { [this.label]: num - amount },
|
59
|
-
$event,
|
60
|
-
});
|
61
|
-
}
|
62
|
-
else {
|
63
|
-
this.onChange.emit({ data: num - amount, $event });
|
64
|
-
}
|
65
|
-
if (isPercentage) {
|
66
|
-
this.currentValue = `${num - amount}%`;
|
67
|
-
}
|
68
|
-
else {
|
69
|
-
this.currentValue = num - amount;
|
70
|
-
}
|
71
|
-
}
|
72
|
-
}
|
73
|
-
handleKeyup($event) {
|
74
|
-
if ($event.keyCode === 40 || $event.keyCode === 38) {
|
75
|
-
return;
|
76
|
-
}
|
77
|
-
if (`${this.currentValue}` === $event.target.value) {
|
78
|
-
return;
|
79
|
-
}
|
80
|
-
if (this.label) {
|
81
|
-
this.onChange.emit({
|
82
|
-
data: { [this.label]: $event.target.value },
|
83
|
-
$event,
|
84
|
-
});
|
85
|
-
}
|
86
|
-
else {
|
87
|
-
this.onChange.emit({ data: $event.target.value, $event });
|
88
|
-
}
|
89
|
-
}
|
90
|
-
ngOnChanges() {
|
91
|
-
if (!this.focus) {
|
92
|
-
this.currentValue = String(this.value).toUpperCase();
|
93
|
-
this.blurValue = String(this.value).toUpperCase();
|
94
|
-
}
|
95
|
-
else {
|
96
|
-
this.blurValue = String(this.value).toUpperCase();
|
97
|
-
}
|
98
|
-
}
|
99
|
-
ngOnDestroy() {
|
100
|
-
this.unsubscribe();
|
101
|
-
}
|
102
|
-
subscribe() {
|
103
|
-
this.mousemove = fromEvent(document, 'mousemove').subscribe((ev) => this.handleDrag(ev));
|
104
|
-
this.mouseup = fromEvent(document, 'mouseup').subscribe(() => this.unsubscribe());
|
105
|
-
}
|
106
|
-
unsubscribe() {
|
107
|
-
if (this.mousemove) {
|
108
|
-
this.mousemove.unsubscribe();
|
109
|
-
}
|
110
|
-
if (this.mouseup) {
|
111
|
-
this.mouseup.unsubscribe();
|
112
|
-
}
|
113
|
-
}
|
114
|
-
handleMousedown($event) {
|
115
|
-
if (this.dragLabel) {
|
116
|
-
$event.preventDefault();
|
117
|
-
this.handleDrag($event);
|
118
|
-
this.subscribe();
|
119
|
-
}
|
120
|
-
}
|
121
|
-
handleDrag($event) {
|
122
|
-
if (this.dragLabel) {
|
123
|
-
const newValue = Math.round(this.value + $event.movementX);
|
124
|
-
if (newValue >= 0 && newValue <= this.dragMax) {
|
125
|
-
this.onChange.emit({ data: { [this.label]: newValue }, $event });
|
126
|
-
}
|
127
|
-
}
|
128
|
-
}
|
129
|
-
}
|
130
|
-
EditableInputComponent.decorators = [
|
131
|
-
{ type: Component, args: [{
|
132
|
-
selector: 'color-editable-input',
|
133
|
-
template: `
|
134
|
-
<div class="wrap" [ngStyle]="wrapStyle">
|
135
|
-
<input
|
136
|
-
[ngStyle]="inputStyle"
|
137
|
-
spellCheck="false"
|
138
|
-
[value]="currentValue"
|
139
|
-
[placeholder]="placeholder"
|
140
|
-
(keydown)="handleKeydown($event)"
|
141
|
-
(keyup)="handleKeyup($event)"
|
142
|
-
(focus)="handleFocus($event)"
|
143
|
-
(focusout)="handleFocusOut($event)"
|
144
|
-
aria-labelledby="colorEditableInputLabel"
|
145
|
-
/>
|
146
|
-
<span id="colorEditableInputLabel" *ngIf="label" [ngStyle]="labelStyle" (mousedown)="handleMousedown($event)">
|
147
|
-
{{ label }}
|
148
|
-
</span>
|
149
|
-
</div>
|
150
|
-
`,
|
151
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
152
|
-
styles: [`
|
153
|
-
:host {
|
154
|
-
display: flex;
|
155
|
-
}
|
156
|
-
.wrap {
|
157
|
-
position: relative;
|
158
|
-
}
|
159
|
-
`]
|
160
|
-
},] }
|
161
|
-
];
|
162
|
-
EditableInputComponent.propDecorators = {
|
163
|
-
style: [{ type: Input }],
|
164
|
-
label: [{ type: Input }],
|
165
|
-
value: [{ type: Input }],
|
166
|
-
arrowOffset: [{ type: Input }],
|
167
|
-
dragLabel: [{ type: Input }],
|
168
|
-
dragMax: [{ type: Input }],
|
169
|
-
placeholder: [{ type: Input }],
|
170
|
-
onChange: [{ type: Output }]
|
171
|
-
};
|
172
|
-
export class EditableInputModule {
|
173
|
-
}
|
174
|
-
EditableInputModule.decorators = [
|
175
|
-
{ type: NgModule, args: [{
|
176
|
-
declarations: [EditableInputComponent],
|
177
|
-
exports: [EditableInputComponent],
|
178
|
-
imports: [CommonModule],
|
179
|
-
},] }
|
180
|
-
];
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21tb24vZWRpdGFibGUtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFJUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFrQy9DLE1BQU0sT0FBTyxzQkFBc0I7SUFoQ25DO1FBMkNXLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTXhDLFVBQUssR0FBRyxLQUFLLENBQUM7SUEwSGhCLENBQUM7SUF0SEMsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pFLElBQUksSUFBSSxD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dUJBQ0wsTUFBTTs7QUF1SVQsTUFBTSxPQUFPLG1CQUFtQjs7O1lBTC9CLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQzthQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ01vZHVsZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3ItZWRpdGFibGUtaW5wdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwXCIgW25nU3R5bGVdPVwid3JhcFN0eWxlXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgW25nU3R5bGVdPVwiaW5wdXRTdHlsZVwiXG4gICAgICAgIHNwZWxsQ2hlY2s9XCJmYWxzZVwiXG4gICAgICAgIFt2YWx1ZV09XCJjdXJyZW50VmFsdWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlkb3duKCRldmVudClcIlxuICAgICAgICAoa2V5dXApPVwiaGFuZGxlS2V5dXAoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJoYW5kbGVGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGZvY3Vzb3V0KT1cImhhbmRsZUZvY3VzT3V0KCRldmVudClcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJjb2xvckVkaXRhYmxlSW5wdXRMYWJlbFwiXG4gICAgICAvPlxuICAgICAgPHNwYW4gaWQ9XCJjb2xvckVkaXRhYmxlSW5wdXRMYWJlbFwiICpuZ0lmPVwibGFiZWxcIiBbbmdTdHlsZV09XCJsYWJlbFN0eWxlXCIgKG1vdXNlZG93bik9XCJoYW5kbGVNb3VzZWRvd24oJGV2ZW50KVwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgICAud3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdGFibGVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBzdHlsZSE6IHtcbiAgICB3cmFwPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBpbnB1dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICB9O1xuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWUhOiBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgpIGFycm93T2Zmc2V0ITogbnVtYmVyO1xuICBASW5wdXQoKSBkcmFnTGFiZWwhOiBib29sZWFuO1xuICBASW5wdXQoKSBkcmFnTWF4ITogbnVtYmVyO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGN1cnJlbnRWYWx1ZSE6IHN0cmluZyB8IG51bWJlcjtcbiAgYmx1clZhbHVlITogc3RyaW5nO1xuICB3cmFwU3R5bGUhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBpbnB1dFN0eWxlITogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgbGFiZWxTdHlsZSE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGZvY3VzID0gZmFsc2U7XG4gIG1vdXNlbW92ZSE6IFN1YnNjcmlwdGlvbjtcbiAgbW91c2V1cCE6IFN1YnNjcmlwdGlvbjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLndyYXBTdHlsZSA9IHRoaXMuc3R5bGUgJiYgdGhpcy5zdHlsZS53cmFwID8gdGhpcy5zdHlsZS53cmFwIDoge307XG4gICAgdGhpcy5pbnB1dFN0eWxlID0gdGhpcy5zdHlsZSAmJiB0aGlzLnN0eWxlLmlucHV0ID8gdGhpcy5zdHlsZS5pbnB1dCA6IHt9O1xuICAgIHRoaXMubGFiZWxTdHlsZSA9IHRoaXMuc3R5bGUgJiYgdGhpcy5zdHlsZS5sYWJlbCA/IHRoaXMuc3R5bGUubGFiZWwgOiB7fTtcbiAgICBpZiAodGhpcy5kcmFnTGFiZWwpIHtcbiAgICAgIHRoaXMubGFiZWxTdHlsZS5jdXJzb3IgPSAnZXctcmVzaXplJztcbiAgICB9XG4gIH1cbiAgaGFuZGxlRm9jdXMoJGV2ZW50KSB7XG4gICAgdGhpcy5mb2N1cyA9IHRydWU7XG4gIH1cbiAgaGFuZGxlRm9jdXNPdXQoJGV2ZW50KSB7XG4gICAgdGhpcy5mb2N1cyA9IGZhbHNlO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5ibHVyVmFsdWU7XG4gIH1cbiAgaGFuZGxlS2V5ZG93bigkZXZlbnQpIHtcbiAgICAvLyBJbiBjYXNlIGBlLnRhcmdldC52YWx1ZWAgaXMgYSBwZXJjZW50YWdlIHJlbW92ZSB0aGUgYCVgIGNoYXJhY3RlclxuICAgIC8vIGFuZCB1cGRhdGUgYWNjb3JkaW5nbHkgd2l0aCBhIHBlcmNlbnRhZ2VcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vY2FzZXNhbmRiZXJnL3JlYWN0LWNvbG9yL2lzc3Vlcy8zODNcbiAgICBjb25zdCBzdHJpbmdWYWx1ZSA9IFN0cmluZygkZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBjb25zdCBpc1BlcmNlbnRhZ2UgPSBzdHJpbmdWYWx1ZS5pbmRleE9mKCclJykgPiAtMTtcbiAgICBjb25zdCBudW0gPSBOdW1iZXIoc3RyaW5nVmFsdWUucmVwbGFjZSgvJS9nLCAnJykpO1xuICAgIGlmIChpc05hTihudW0pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGFtb3VudCA9IHRoaXMuYXJyb3dPZmZzZXQgfHwgMTtcblxuICAgIC8vIFVwXG4gICAgaWYgKCRldmVudC5rZXlDb2RlID09PSAzOCkge1xuICAgICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgICBkYXRhOiB7IFt0aGlzLmxhYmVsXTogbnVtICsgYW1vdW50IH0sXG4gICAgICAgICAgJGV2ZW50LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7IGRhdGE6IG51bSArIGFtb3VudCwgJGV2ZW50IH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNQZXJjZW50YWdlKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gYCR7bnVtICsgYW1vdW50fSVgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBudW0gKyBhbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG93blxuICAgIGlmICgkZXZlbnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgIGlmICh0aGlzLmxhYmVsKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgZGF0YTogeyBbdGhpcy5sYWJlbF06IG51bSAtIGFtb3VudCB9LFxuICAgICAgICAgICRldmVudCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBkYXRhOiBudW0gLSBhbW91bnQsICRldmVudCB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzUGVyY2VudGFnZSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IGAke251bSAtIGFtb3VudH0lYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gbnVtIC0gYW1vdW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBoYW5kbGVLZXl1cCgkZXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IDQwIHx8ICRldmVudC5rZXlDb2RlID09PSAzOCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYCR7dGhpcy5jdXJyZW50VmFsdWV9YCA9PT0gJGV2ZW50LnRhcmdldC52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICBkYXRhOiB7IFt0aGlzLmxhYmVsXTogJGV2ZW50LnRhcmdldC52YWx1ZSB9LFxuICAgICAgICAkZXZlbnQsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgZGF0YTogJGV2ZW50LnRhcmdldC52YWx1ZSwgJGV2ZW50IH0pO1xuICAgIH1cbiAgfVxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAoIXRoaXMuZm9jdXMpIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gU3RyaW5nKHRoaXMudmFsdWUpLnRvVXBwZXJDYXNlKCk7XG4gICAgICB0aGlzLmJsdXJWYWx1ZSA9IFN0cmluZyh0aGlzLnZhbHVlKS50b1VwcGVyQ2FzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJsdXJWYWx1ZSA9IFN0cmluZyh0aGlzLnZhbHVlKS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgc3Vic2NyaWJlKCkge1xuICAgIHRoaXMubW91c2Vtb3ZlID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2Vtb3ZlJykuc3Vic2NyaWJlKChldjogRXZlbnQpID0+IHRoaXMuaGFuZGxlRHJhZyhldikpO1xuICAgIHRoaXMubW91c2V1cCA9IGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuICB1bnN1YnNjcmliZSgpIHtcbiAgICBpZiAodGhpcy5tb3VzZW1vdmUpIHtcbiAgICAgIHRoaXMubW91c2Vtb3ZlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vdXNldXApIHtcbiAgICAgIHRoaXMubW91c2V1cC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuICBoYW5kbGVNb3VzZWRvd24oJGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLmRyYWdMYWJlbCkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmhhbmRsZURyYWcoJGV2ZW50KTtcbiAgICAgIHRoaXMuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG4gIGhhbmRsZURyYWcoJGV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJhZ0xhYmVsKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IE1hdGgucm91bmQodGhpcy52YWx1ZSArICRldmVudC5tb3ZlbWVudFgpO1xuICAgICAgaWYgKG5ld1ZhbHVlID49IDAgJiYgbmV3VmFsdWUgPD0gdGhpcy5kcmFnTWF4KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7IGRhdGE6IHsgW3RoaXMubGFiZWxdOiBuZXdWYWx1ZSB9LCAkZXZlbnQgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0VkaXRhYmxlSW5wdXRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbRWRpdGFibGVJbnB1dENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0YWJsZUlucHV0TW9kdWxlIHt9XG4iXX0=
|
package/esm2015/hue.component.js
DELETED
@@ -1,140 +0,0 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, NgModule, Output, } from '@angular/core';
|
3
|
-
import { CoordinatesModule } from './coordinates.directive';
|
4
|
-
export class HueComponent {
|
5
|
-
constructor() {
|
6
|
-
this.hidePointer = false;
|
7
|
-
this.direction = 'horizontal';
|
8
|
-
this.onChange = new EventEmitter();
|
9
|
-
this.left = '0px';
|
10
|
-
this.top = '';
|
11
|
-
}
|
12
|
-
ngOnChanges() {
|
13
|
-
if (this.direction === 'horizontal') {
|
14
|
-
this.left = `${this.hsl.h * 100 / 360}%`;
|
15
|
-
}
|
16
|
-
else {
|
17
|
-
this.top = `${-(this.hsl.h * 100 / 360) + 100}%`;
|
18
|
-
}
|
19
|
-
}
|
20
|
-
handleChange({ top, left, containerHeight, containerWidth, $event }) {
|
21
|
-
let data;
|
22
|
-
if (this.direction === 'vertical') {
|
23
|
-
let h;
|
24
|
-
if (top < 0) {
|
25
|
-
h = 359;
|
26
|
-
}
|
27
|
-
else if (top > containerHeight) {
|
28
|
-
h = 0;
|
29
|
-
}
|
30
|
-
else {
|
31
|
-
const percent = -(top * 100 / containerHeight) + 100;
|
32
|
-
h = 360 * percent / 100;
|
33
|
-
}
|
34
|
-
if (this.hsl.h !== h) {
|
35
|
-
data = {
|
36
|
-
h,
|
37
|
-
s: this.hsl.s,
|
38
|
-
l: this.hsl.l,
|
39
|
-
a: this.hsl.a,
|
40
|
-
source: 'rgb',
|
41
|
-
};
|
42
|
-
}
|
43
|
-
}
|
44
|
-
else {
|
45
|
-
let h;
|
46
|
-
if (left < 0) {
|
47
|
-
h = 0;
|
48
|
-
}
|
49
|
-
else if (left > containerWidth) {
|
50
|
-
h = 359;
|
51
|
-
}
|
52
|
-
else {
|
53
|
-
const percent = left * 100 / containerWidth;
|
54
|
-
h = 360 * percent / 100;
|
55
|
-
}
|
56
|
-
if (this.hsl.h !== h) {
|
57
|
-
data = {
|
58
|
-
h,
|
59
|
-
s: this.hsl.s,
|
60
|
-
l: this.hsl.l,
|
61
|
-
a: this.hsl.a,
|
62
|
-
source: 'rgb',
|
63
|
-
};
|
64
|
-
}
|
65
|
-
}
|
66
|
-
if (!data) {
|
67
|
-
return;
|
68
|
-
}
|
69
|
-
this.onChange.emit({ data, $event });
|
70
|
-
}
|
71
|
-
}
|
72
|
-
HueComponent.decorators = [
|
73
|
-
{ type: Component, args: [{
|
74
|
-
selector: 'color-hue',
|
75
|
-
template: `
|
76
|
-
<div class="color-hue color-hue-{{direction}}" [style.border-radius.px]="radius" [style.box-shadow]="shadow">
|
77
|
-
<div ngx-color-coordinates (coordinatesChange)="handleChange($event)" class="color-hue-container">
|
78
|
-
<div class="color-hue-pointer" [style.left]="left" [style.top]="top" *ngIf="!hidePointer">
|
79
|
-
<div class="color-hue-slider" [ngStyle]="pointer"></div>
|
80
|
-
</div>
|
81
|
-
</div>
|
82
|
-
</div>
|
83
|
-
`,
|
84
|
-
preserveWhitespaces: false,
|
85
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
86
|
-
styles: [`
|
87
|
-
.color-hue {
|
88
|
-
position: absolute;
|
89
|
-
top: 0;
|
90
|
-
bottom: 0;
|
91
|
-
left: 0;
|
92
|
-
right: 0;
|
93
|
-
}
|
94
|
-
.color-hue-container {
|
95
|
-
margin: 0 2px;
|
96
|
-
position: relative;
|
97
|
-
height: 100%;
|
98
|
-
}
|
99
|
-
.color-hue-pointer {
|
100
|
-
position: absolute;
|
101
|
-
}
|
102
|
-
.color-hue-slider {
|
103
|
-
margin-top: 1px;
|
104
|
-
width: 4px;
|
105
|
-
border-radius: 1px;
|
106
|
-
height: 8px;
|
107
|
-
box-shadow: 0 0 2px rgba(0, 0, 0, .6);
|
108
|
-
background: #fff;
|
109
|
-
transform: translateX(-2px);
|
110
|
-
}
|
111
|
-
.color-hue-horizontal {
|
112
|
-
background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0
|
113
|
-
33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
|
114
|
-
}
|
115
|
-
.color-hue-vertical {
|
116
|
-
background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,
|
117
|
-
#0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
|
118
|
-
}
|
119
|
-
`]
|
120
|
-
},] }
|
121
|
-
];
|
122
|
-
HueComponent.propDecorators = {
|
123
|
-
hsl: [{ type: Input }],
|
124
|
-
pointer: [{ type: Input }],
|
125
|
-
radius: [{ type: Input }],
|
126
|
-
shadow: [{ type: Input }],
|
127
|
-
hidePointer: [{ type: Input }],
|
128
|
-
direction: [{ type: Input }],
|
129
|
-
onChange: [{ type: Output }]
|
130
|
-
};
|
131
|
-
export class HueModule {
|
132
|
-
}
|
133
|
-
HueModule.decorators = [
|
134
|
-
{ type: NgModule, args: [{
|
135
|
-
declarations: [HueComponent],
|
136
|
-
exports: [HueComponent],
|
137
|
-
imports: [CommonModule, CoordinatesModule],
|
138
|
-
},] }
|
139
|
-
];
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29tbW9uL2h1ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQXFENUQsTUFBTSxPQUFPLFlBQVk7SUFsRHpCO1FBdURXLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGNBQVMsR0FBOEIsWUFBWSxDQUFDO1FBQ25ELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBdUMsQ0FBQztRQUM3RSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsUUFBRyxHQUFHLEVBQUUsQ0FBQztJQTJEWCxDQUFDO0lBekRDLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssWUFBWSxFQUFFO1lBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUNELFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUU7UUFDakUsSUFBSSxJQUE0QixDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDakMsSUFBSSxDQUFTLENBQUM7WUFDZCxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUU7Z0JBQ1gsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUNUO2lCQUFNLElBQUksR0FBRyxHQUFHLGVBQWUsRUFBRTtnQkFDaEMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNQO2lCQUFNO2dCQUNMLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLGVBQWUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDckQsQ0FBQyxHQUFHLEdBQUcsR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDO2FBQ3pCO1lBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BCLElBQUksR0FBRztvQkFDTCxDQUFDO29CQUNELENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2IsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDYixDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNiLE1BQU0sRUFBRSxLQUFLO2lCQUNkLENBQUM7YUFDSDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQVMsQ0FBQztZQUNkLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtnQkFDWixDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ1A7aUJBQU0sSUFBSSxJQUFJLEdBQUcsY0FBYyxFQUFFO2dCQUNoQyxDQUFDLEdBQUcsR0FBRyxDQUFDO2FBQ1Q7aUJBQU07Z0JBQ0wsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxjQUFjLENBQUM7Z0JBQzVDLENBQUMsR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQzthQUN6QjtZQUVELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwQixJQUFJLEdBQUc7b0JBQ0wsQ0FBQztvQkFDRCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNiLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2IsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDYixNQUFNLEVBQUUsS0FBSztpQkFDZCxDQUFDO2FBQ0g7U0FDRjtRQUVELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OztZQXJIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFFBQVEsRUFBRTs7Ozs7Ozs7R0FRVDtnQkFxQ0QsbUJBQW1CLEVBQUUsS0FBSztnQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07eUJBcEM3Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNEO2FBSUY7OztrQkFFRSxLQUFLO3NCQUNMLEtBQUs7cUJBQ0wsS0FBSztxQkFDTCxLQUFLOzBCQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxNQUFNOztBQW9FVCxNQUFNLE9BQU8sU0FBUzs7O1lBTHJCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDO2FBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nTW9kdWxlLFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvb3JkaW5hdGVzTW9kdWxlIH0gZnJvbSAnLi9jb29yZGluYXRlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSFNMQSwgSFNMQXNvdXJjZSB9IGZyb20gJy4vaGVscGVycy9jb2xvci5pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3ItaHVlJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBjbGFzcz1cImNvbG9yLWh1ZSBjb2xvci1odWUte3tkaXJlY3Rpb259fVwiIFtzdHlsZS5ib3JkZXItcmFkaXVzLnB4XT1cInJhZGl1c1wiIFtzdHlsZS5ib3gtc2hhZG93XT1cInNoYWRvd1wiPlxuICAgIDxkaXYgbmd4LWNvbG9yLWNvb3JkaW5hdGVzIChjb29yZGluYXRlc0NoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiIGNsYXNzPVwiY29sb3ItaHVlLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbG9yLWh1ZS1wb2ludGVyXCIgW3N0eWxlLmxlZnRdPVwibGVmdFwiIFtzdHlsZS50b3BdPVwidG9wXCIgKm5nSWY9XCIhaGlkZVBvaW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbG9yLWh1ZS1zbGlkZXJcIiBbbmdTdHlsZV09XCJwb2ludGVyXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAuY29sb3ItaHVlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgLmNvbG9yLWh1ZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgLmNvbG9yLWh1ZS1wb2ludGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLmNvbG9yLWh1ZS1zbGlkZXIge1xuICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIC42KTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7XG4gICAgfVxuICAgIC5jb2xvci1odWUtaG9yaXpvbnRhbCB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmMDAgMCUsICNmZjAgMTclLCAjMGYwXG4gICAgICAgIDMzJSwgIzBmZiA1MCUsICMwMGYgNjclLCAjZjBmIDgzJSwgI2YwMCAxMDAlKTtcbiAgICB9XG4gICAgLmNvbG9yLWh1ZS12ZXJ0aWNhbCB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZjAwIDAlLCAjZmYwIDE3JSwgIzBmMCAzMyUsXG4gICAgICAgICMwZmYgNTAlLCAjMDBmIDY3JSwgI2YwZiA4MyUsICNmMDAgMTAwJSk7XG4gICAgfVxuICBgLFxuICBdLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEh1ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGhzbCE6IEhTTEE7XG4gIEBJbnB1dCgpIHBvaW50ZXIhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBASW5wdXQoKSByYWRpdXMhOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNoYWRvdyE6IHN0cmluZztcbiAgQElucHV0KCkgaGlkZVBvaW50ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZGF0YTogSFNMQXNvdXJjZTsgJGV2ZW50OiBFdmVudCB9PigpO1xuICBsZWZ0ID0gJzBweCc7XG4gIHRvcCA9ICcnO1xuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICB0aGlzLmxlZnQgPSBgJHt0aGlzLmhzbC5oICogMTAwIC8gMzYwfSVgO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRvcCA9IGAkey0odGhpcy5oc2wuaCAqIDEwMCAvIDM2MCkgKyAxMDB9JWA7XG4gICAgfVxuICB9XG4gIGhhbmRsZUNoYW5nZSh7IHRvcCwgbGVmdCwgY29udGFpbmVySGVpZ2h0LCBjb250YWluZXJXaWR0aCwgJGV2ZW50IH0pOiB2b2lkIHtcbiAgICBsZXQgZGF0YTogSFNMQXNvdXJjZSB8IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIGxldCBoOiBudW1iZXI7XG4gICAgICBpZiAodG9wIDwgMCkge1xuICAgICAgICBoID0gMzU5O1xuICAgICAgfSBlbHNlIGlmICh0b3AgPiBjb250YWluZXJIZWlnaHQpIHtcbiAgICAgICAgaCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwZXJjZW50ID0gLSh0b3AgKiAxMDAgLyBjb250YWluZXJIZWlnaHQpICsgMTAwO1xuICAgICAgICBoID0gMzYwICogcGVyY2VudCAvIDEwMDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaHNsLmggIT09IGgpIHtcbiAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICBoLFxuICAgICAgICAgIHM6IHRoaXMuaHNsLnMsXG4gICAgICAgICAgbDogdGhpcy5oc2wubCxcbiAgICAgICAgICBhOiB0aGlzLmhzbC5hLFxuICAgICAgICAgIHNvdXJjZTogJ3JnYicsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBoOiBudW1iZXI7XG4gICAgICBpZiAobGVmdCA8IDApIHtcbiAgICAgICAgaCA9IDA7XG4gICAgICB9IGVsc2UgaWYgKGxlZnQgPiBjb250YWluZXJXaWR0aCkge1xuICAgICAgICBoID0gMzU5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcGVyY2VudCA9IGxlZnQgKiAxMDAgLyBjb250YWluZXJXaWR0aDtcbiAgICAgICAgaCA9IDM2MCAqIHBlcmNlbnQgLyAxMDA7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmhzbC5oICE9PSBoKSB7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgaCxcbiAgICAgICAgICBzOiB0aGlzLmhzbC5zLFxuICAgICAgICAgIGw6IHRoaXMuaHNsLmwsXG4gICAgICAgICAgYTogdGhpcy5oc2wuYSxcbiAgICAgICAgICBzb3VyY2U6ICdyZ2InLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7IGRhdGEsICRldmVudCB9KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtIdWVDb21wb25lbnRdLFxuICBleHBvcnRzOiBbSHVlQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29vcmRpbmF0ZXNNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBIdWVNb2R1bGUge31cbiJdfQ==
|
@@ -1,73 +0,0 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, NgModule } from '@angular/core';
|
3
|
-
export class RaisedComponent {
|
4
|
-
constructor() {
|
5
|
-
this.zDepth = 1;
|
6
|
-
this.radius = 1;
|
7
|
-
this.background = '#fff';
|
8
|
-
}
|
9
|
-
}
|
10
|
-
RaisedComponent.decorators = [
|
11
|
-
{ type: Component, args: [{
|
12
|
-
selector: 'color-raised',
|
13
|
-
template: `
|
14
|
-
<div class="raised-wrap">
|
15
|
-
<div class="raised-bg zDepth-{{zDepth}}" [style.background]="background"></div>
|
16
|
-
<div class="raised-content">
|
17
|
-
<ng-content></ng-content>
|
18
|
-
</div>
|
19
|
-
</div>
|
20
|
-
`,
|
21
|
-
preserveWhitespaces: false,
|
22
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
23
|
-
styles: [`
|
24
|
-
.raised-wrap {
|
25
|
-
position: relative;
|
26
|
-
display: inline-block;
|
27
|
-
}
|
28
|
-
.raised-bg {
|
29
|
-
position: absolute;
|
30
|
-
top: 0px;
|
31
|
-
right: 0px;
|
32
|
-
bottom: 0px;
|
33
|
-
left: 0px;
|
34
|
-
}
|
35
|
-
.raised-content {
|
36
|
-
position: relative;
|
37
|
-
}
|
38
|
-
.zDepth-0 {
|
39
|
-
box-shadow: none;
|
40
|
-
}
|
41
|
-
.zDepth-1 {
|
42
|
-
box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);
|
43
|
-
}
|
44
|
-
.zDepth-2 {
|
45
|
-
box-shadow: 0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2);
|
46
|
-
}
|
47
|
-
.zDepth-3 {
|
48
|
-
box-shadow: 0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24);
|
49
|
-
}
|
50
|
-
.zDepth-4 {
|
51
|
-
box-shadow: 0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22);
|
52
|
-
}
|
53
|
-
.zDepth-5 {
|
54
|
-
box-shadow: 0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2);
|
55
|
-
}
|
56
|
-
`]
|
57
|
-
},] }
|
58
|
-
];
|
59
|
-
RaisedComponent.propDecorators = {
|
60
|
-
zDepth: [{ type: Input }],
|
61
|
-
radius: [{ type: Input }],
|
62
|
-
background: [{ type: Input }]
|
63
|
-
};
|
64
|
-
export class RaisedModule {
|
65
|
-
}
|
66
|
-
RaisedModule.decorators = [
|
67
|
-
{ type: NgModule, args: [{
|
68
|
-
declarations: [RaisedComponent],
|
69
|
-
exports: [RaisedComponent],
|
70
|
-
imports: [CommonModule],
|
71
|
-
},] }
|
72
|
-
];
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFpc2VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29tbW9uL3JhaXNlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1EcEYsTUFBTSxPQUFPLGVBQWU7SUEvQzVCO1FBZ0RXLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLGVBQVUsR0FBRyxNQUFNLENBQUM7SUFDL0IsQ0FBQzs7O1lBbkRBLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7Z0JBbUNELG1CQUFtQixFQUFFLEtBQUs7Z0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO3lCQW5DdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDUjthQUdGOzs7cUJBRUUsS0FBSztxQkFDTCxLQUFLO3lCQUNMLEtBQUs7O0FBUVIsTUFBTSxPQUFPLFlBQVk7OztZQUx4QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUMvQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQzthQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgekRlcHRoID0gMCB8IDEgfCAyIHwgMyB8IDQgfCA1O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1yYWlzZWQnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwicmFpc2VkLXdyYXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwicmFpc2VkLWJnIHpEZXB0aC17e3pEZXB0aH19XCIgW3N0eWxlLmJhY2tncm91bmRdPVwiYmFja2dyb3VuZFwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyYWlzZWQtY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5yYWlzZWQtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIC5yYWlzZWQtYmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwcHg7XG4gICAgICByaWdodDogMHB4O1xuICAgICAgYm90dG9tOiAwcHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgfVxuICAgIC5yYWlzZWQtY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC56RGVwdGgtMCB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAuekRlcHRoLTEge1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsMCwwLC4xMiksIDAgMnB4IDVweCByZ2JhKDAsMCwwLC4xNik7XG4gICAgfVxuICAgIC56RGVwdGgtMiB7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAyMHB4IHJnYmEoMCwwLDAsLjE5KSwgMCA4cHggMTdweCByZ2JhKDAsMCwwLC4yKTtcbiAgICB9XG4gICAgLnpEZXB0aC0zIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTdweCA1MHB4IHJnYmEoMCwwLDAsLjE5KSwgMCAxMnB4IDE1cHggcmdiYSgwLDAsMCwuMjQpO1xuICAgIH1cbiAgICAuekRlcHRoLTQge1xuICAgICAgYm94LXNoYWRvdzogMCAyNXB4IDU1cHggcmdiYSgwLDAsMCwuMjEpLCAwIDE2cHggMjhweCByZ2JhKDAsMCwwLC4yMik7XG4gICAgfVxuICAgIC56RGVwdGgtNSB7XG4gICAgICBib3gtc2hhZG93OiAwIDQwcHggNzdweCByZ2JhKDAsMCwwLC4yMiksIDAgMjdweCAyNHB4IHJnYmEoMCwwLDAsLjIpO1xuICAgIH1cbiAgYF0sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmFpc2VkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgekRlcHRoOiB6RGVwdGggPSAxO1xuICBASW5wdXQoKSByYWRpdXMgPSAxO1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kID0gJyNmZmYnO1xufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtSYWlzZWRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbUmFpc2VkQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJhaXNlZE1vZHVsZSB7IH1cbiJdfQ==
|