ngx-color 7.0.2 → 7.3.1
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/ngx-color-alpha.d.ts +2 -1
- package/alpha/package.json +6 -10
- package/alpha/public_api.d.ts +1 -0
- package/alpha.component.d.ts +9 -0
- package/block/block-swatches.component.d.ts +13 -8
- package/block/block.component.d.ts +9 -0
- package/block/ngx-color-block.d.ts +2 -2
- package/block/package.json +6 -10
- 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/ngx-color-chrome.d.ts +2 -2
- package/chrome/package.json +6 -10
- 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/ngx-color-circle.d.ts +2 -2
- package/circle/package.json +9 -10
- 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/ngx-color-compact.d.ts +2 -3
- package/compact/package.json +6 -10
- package/compact/public_api.d.ts +3 -0
- package/coordinates.directive.d.ts +6 -0
- package/editable-input.component.d.ts +7 -0
- package/esm2020/alpha/alpha-picker.component.mjs +116 -0
- package/esm2020/alpha/ngx-color-alpha.mjs +5 -0
- package/esm2020/alpha/public_api.mjs +2 -0
- package/esm2020/alpha.component.mjs +186 -0
- package/esm2020/block/block-swatches.component.mjs +74 -0
- package/esm2020/block/block.component.mjs +199 -0
- package/esm2020/block/ngx-color-block.mjs +5 -0
- package/esm2020/block/public_api.mjs +3 -0
- package/esm2020/checkboard.component.mjs +66 -0
- package/esm2020/chrome/chrome-fields.component.mjs +356 -0
- package/esm2020/chrome/chrome.component.mjs +249 -0
- package/esm2020/chrome/ngx-color-chrome.mjs +5 -0
- package/esm2020/chrome/public_api.mjs +3 -0
- package/esm2020/circle/circle-swatch.component.mjs +85 -0
- package/esm2020/circle/circle.component.mjs +148 -0
- package/esm2020/circle/ngx-color-circle.mjs +5 -0
- package/esm2020/circle/public_api.mjs +3 -0
- package/esm2020/color-wrap.component.mjs +163 -0
- package/esm2020/compact/compact-color.component.mjs +91 -0
- package/esm2020/compact/compact-fields.component.mjs +186 -0
- package/esm2020/compact/compact.component.mjs +177 -0
- package/esm2020/compact/ngx-color-compact.mjs +5 -0
- package/esm2020/compact/public_api.mjs +4 -0
- package/esm2020/coordinates.directive.mjs +104 -0
- package/esm2020/editable-input.component.mjs +217 -0
- package/esm2020/github/github-swatch.component.mjs +67 -0
- package/esm2020/github/github.component.mjs +179 -0
- package/esm2020/github/ngx-color-github.mjs +5 -0
- package/esm2020/github/public_api.mjs +3 -0
- package/esm2020/helpers/checkboard.mjs +33 -0
- package/esm2020/helpers/color.interfaces.mjs +2 -0
- package/esm2020/helpers/color.mjs +60 -0
- package/esm2020/hue/hue-picker.component.mjs +113 -0
- package/esm2020/hue/ngx-color-hue.mjs +5 -0
- package/esm2020/hue/public_api.mjs +2 -0
- package/esm2020/hue.component.mjs +165 -0
- package/esm2020/material/material.component.mjs +211 -0
- package/esm2020/material/ngx-color-material.mjs +5 -0
- package/esm2020/material/public_api.mjs +2 -0
- package/esm2020/ngx-color.mjs +5 -0
- package/esm2020/photoshop/ngx-color-photoshop.mjs +5 -0
- package/esm2020/photoshop/photoshop-button.component.mjs +63 -0
- package/esm2020/photoshop/photoshop-fields.component.mjs +241 -0
- package/esm2020/photoshop/photoshop-previews.component.mjs +68 -0
- package/esm2020/photoshop/photoshop.component.mjs +258 -0
- package/esm2020/photoshop/public_api.mjs +5 -0
- package/esm2020/public_api.mjs +14 -0
- package/esm2020/raised.component.mjs +89 -0
- package/esm2020/saturation.component.mjs +136 -0
- package/esm2020/shade/ngx-color-shade.mjs +5 -0
- package/esm2020/shade/public_api.mjs +2 -0
- package/esm2020/shade/shade-picker.component.mjs +105 -0
- package/esm2020/shade.component.mjs +165 -0
- package/esm2020/sketch/ngx-color-sketch.mjs +5 -0
- package/esm2020/sketch/public_api.mjs +4 -0
- package/esm2020/sketch/sketch-fields.component.mjs +243 -0
- package/esm2020/sketch/sketch-preset-colors.component.mjs +98 -0
- package/esm2020/sketch/sketch.component.mjs +283 -0
- package/esm2020/slider/ngx-color-slider.mjs +5 -0
- package/esm2020/slider/public_api.mjs +4 -0
- package/esm2020/slider/slider-swatch.component.mjs +80 -0
- package/esm2020/slider/slider-swatches.component.mjs +135 -0
- package/esm2020/slider/slider.component.mjs +116 -0
- package/esm2020/swatch.component.mjs +125 -0
- package/esm2020/swatches/ngx-color-swatches.mjs +5 -0
- package/esm2020/swatches/public_api.mjs +4 -0
- package/esm2020/swatches/swatches-color.component.mjs +123 -0
- package/esm2020/swatches/swatches-group.component.mjs +64 -0
- package/esm2020/swatches/swatches.component.mjs +258 -0
- package/esm2020/twitter/ngx-color-twitter.mjs +5 -0
- package/esm2020/twitter/public_api.mjs +2 -0
- package/esm2020/twitter/twitter.component.mjs +255 -0
- package/fesm2015/ngx-color-alpha.mjs +123 -0
- package/fesm2015/ngx-color-alpha.mjs.map +1 -0
- package/fesm2015/ngx-color-block.mjs +275 -0
- package/fesm2015/ngx-color-block.mjs.map +1 -0
- package/fesm2015/ngx-color-chrome.mjs +606 -0
- package/fesm2015/ngx-color-chrome.mjs.map +1 -0
- package/fesm2015/ngx-color-circle.mjs +237 -0
- package/fesm2015/ngx-color-circle.mjs.map +1 -0
- package/fesm2015/ngx-color-compact.mjs +451 -0
- package/fesm2015/ngx-color-compact.mjs.map +1 -0
- package/fesm2015/ngx-color-github.mjs +250 -0
- package/fesm2015/ngx-color-github.mjs.map +1 -0
- package/fesm2015/ngx-color-hue.mjs +120 -0
- package/fesm2015/ngx-color-hue.mjs.map +1 -0
- package/fesm2015/ngx-color-material.mjs +218 -0
- package/fesm2015/ngx-color-material.mjs.map +1 -0
- package/fesm2015/ngx-color-photoshop.mjs +626 -0
- package/fesm2015/ngx-color-photoshop.mjs.map +1 -0
- package/fesm2015/ngx-color-shade.mjs +112 -0
- package/fesm2015/ngx-color-shade.mjs.map +1 -0
- package/fesm2015/ngx-color-sketch.mjs +620 -0
- package/fesm2015/ngx-color-sketch.mjs.map +1 -0
- package/fesm2015/ngx-color-slider.mjs +331 -0
- package/fesm2015/ngx-color-slider.mjs.map +1 -0
- package/fesm2015/ngx-color-swatches.mjs +441 -0
- package/fesm2015/ngx-color-swatches.mjs.map +1 -0
- package/fesm2015/ngx-color-twitter.mjs +262 -0
- package/fesm2015/ngx-color-twitter.mjs.map +1 -0
- package/fesm2015/ngx-color.mjs +1461 -0
- package/fesm2015/ngx-color.mjs.map +1 -0
- package/fesm2020/ngx-color-alpha.mjs +123 -0
- package/fesm2020/ngx-color-alpha.mjs.map +1 -0
- package/fesm2020/ngx-color-block.mjs +275 -0
- package/fesm2020/ngx-color-block.mjs.map +1 -0
- package/fesm2020/ngx-color-chrome.mjs +606 -0
- package/fesm2020/ngx-color-chrome.mjs.map +1 -0
- package/fesm2020/ngx-color-circle.mjs +237 -0
- package/fesm2020/ngx-color-circle.mjs.map +1 -0
- package/fesm2020/ngx-color-compact.mjs +451 -0
- package/fesm2020/ngx-color-compact.mjs.map +1 -0
- package/fesm2020/ngx-color-github.mjs +250 -0
- package/fesm2020/ngx-color-github.mjs.map +1 -0
- package/fesm2020/ngx-color-hue.mjs +120 -0
- package/fesm2020/ngx-color-hue.mjs.map +1 -0
- package/fesm2020/ngx-color-material.mjs +218 -0
- package/fesm2020/ngx-color-material.mjs.map +1 -0
- package/fesm2020/ngx-color-photoshop.mjs +626 -0
- package/fesm2020/ngx-color-photoshop.mjs.map +1 -0
- package/fesm2020/ngx-color-shade.mjs +112 -0
- package/fesm2020/ngx-color-shade.mjs.map +1 -0
- package/fesm2020/ngx-color-sketch.mjs +620 -0
- package/fesm2020/ngx-color-sketch.mjs.map +1 -0
- package/fesm2020/ngx-color-slider.mjs +331 -0
- package/fesm2020/ngx-color-slider.mjs.map +1 -0
- package/fesm2020/ngx-color-swatches.mjs +441 -0
- package/fesm2020/ngx-color-swatches.mjs.map +1 -0
- package/fesm2020/ngx-color-twitter.mjs +262 -0
- package/fesm2020/ngx-color-twitter.mjs.map +1 -0
- package/fesm2020/ngx-color.mjs +1466 -0
- package/fesm2020/ngx-color.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 +6 -10
- package/github/public_api.d.ts +2 -0
- package/hue/hue-picker.component.d.ts +8 -0
- package/hue/ngx-color-hue.d.ts +2 -1
- package/hue/package.json +6 -10
- package/hue/public_api.d.ts +1 -0
- package/hue.component.d.ts +8 -0
- package/material/material.component.d.ts +8 -0
- package/material/ngx-color-material.d.ts +2 -1
- package/material/package.json +6 -10
- package/material/public_api.d.ts +1 -0
- package/ngx-color.d.ts +1 -0
- package/package.json +137 -14
- package/photoshop/ngx-color-photoshop.d.ts +2 -4
- package/photoshop/package.json +6 -10
- 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/ngx-color-shade.d.ts +2 -1
- package/shade/package.json +6 -10
- 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/ngx-color-sketch.d.ts +2 -3
- package/sketch/package.json +6 -10
- 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/ngx-color-slider.d.ts +2 -3
- package/slider/package.json +6 -10
- 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/ngx-color-swatches.d.ts +2 -3
- package/swatches/package.json +9 -10
- 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/ngx-color-twitter.d.ts +2 -1
- package/twitter/package.json +6 -10
- package/twitter/public_api.d.ts +1 -0
- package/twitter/twitter.component.d.ts +8 -0
- package/LICENSE +0 -21
- package/README.md +0 -280
- 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/esm2015/ngx-color-alpha.js +0 -5
- 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 -953
- 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 -183
- package/esm2015/helpers/checkboard.js +0 -33
- package/esm2015/helpers/color.interfaces.js +0 -2
- package/esm2015/helpers/color.js +0 -60
- package/esm2015/hue.component.js +0 -140
- package/esm2015/ngx-color.js +0 -5
- package/esm2015/public_api.js +0 -14
- 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 -1166
- 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/esm2015/ngx-color-hue.js +0 -5
- 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/esm2015/ngx-color-material.js +0 -5
- 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/ngx-color-shade.js +0 -5
- 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/ngx-color-twitter.js +0 -5
- 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
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ngx-color.mjs","sources":["../../src/lib/helpers/checkboard.ts","../../src/lib/checkboard.component.ts","../../src/lib/coordinates.directive.ts","../../src/lib/alpha.component.ts","../../src/lib/helpers/color.ts","../../src/lib/color-wrap.component.ts","../../src/lib/editable-input.component.ts","../../src/lib/hue.component.ts","../../src/lib/raised.component.ts","../../src/lib/saturation.component.ts","../../src/lib/swatch.component.ts","../../src/lib/shade.component.ts","../../src/lib/ngx-color.ts"],"sourcesContent":["const checkboardCache: {[key: string]: string} = {};\n\nexport function render(c1: string, c2: string, size: number) {\n if (typeof document === 'undefined') {\n return null;\n }\n const canvas = document.createElement('canvas');\n canvas.width = size * 2;\n canvas.height = size * 2;\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n return null;\n } // If no context can be found, return early.\n ctx.fillStyle = c1;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.fillStyle = c2;\n ctx.fillRect(0, 0, size, size);\n ctx.translate(size, size);\n ctx.fillRect(0, 0, size, size);\n return canvas.toDataURL();\n}\n\nexport function getCheckerboard(c1: string, c2: string, size: number) {\n const key = `${c1}-${c2}-${size}`;\n if (checkboardCache[key]) {\n return checkboardCache[key];\n }\n const checkboard = render(c1, c2, size);\n if (!checkboard) {\n return null;\n }\n checkboardCache[key] = checkboard;\n return checkboard;\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n NgModule,\n OnInit,\n} from '@angular/core';\n\nimport { getCheckerboard } from './helpers/checkboard';\n\n@Component({\n selector: 'color-checkboard',\n template: `<div class=\"grid\" [ngStyle]=\"gridStyles\"></div>`,\n styles: [\n `\n .grid {\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n position: absolute;\n }\n `,\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckboardComponent implements OnInit {\n @Input() white = 'transparent';\n @Input() size = 8;\n @Input() grey = 'rgba(0,0,0,.08)';\n @Input() boxShadow!: string;\n @Input() borderRadius!: string;\n gridStyles!: Record<string, string>;\n\n ngOnInit() {\n const background = getCheckerboard(this.white, this.grey, this.size);\n this.gridStyles = {\n borderRadius: this.borderRadius,\n boxShadow: this.boxShadow,\n background: `url(${background}) center left`,\n };\n }\n}\n\n@NgModule({\n declarations: [CheckboardComponent],\n exports: [CheckboardComponent],\n imports: [CommonModule],\n})\nexport class CheckboardModule {}\n","import {\n Directive,\n ElementRef,\n HostListener,\n NgModule,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Directive({ selector: '[ngx-color-coordinates]' })\nexport class CoordinatesDirective implements OnInit, OnDestroy {\n @Output()\n coordinatesChange = new Subject<{\n x: number;\n y: number;\n top: number;\n left: number;\n containerWidth: number;\n containerHeight: number;\n $event: any;\n }>();\n private mousechange = new Subject<{\n x: number;\n y: number;\n $event: any;\n isTouch: boolean;\n }>();\n\n private mouseListening = false;\n private sub!: Subscription;\n @HostListener('window:mousemove', ['$event', '$event.pageX', '$event.pageY'])\n @HostListener('window:touchmove', [\n '$event',\n '$event.touches[0].clientX',\n '$event.touches[0].clientY',\n 'true',\n ])\n mousemove($event: Event, x: number, y: number, isTouch = false) {\n if (this.mouseListening) {\n $event.preventDefault();\n this.mousechange.next({ $event, x, y, isTouch });\n }\n }\n @HostListener('window:mouseup')\n @HostListener('window:touchend')\n mouseup() {\n this.mouseListening = false;\n }\n @HostListener('mousedown', ['$event', '$event.pageX', '$event.pageY'])\n @HostListener('touchstart', [\n '$event',\n '$event.touches[0].clientX',\n '$event.touches[0].clientY',\n 'true',\n ])\n mousedown($event: Event, x: number, y: number, isTouch = false) {\n $event.preventDefault();\n this.mouseListening = true;\n this.mousechange.next({ $event, x, y, isTouch });\n }\n\n constructor(private el: ElementRef) {}\n\n ngOnInit() {\n this.sub = this.mousechange\n .pipe(\n // limit times it is updated for the same area\n distinctUntilChanged((p, q) => p.x === q.x && p.y === q.y),\n )\n .subscribe(n => this.handleChange(n.x, n.y, n.$event, n.isTouch));\n }\n\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n\n handleChange(x: number, y: number, $event: Event, isTouch: boolean) {\n const containerWidth = this.el.nativeElement.clientWidth;\n const containerHeight = this.el.nativeElement.clientHeight;\n const left =\n x -\n (this.el.nativeElement.getBoundingClientRect().left + window.pageXOffset);\n let top = y - this.el.nativeElement.getBoundingClientRect().top;\n\n if (!isTouch) {\n top = top - window.pageYOffset;\n }\n this.coordinatesChange.next({\n x,\n y,\n top,\n left,\n containerWidth,\n containerHeight,\n $event,\n });\n }\n}\n\n@NgModule({\n declarations: [CoordinatesDirective],\n exports: [CoordinatesDirective],\n})\nexport class CoordinatesModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core';\n\nimport { CheckboardModule } from './checkboard.component';\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, RGBA } from './helpers/color.interfaces';\n\n@Component({\n selector: 'color-alpha',\n template: `\n <div class=\"alpha\" [style.border-radius]=\"radius\">\n <div class=\"alpha-checkboard\">\n <color-checkboard></color-checkboard>\n </div>\n <div class=\"alpha-gradient\" [ngStyle]=\"gradient\" [style.box-shadow]=\"shadow\" [style.border-radius]=\"radius\"></div>\n <div ngx-color-coordinates (coordinatesChange)=\"handleChange($event)\" class=\"alpha-container color-alpha-{{direction}}\">\n <div class=\"alpha-pointer\" [style.left.%]=\"pointerLeft\" [style.top.%]=\"pointerTop\">\n <div class=\"alpha-slider\" [ngStyle]=\"pointer\"></div>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .alpha {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .alpha-checkboard {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n }\n .alpha-gradient {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .alpha-container {\n position: relative;\n height: 100%;\n margin: 0 3px;\n }\n .alpha-pointer {\n position: absolute;\n }\n .alpha-slider {\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n margin-top: 1px;\n transform: translateX(-2px);\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n})\nexport class AlphaComponent implements OnChanges {\n @Input() hsl!: HSLA;\n @Input() rgb!: RGBA;\n @Input() pointer!: Record<string, string>;\n @Input() shadow!: string;\n @Input() radius!: number | string;\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n @Output() onChange = new EventEmitter<any>();\n gradient!: Record<string, string>;\n pointerLeft!: number;\n pointerTop!: number;\n\n ngOnChanges() {\n if (this.direction === 'vertical') {\n this.pointerLeft = 0;\n this.pointerTop = this.rgb.a * 100;\n this.gradient = {\n background: `linear-gradient(to bottom, rgba(${this.rgb.r},${\n this.rgb.g\n },${this.rgb.b}, 0) 0%,\n rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 1) 100%)`,\n };\n } else {\n this.gradient = {\n background: `linear-gradient(to right, rgba(${this.rgb.r},${\n this.rgb.g\n },${this.rgb.b}, 0) 0%,\n rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 1) 100%)`,\n };\n this.pointerLeft = this.rgb.a * 100;\n }\n }\n handleChange({ top, left, containerHeight, containerWidth, $event }): void {\n let data: any;\n if (this.direction === 'vertical') {\n let a: number;\n if (top < 0) {\n a = 0;\n } else if (top > containerHeight) {\n a = 1;\n } else {\n a = Math.round(top * 100 / containerHeight) / 100;\n }\n\n if (this.hsl.a !== a) {\n data = {\n h: this.hsl.h,\n s: this.hsl.s,\n l: this.hsl.l,\n a,\n source: 'rgb',\n };\n }\n } else {\n let a: number;\n if (left < 0) {\n a = 0;\n } else if (left > containerWidth) {\n a = 1;\n } else {\n a = Math.round(left * 100 / containerWidth) / 100;\n }\n\n if (this.hsl.a !== a) {\n data = {\n h: this.hsl.h,\n s: this.hsl.s,\n l: this.hsl.l,\n a,\n source: 'rgb',\n };\n }\n }\n\n if (!data) {\n return;\n }\n\n this.onChange.emit({ data, $event });\n }\n}\n\n@NgModule({\n declarations: [AlphaComponent],\n exports: [AlphaComponent],\n imports: [CommonModule, CheckboardModule, CoordinatesModule],\n})\nexport class AlphaModule {}\n","import { TinyColor } from '@ctrl/tinycolor';\n\nimport { Color } from './color.interfaces';\n\nexport function simpleCheckForValidColor(data) {\n const keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n let checked = 0;\n let passed = 0;\n keysToCheck.forEach(letter => {\n if (!data[letter]) {\n return;\n }\n checked += 1;\n if (!isNaN(data[letter])) {\n passed += 1;\n }\n if (letter === 's' || letter === 'l') {\n const percentPatt = /^\\d+%$/;\n if (percentPatt.test(data[letter])) {\n passed += 1;\n }\n }\n });\n return checked === passed ? data : false;\n}\n\nexport function toState(data, oldHue?: number, disableAlpha?: boolean): Color {\n const color = data.hex ? new TinyColor(data.hex) : new TinyColor(data);\n if (disableAlpha) {\n color.setAlpha(1);\n }\n\n const hsl = color.toHsl();\n const hsv = color.toHsv();\n const rgb = color.toRgb();\n const hex = color.toHex();\n if (hsl.s === 0) {\n hsl.h = oldHue || 0;\n hsv.h = oldHue || 0;\n }\n const transparent = hex === '000000' && rgb.a === 0;\n\n return {\n hsl,\n hex: transparent ? 'transparent' : color.toHexString(),\n rgb,\n hsv,\n oldHue: data.h || oldHue || hsl.h,\n source: data.source,\n };\n}\n\nexport function isValidHex(hex: string) {\n return new TinyColor(hex).isValid;\n}\n\nexport function getContrastingColor(data) {\n if (!data) {\n return '#fff';\n }\n const col = toState(data);\n if (col.hex === 'transparent') {\n return 'rgba(0,0,0,0.4)';\n }\n const yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;\n return yiq >= 128 ? '#000' : '#fff';\n}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n isDevMode,\n NgModule,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { debounceTime, tap } from 'rxjs/operators';\n\nimport { simpleCheckForValidColor, toState } from './helpers/color';\nimport { Color, HSLA, HSVA, RGBA } from './helpers/color.interfaces';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport interface ColorEvent {\n $event: Event;\n color: Color;\n}\n\nexport enum ColorMode {\n HEX = 'hex',\n HSL = 'hsl',\n HSV = 'hsv',\n RGB = 'rgb'\n}\n\n@Component({\n // create seletor base for test override property\n selector: 'color-wrap',\n template: ``,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorWrap),\n multi: true,\n }\n ]\n})\nexport class ColorWrap implements OnInit, OnChanges, OnDestroy, ControlValueAccessor {\n @Input() className?: string;\n\n /**\n * Descriptors the return color format if the component is used with two-way binding\n */\n @Input() mode: ColorMode = ColorMode.HEX;\n\n @Input() color: HSLA | HSVA | RGBA | string = {\n h: 250,\n s: 0.5,\n l: 0.2,\n a: 1,\n };\n @Output() colorChange = new EventEmitter<HSLA | HSVA | RGBA | string>();\n @Output() onChange = new EventEmitter<ColorEvent>();\n @Output() onChangeComplete = new EventEmitter<ColorEvent>();\n @Output() onSwatchHover = new EventEmitter<ColorEvent>();\n oldHue!: number;\n hsl!: HSLA;\n hsv!: HSVA;\n rgb!: RGBA;\n hex!: string;\n source!: string;\n currentColor!: string;\n changes?: Subscription;\n disableAlpha?: boolean;\n\n private _onChangeCompleteSubscription = new Subscription();\n private _onSwatchHoverSubscription = new Subscription();\n\n ngOnInit() {\n this.changes = this.onChange\n .pipe(\n debounceTime(100),\n tap(event => {\n this.onChangeComplete.emit(event);\n switch (this.mode) {\n case ColorMode.HEX:\n this.colorChange.emit(event.color.hex);\n break;\n case ColorMode.HSL:\n this.colorChange.emit(event.color.hsl);\n break;\n case ColorMode.HSV:\n this.colorChange.emit(event.color.hsv);\n break;\n case ColorMode.RGB:\n this.colorChange.emit(event.color.rgb);\n break;\n default:\n const msg = `The mode '${this.mode}' is not supported`;\n if (isDevMode()) {\n throw new Error(msg);\n } else {\n console.warn(msg);\n }\n break;\n }\n })\n )\n .subscribe();\n this.setState(toState(this.color, 0));\n this.currentColor = this.hex;\n }\n ngOnChanges() {\n this.setState(toState(this.color, this.oldHue));\n }\n ngOnDestroy() {\n this.changes?.unsubscribe();\n this._onChangeCompleteSubscription.unsubscribe();\n this._onSwatchHoverSubscription.unsubscribe();\n }\n setState(data) {\n this.oldHue = data.oldHue;\n this.hsl = data.hsl;\n this.hsv = data.hsv;\n this.rgb = data.rgb;\n this.hex = data.hex;\n this.source = data.source;\n this.afterValidChange();\n }\n handleChange(data, $event) {\n const isValidColor = simpleCheckForValidColor(data);\n if (isValidColor) {\n const color = toState(data, data.h || this.oldHue, this.disableAlpha);\n this.setState(color);\n this.onChange.emit({ color, $event });\n this.afterValidChange();\n }\n }\n /** hook for components after a complete change */\n afterValidChange() {}\n\n handleSwatchHover(data, $event) {\n const isValidColor = simpleCheckForValidColor(data);\n if (isValidColor) {\n const color = toState(data, data.h || this.oldHue);\n this.setState(color);\n this.onSwatchHover.emit({ color, $event });\n }\n }\n\n registerOnChange(fn: (hex: string) => void): void {\n this._onChangeCompleteSubscription.add(this.onChangeComplete.pipe(\n tap(event => fn(event.color.hex)),\n ).subscribe());\n }\n\n registerOnTouched(fn: () => void): void {\n this._onSwatchHoverSubscription.add(this.onSwatchHover.pipe(\n tap(() => fn()),\n ).subscribe());\n }\n\n setDisabledState(isDisabled: boolean): void {}\n\n writeValue(hex: string): void {\n this.color = hex;\n }\n\n}\n\n@NgModule({\n declarations: [ColorWrap],\n exports: [ColorWrap],\n imports: [CommonModule],\n})\nexport class ColorWrapModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { fromEvent, Subscription } from 'rxjs';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'color-editable-input',\n template: `\n <div class=\"wrap\" [ngStyle]=\"wrapStyle\">\n <input\n [ngStyle]=\"inputStyle\"\n spellCheck=\"false\"\n [value]=\"currentValue\"\n [placeholder]=\"placeholder\"\n (keydown)=\"handleKeydown($event)\"\n (keyup)=\"handleKeyup($event)\"\n (focus)=\"handleFocus($event)\"\n (focusout)=\"handleFocusOut($event)\"\n [attr.aria-labelledby]=\"uniqueId\"\n />\n <span [id]=\"uniqueId\" *ngIf=\"label\" [ngStyle]=\"labelStyle\" (mousedown)=\"handleMousedown($event)\">\n {{ label }}\n </span>\n </div>\n `,\n styles: [\n `\n :host {\n display: flex;\n }\n .wrap {\n position: relative;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EditableInputComponent implements OnInit, OnChanges, OnDestroy {\n @Input() style!: {\n wrap?: Record<string, any>;\n input?: Record<string, any>;\n label?: Record<string, any>;\n };\n @Input() label!: string;\n @Input() value!: string | number;\n @Input() arrowOffset!: number;\n @Input() dragLabel!: boolean;\n @Input() dragMax!: number;\n @Input() placeholder = '';\n @Output() onChange = new EventEmitter();\n currentValue!: string | number;\n blurValue!: string;\n wrapStyle!: Record<string, string>;\n inputStyle!: Record<string, string>;\n labelStyle!: Record<string, string>;\n focus = false;\n mousemove!: Subscription;\n mouseup!: Subscription;\n uniqueId: string = `editableInput-${++nextUniqueId}`;\n\n ngOnInit() {\n this.wrapStyle = this.style && this.style.wrap ? this.style.wrap : {};\n this.inputStyle = this.style && this.style.input ? this.style.input : {};\n this.labelStyle = this.style && this.style.label ? this.style.label : {};\n if (this.dragLabel) {\n this.labelStyle.cursor = 'ew-resize';\n }\n }\n handleFocus($event) {\n this.focus = true;\n }\n handleFocusOut($event) {\n this.focus = false;\n this.currentValue = this.blurValue;\n }\n handleKeydown($event) {\n // In case `e.target.value` is a percentage remove the `%` character\n // and update accordingly with a percentage\n // https://github.com/casesandberg/react-color/issues/383\n const stringValue = String($event.target.value);\n const isPercentage = stringValue.indexOf('%') > -1;\n const num = Number(stringValue.replace(/%/g, ''));\n if (isNaN(num)) {\n return;\n }\n const amount = this.arrowOffset || 1;\n\n // Up\n if ($event.keyCode === 38) {\n if (this.label) {\n this.onChange.emit({\n data: { [this.label]: num + amount },\n $event,\n });\n } else {\n this.onChange.emit({ data: num + amount, $event });\n }\n\n if (isPercentage) {\n this.currentValue = `${num + amount}%`;\n } else {\n this.currentValue = num + amount;\n }\n }\n\n // Down\n if ($event.keyCode === 40) {\n if (this.label) {\n this.onChange.emit({\n data: { [this.label]: num - amount },\n $event,\n });\n } else {\n this.onChange.emit({ data: num - amount, $event });\n }\n\n if (isPercentage) {\n this.currentValue = `${num - amount}%`;\n } else {\n this.currentValue = num - amount;\n }\n }\n }\n handleKeyup($event) {\n if ($event.keyCode === 40 || $event.keyCode === 38) {\n return;\n }\n if (`${this.currentValue}` === $event.target.value) {\n return;\n }\n\n if (this.label) {\n this.onChange.emit({\n data: { [this.label]: $event.target.value },\n $event,\n });\n } else {\n this.onChange.emit({ data: $event.target.value, $event });\n }\n }\n ngOnChanges() {\n if (!this.focus) {\n this.currentValue = String(this.value).toUpperCase();\n this.blurValue = String(this.value).toUpperCase();\n } else {\n this.blurValue = String(this.value).toUpperCase();\n }\n }\n ngOnDestroy() {\n this.unsubscribe();\n }\n subscribe() {\n this.mousemove = fromEvent(document, 'mousemove').subscribe((ev: Event) => this.handleDrag(ev));\n this.mouseup = fromEvent(document, 'mouseup').subscribe(() => this.unsubscribe());\n }\n unsubscribe() {\n if (this.mousemove) {\n this.mousemove.unsubscribe();\n }\n if (this.mouseup) {\n this.mouseup.unsubscribe();\n }\n }\n handleMousedown($event: Event) {\n if (this.dragLabel) {\n $event.preventDefault();\n this.handleDrag($event);\n this.subscribe();\n }\n }\n handleDrag($event) {\n if (this.dragLabel) {\n const newValue = Math.round(this.value + $event.movementX);\n if (newValue >= 0 && newValue <= this.dragMax) {\n this.onChange.emit({ data: { [this.label]: newValue }, $event });\n }\n }\n }\n}\n\n@NgModule({\n declarations: [EditableInputComponent],\n exports: [EditableInputComponent],\n imports: [CommonModule],\n})\nexport class EditableInputModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core';\n\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, HSLAsource } from './helpers/color.interfaces';\n\n@Component({\n selector: 'color-hue',\n template: `\n <div class=\"color-hue color-hue-{{direction}}\" [style.border-radius.px]=\"radius\" [style.box-shadow]=\"shadow\">\n <div ngx-color-coordinates (coordinatesChange)=\"handleChange($event)\" class=\"color-hue-container\">\n <div class=\"color-hue-pointer\" [style.left]=\"left\" [style.top]=\"top\" *ngIf=\"!hidePointer\">\n <div class=\"color-hue-slider\" [ngStyle]=\"pointer\"></div>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .color-hue {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .color-hue-container {\n margin: 0 2px;\n position: relative;\n height: 100%;\n }\n .color-hue-pointer {\n position: absolute;\n }\n .color-hue-slider {\n margin-top: 1px;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n transform: translateX(-2px);\n }\n .color-hue-horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n .color-hue-vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n `,\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HueComponent implements OnChanges {\n @Input() hsl!: HSLA;\n @Input() pointer!: Record<string, string>;\n @Input() radius!: number;\n @Input() shadow!: string;\n @Input() hidePointer = false;\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n @Output() onChange = new EventEmitter<{ data: HSLAsource; $event: Event }>();\n left = '0px';\n top = '';\n\n ngOnChanges(): void {\n if (this.direction === 'horizontal') {\n this.left = `${this.hsl.h * 100 / 360}%`;\n } else {\n this.top = `${-(this.hsl.h * 100 / 360) + 100}%`;\n }\n }\n handleChange({ top, left, containerHeight, containerWidth, $event }): void {\n let data: HSLAsource | undefined;\n if (this.direction === 'vertical') {\n let h: number;\n if (top < 0) {\n h = 359;\n } else if (top > containerHeight) {\n h = 0;\n } else {\n const percent = -(top * 100 / containerHeight) + 100;\n h = 360 * percent / 100;\n }\n\n if (this.hsl.h !== h) {\n data = {\n h,\n s: this.hsl.s,\n l: this.hsl.l,\n a: this.hsl.a,\n source: 'rgb',\n };\n }\n } else {\n let h: number;\n if (left < 0) {\n h = 0;\n } else if (left > containerWidth) {\n h = 359;\n } else {\n const percent = left * 100 / containerWidth;\n h = 360 * percent / 100;\n }\n\n if (this.hsl.h !== h) {\n data = {\n h,\n s: this.hsl.s,\n l: this.hsl.l,\n a: this.hsl.a,\n source: 'rgb',\n };\n }\n }\n\n if (!data) {\n return;\n }\n\n this.onChange.emit({ data, $event });\n }\n}\n\n@NgModule({\n declarations: [HueComponent],\n exports: [HueComponent],\n imports: [CommonModule, CoordinatesModule],\n})\nexport class HueModule {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, NgModule } from '@angular/core';\n\nexport type zDepth = 0 | 1 | 2 | 3 | 4 | 5;\n\n@Component({\n selector: 'color-raised',\n template: `\n <div class=\"raised-wrap\">\n <div class=\"raised-bg zDepth-{{zDepth}}\" [style.background]=\"background\"></div>\n <div class=\"raised-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n styles: [`\n .raised-wrap {\n position: relative;\n display: inline-block;\n }\n .raised-bg {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n }\n .raised-content {\n position: relative;\n }\n .zDepth-0 {\n box-shadow: none;\n }\n .zDepth-1 {\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n }\n .zDepth-2 {\n box-shadow: 0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2);\n }\n .zDepth-3 {\n box-shadow: 0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24);\n }\n .zDepth-4 {\n box-shadow: 0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22);\n }\n .zDepth-5 {\n box-shadow: 0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2);\n }\n `],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RaisedComponent {\n @Input() zDepth: zDepth = 1;\n @Input() radius = 1;\n @Input() background = '#fff';\n}\n\n@NgModule({\n declarations: [RaisedComponent],\n exports: [RaisedComponent],\n imports: [CommonModule],\n})\nexport class RaisedModule { }\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core';\n\n\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, HSVA, HSVAsource } from './helpers/color.interfaces';\n\n@Component({\n selector: 'color-saturation',\n template: `\n <div class=\"color-saturation\" ngx-color-coordinates (coordinatesChange)=\"handleChange($event)\" [style.background]=\"background\">\n <div class=\"saturation-white\">\n <div class=\"saturation-black\"></div>\n <div class=\"saturation-pointer\" [ngStyle]=\"pointer\" [style.top]=\"pointerTop\" [style.left]=\"pointerLeft\">\n <div class=\"saturation-circle\" [ngStyle]=\"circle\"></div>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .saturation-white {\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .saturation-black {\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .color-saturation {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .saturation-pointer {\n position: absolute;\n cursor: default;\n }\n .saturation-circle {\n width: 4px;\n height: 4px;\n box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), 0 0 1px 2px rgba(0,0,0,.4);\n border-radius: 50%;\n cursor: hand;\n transform: translate(-2px, -4px);\n }\n `,\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SaturationComponent implements OnChanges {\n @Input() hsl!: HSLA;\n @Input() hsv!: HSVA;\n @Input() radius!: number;\n @Input() pointer!: Record<string, string>;\n @Input() circle!: Record<string, string>;\n @Output() onChange = new EventEmitter<{ data: HSVAsource; $event: Event }>();\n background!: string;\n pointerTop!: string;\n pointerLeft!: string;\n\n ngOnChanges() {\n this.background = `hsl(${this.hsl.h}, 100%, 50%)`;\n this.pointerTop = -(this.hsv.v * 100) + 1 + 100 + '%';\n this.pointerLeft = this.hsv.s * 100 + '%';\n }\n handleChange({ top, left, containerHeight, containerWidth, $event }) {\n if (left < 0) {\n left = 0;\n } else if (left > containerWidth) {\n left = containerWidth;\n } else if (top < 0) {\n top = 0;\n } else if (top > containerHeight) {\n top = containerHeight;\n }\n\n const saturation = left / containerWidth;\n let bright = -(top / containerHeight) + 1;\n bright = bright > 0 ? bright : 0;\n bright = bright > 1 ? 1 : bright;\n\n const data: HSVAsource = {\n h: this.hsl.h,\n s: saturation,\n v: bright,\n a: this.hsl.a,\n source: 'hsva',\n };\n this.onChange.emit({ data, $event });\n }\n}\n\n@NgModule({\n declarations: [SaturationComponent],\n exports: [SaturationComponent],\n imports: [CommonModule, CoordinatesModule],\n})\nexport class SaturationModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CheckboardModule } from './checkboard.component';\n\n@Component({\n selector: 'color-swatch',\n template: `\n <div\n class=\"swatch\"\n [ngStyle]=\"currentStyles()\"\n [attr.title]=\"color\"\n (click)=\"handleClick(color, $event)\"\n (keydown.enter)=\"handleClick(color, $event)\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleFocusOut()\"\n (mouseover)=\"handleHover(color, $event)\"\n tabindex=\"0\"\n >\n <ng-content></ng-content>\n <color-checkboard\n *ngIf=\"color === 'transparent'\"\n boxShadow=\"inset 0 0 0 1px rgba(0,0,0,0.1)\"\n ></color-checkboard>\n </div>\n `,\n styles: [\n `\n .swatch {\n outline: none;\n height: 100%;\n width: 100%;\n cursor: pointer;\n position: relative;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SwatchComponent implements OnInit {\n @Input() color!: string;\n @Input() style: Record<string, string> = {};\n @Input() focusStyle: Record<string, string> = {};\n @Input() focus!: boolean;\n @Output() onClick = new EventEmitter<any>();\n @Output() onHover = new EventEmitter<any>();\n divStyles: Record<string, string> = {};\n focusStyles: Record<string, string> = {};\n inFocus = false;\n\n ngOnInit() {\n this.divStyles = {\n background: this.color as string,\n ...this.style,\n };\n }\n currentStyles() {\n this.focusStyles = {\n ...this.divStyles,\n ...this.focusStyle,\n };\n return this.focus || this.inFocus ? this.focusStyles : this.divStyles;\n }\n handleFocusOut() {\n this.inFocus = false;\n }\n handleFocus() {\n this.inFocus = true;\n }\n handleHover(hex: string, $event) {\n this.onHover.emit({ hex, $event });\n }\n handleClick(hex: string, $event) {\n this.onClick.emit({ hex, $event });\n }\n}\n\n@NgModule({\n declarations: [SwatchComponent],\n exports: [SwatchComponent],\n imports: [CommonModule, CheckboardModule],\n})\nexport class SwatchModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core';\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, RGBA } from './helpers/color.interfaces';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n\n@Component({\n selector: 'color-shade',\n template: `\n <div class=\"shade\" [style.border-radius]=\"radius\">\n <div\n class=\"shade-gradient\"\n [ngStyle]=\"gradient\"\n [style.box-shadow]=\"shadow\"\n [style.border-radius]=\"radius\"\n ></div>\n <div\n ngx-color-coordinates\n (coordinatesChange)=\"handleChange($event)\"\n class=\"shade-container\"\n >\n <div\n class=\"shade-pointer\"\n [style.left.%]=\"pointerLeft\"\n [style.top.%]=\"pointerTop\"\n >\n <div class=\"shade-slider\" [ngStyle]=\"pointer\"></div>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .shade {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .shade-gradient {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .shade-container {\n position: relative;\n height: 100%;\n margin: 0 3px;\n }\n .shade-pointer {\n position: absolute;\n }\n .shade-slider {\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n margin-top: 1px;\n transform: translateX(-2px);\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n})\nexport class ShadeComponent implements OnChanges {\n @Input() hsl!: HSLA;\n @Input() rgb!: RGBA;\n @Input() pointer!: Record<string, string>;\n @Input() shadow!: string;\n @Input() radius!: string;\n @Output() onChange = new EventEmitter<any>();\n gradient!: Record<string, string>;\n pointerLeft!: number;\n pointerTop?: number;\n\n ngOnChanges() {\n this.gradient = {\n background: `linear-gradient(to right,\n hsl(${this.hsl.h}, 90%, 55%),\n #000)`,\n };\n const hsv = new TinyColor(this.hsl).toHsv();\n this.pointerLeft = 100 - (hsv.v * 100);\n }\n\n handleChange({ left, containerWidth, $event }): void {\n let data;\n let v: number;\n if (left < 0) {\n v = 0;\n } else if (left > containerWidth) {\n v = 1;\n } else {\n v = Math.round((left * 100) / containerWidth) / 100;\n }\n\n const hsv = new TinyColor(this.hsl).toHsv();\n if (hsv.v !== v) {\n data = {\n h: this.hsl.h,\n s: 100,\n v: 1 - v,\n l: this.hsl.l,\n a: this.hsl.a,\n source: 'rgb',\n };\n }\n\n if (!data) {\n return;\n }\n\n this.onChange.emit({ data, $event });\n }\n}\n\n@NgModule({\n declarations: [ShadeComponent],\n exports: [ShadeComponent],\n imports: [CommonModule, CoordinatesModule],\n})\nexport class ShadeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,123 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import * as i0 from '@angular/core';
|
3
|
+
import { forwardRef, Component, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
|
4
|
+
import * as i1 from 'ngx-color';
|
5
|
+
import { ColorWrap, toState, AlphaModule, CheckboardModule } from 'ngx-color';
|
6
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
7
|
+
|
8
|
+
class AlphaPickerComponent extends ColorWrap {
|
9
|
+
constructor() {
|
10
|
+
super();
|
11
|
+
/** Pixel value for picker width */
|
12
|
+
this.width = 316;
|
13
|
+
/** Pixel value for picker height */
|
14
|
+
this.height = 16;
|
15
|
+
this.direction = 'horizontal';
|
16
|
+
this.pointer = {
|
17
|
+
width: '18px',
|
18
|
+
height: '18px',
|
19
|
+
borderRadius: '50%',
|
20
|
+
transform: 'translate(-9px, -2px)',
|
21
|
+
boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',
|
22
|
+
};
|
23
|
+
}
|
24
|
+
ngOnChanges() {
|
25
|
+
if (this.direction === 'vertical') {
|
26
|
+
this.pointer.transform = 'translate(-3px, -9px)';
|
27
|
+
}
|
28
|
+
this.setState(toState(this.color, this.oldHue));
|
29
|
+
}
|
30
|
+
handlePickerChange({ data, $event }) {
|
31
|
+
this.handleChange(data, $event);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
AlphaPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: AlphaPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
35
|
+
AlphaPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: AlphaPickerComponent, selector: "color-alpha-picker", inputs: { width: "width", height: "height", direction: "direction" }, providers: [
|
36
|
+
{
|
37
|
+
provide: NG_VALUE_ACCESSOR,
|
38
|
+
useExisting: forwardRef(() => AlphaPickerComponent),
|
39
|
+
multi: true,
|
40
|
+
},
|
41
|
+
{
|
42
|
+
provide: ColorWrap,
|
43
|
+
useExisting: forwardRef(() => AlphaPickerComponent)
|
44
|
+
}
|
45
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
46
|
+
<div class="alpha-picker {{ className }}"
|
47
|
+
[style.width.px]="width" [style.height.px]="height">
|
48
|
+
<color-alpha
|
49
|
+
[hsl]="hsl"
|
50
|
+
[rgb]="rgb"
|
51
|
+
[pointer]="pointer"
|
52
|
+
[direction]="direction"
|
53
|
+
(onChange)="handlePickerChange($event)"
|
54
|
+
></color-alpha>
|
55
|
+
</div>
|
56
|
+
`, isInline: true, styles: [".alpha-picker{position:relative}.color-alpha{radius:2px}\n"], components: [{ type: i1.AlphaComponent, selector: "color-alpha", inputs: ["hsl", "rgb", "pointer", "shadow", "radius", "direction"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: AlphaPickerComponent, decorators: [{
|
58
|
+
type: Component,
|
59
|
+
args: [{
|
60
|
+
selector: 'color-alpha-picker',
|
61
|
+
template: `
|
62
|
+
<div class="alpha-picker {{ className }}"
|
63
|
+
[style.width.px]="width" [style.height.px]="height">
|
64
|
+
<color-alpha
|
65
|
+
[hsl]="hsl"
|
66
|
+
[rgb]="rgb"
|
67
|
+
[pointer]="pointer"
|
68
|
+
[direction]="direction"
|
69
|
+
(onChange)="handlePickerChange($event)"
|
70
|
+
></color-alpha>
|
71
|
+
</div>
|
72
|
+
`,
|
73
|
+
styles: [
|
74
|
+
`
|
75
|
+
.alpha-picker {
|
76
|
+
position: relative;
|
77
|
+
}
|
78
|
+
.color-alpha {
|
79
|
+
radius: 2px;
|
80
|
+
}
|
81
|
+
`,
|
82
|
+
],
|
83
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
84
|
+
preserveWhitespaces: false,
|
85
|
+
providers: [
|
86
|
+
{
|
87
|
+
provide: NG_VALUE_ACCESSOR,
|
88
|
+
useExisting: forwardRef(() => AlphaPickerComponent),
|
89
|
+
multi: true,
|
90
|
+
},
|
91
|
+
{
|
92
|
+
provide: ColorWrap,
|
93
|
+
useExisting: forwardRef(() => AlphaPickerComponent)
|
94
|
+
}
|
95
|
+
]
|
96
|
+
}]
|
97
|
+
}], ctorParameters: function () { return []; }, propDecorators: { width: [{
|
98
|
+
type: Input
|
99
|
+
}], height: [{
|
100
|
+
type: Input
|
101
|
+
}], direction: [{
|
102
|
+
type: Input
|
103
|
+
}] } });
|
104
|
+
class ColorAlphaModule {
|
105
|
+
}
|
106
|
+
ColorAlphaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorAlphaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
107
|
+
ColorAlphaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorAlphaModule, declarations: [AlphaPickerComponent], imports: [CommonModule, AlphaModule, CheckboardModule], exports: [AlphaPickerComponent] });
|
108
|
+
ColorAlphaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorAlphaModule, imports: [[CommonModule, AlphaModule, CheckboardModule]] });
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorAlphaModule, decorators: [{
|
110
|
+
type: NgModule,
|
111
|
+
args: [{
|
112
|
+
declarations: [AlphaPickerComponent],
|
113
|
+
exports: [AlphaPickerComponent],
|
114
|
+
imports: [CommonModule, AlphaModule, CheckboardModule],
|
115
|
+
}]
|
116
|
+
}] });
|
117
|
+
|
118
|
+
/**
|
119
|
+
* Generated bundle index. Do not edit.
|
120
|
+
*/
|
121
|
+
|
122
|
+
export { AlphaPickerComponent, ColorAlphaModule };
|
123
|
+
//# sourceMappingURL=ngx-color-alpha.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ngx-color-alpha.mjs","sources":["../../src/lib/alpha/alpha-picker.component.ts","../../src/lib/alpha/ngx-color-alpha.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule, OnChanges } from '@angular/core';\n\nimport { AlphaModule, CheckboardModule, ColorWrap, toState } from 'ngx-color';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'color-alpha-picker',\n template: `\n <div class=\"alpha-picker {{ className }}\"\n [style.width.px]=\"width\" [style.height.px]=\"height\">\n <color-alpha\n [hsl]=\"hsl\"\n [rgb]=\"rgb\"\n [pointer]=\"pointer\"\n [direction]=\"direction\"\n (onChange)=\"handlePickerChange($event)\"\n ></color-alpha>\n </div>\n `,\n styles: [\n `\n .alpha-picker {\n position: relative;\n }\n .color-alpha {\n radius: 2px;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AlphaPickerComponent),\n multi: true,\n },\n {\n provide: ColorWrap,\n useExisting: forwardRef(() => AlphaPickerComponent)\n }\n ]\n})\nexport class AlphaPickerComponent extends ColorWrap implements OnChanges {\n /** Pixel value for picker width */\n @Input() width: string | number = 316;\n /** Pixel value for picker height */\n @Input() height: string | number = 16;\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n pointer: {[key: string]: string} = {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -2px)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',\n };\n\n constructor() {\n super();\n }\n ngOnChanges() {\n if (this.direction === 'vertical') {\n this.pointer.transform = 'translate(-3px, -9px)';\n }\n this.setState(toState(this.color, this.oldHue));\n }\n handlePickerChange({ data, $event }) {\n this.handleChange(data, $event);\n }\n}\n\n@NgModule({\n declarations: [AlphaPickerComponent],\n exports: [AlphaPickerComponent],\n imports: [CommonModule, AlphaModule, CheckboardModule],\n})\nexport class ColorAlphaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;MA4Ca,oBAAqB,SAAQ,SAAS;IAcjD;QACE,KAAK,EAAE,CAAC;;QAbD,UAAK,GAAoB,GAAG,CAAC;;QAE7B,WAAM,GAAoB,EAAE,CAAC;QAC7B,cAAS,GAA8B,YAAY,CAAC;QAC7D,YAAO,GAA4B;YACjC,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,uBAAuB;YAClC,SAAS,EAAE,iCAAiC;SAC7C,CAAC;KAID;IACD,WAAW;QACT,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,uBAAuB,CAAC;SAClD;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;KACjD;IACD,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACjC;;iHAzBU,oBAAoB;qGAApB,oBAAoB,mHAZpB;QACT;YACE,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;YACnD,KAAK,EAAE,IAAI;SACZ;QACD;YACE,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;SACpD;KACF,sEAlCS;;;;;;;;;;;GAWT;2FAyBU,oBAAoB;kBAtChC,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE;;;;;;;;;;;GAWT;oBACD,MAAM,EAAE;wBACN;;;;;;;GAOD;qBACA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,mBAAmB,EAAE,KAAK;oBAC1B,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;4BACnD,KAAK,EAAE,IAAI;yBACZ;wBACD;4BACE,OAAO,EAAE,SAAS;4BAClB,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;yBACpD;qBACF;iBACF;0EAGU,KAAK;sBAAb,KAAK;gBAEG,MAAM;sBAAd,KAAK;gBACG,SAAS;sBAAjB,KAAK;;MA4BK,gBAAgB;;6GAAhB,gBAAgB;8GAAhB,gBAAgB,iBAjChB,oBAAoB,aA+BrB,YAAY,EAAE,WAAW,EAAE,gBAAgB,aA/B1C,oBAAoB;8GAiCpB,gBAAgB,YAFlB,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,CAAC;2FAE3C,gBAAgB;kBAL5B,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,CAAC;iBACvD;;;AC5ED;;;;;;"}
|
@@ -0,0 +1,275 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { EventEmitter, Component, Input, Output, forwardRef, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
3
|
+
import * as i1 from 'ngx-color';
|
4
|
+
import { ColorWrap, getContrastingColor, isValidHex, CheckboardModule, SwatchModule, EditableInputModule } from 'ngx-color';
|
5
|
+
import * as i2 from '@angular/common';
|
6
|
+
import { CommonModule } from '@angular/common';
|
7
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
8
|
+
|
9
|
+
class BlockSwatchesComponent {
|
10
|
+
constructor() {
|
11
|
+
this.onClick = new EventEmitter();
|
12
|
+
this.onSwatchHover = new EventEmitter();
|
13
|
+
this.swatchStyle = {
|
14
|
+
width: '22px',
|
15
|
+
height: '22px',
|
16
|
+
float: 'left',
|
17
|
+
marginRight: '10px',
|
18
|
+
marginBottom: '10px',
|
19
|
+
borderRadius: '4px',
|
20
|
+
};
|
21
|
+
}
|
22
|
+
handleClick({ hex, $event }) {
|
23
|
+
this.onClick.emit({ hex, $event });
|
24
|
+
}
|
25
|
+
focusStyle(c) {
|
26
|
+
return {
|
27
|
+
boxShadow: `${c} 0 0 4px`,
|
28
|
+
};
|
29
|
+
}
|
30
|
+
}
|
31
|
+
BlockSwatchesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockSwatchesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
32
|
+
BlockSwatchesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: BlockSwatchesComponent, selector: "color-block-swatches", inputs: { colors: "colors" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, ngImport: i0, template: `
|
33
|
+
<div class="block-swatches">
|
34
|
+
<color-swatch
|
35
|
+
*ngFor="let c of colors"
|
36
|
+
[color]="c"
|
37
|
+
[style]="swatchStyle"
|
38
|
+
[focusStyle]="focusStyle(c)"
|
39
|
+
(onClick)="handleClick($event)"
|
40
|
+
(onHover)="onSwatchHover.emit($event)"
|
41
|
+
></color-swatch>
|
42
|
+
<div class="clear"></div>
|
43
|
+
</div>
|
44
|
+
`, isInline: true, styles: [".block-swatches{margin-right:-10px}.clear{clear:both}\n"], components: [{ type: i1.SwatchComponent, selector: "color-swatch", inputs: ["color", "style", "focusStyle", "focus"], outputs: ["onClick", "onHover"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockSwatchesComponent, decorators: [{
|
46
|
+
type: Component,
|
47
|
+
args: [{
|
48
|
+
selector: 'color-block-swatches',
|
49
|
+
template: `
|
50
|
+
<div class="block-swatches">
|
51
|
+
<color-swatch
|
52
|
+
*ngFor="let c of colors"
|
53
|
+
[color]="c"
|
54
|
+
[style]="swatchStyle"
|
55
|
+
[focusStyle]="focusStyle(c)"
|
56
|
+
(onClick)="handleClick($event)"
|
57
|
+
(onHover)="onSwatchHover.emit($event)"
|
58
|
+
></color-swatch>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
`,
|
62
|
+
styles: [`
|
63
|
+
.block-swatches {
|
64
|
+
margin-right: -10px;
|
65
|
+
}
|
66
|
+
.clear {
|
67
|
+
clear: both;
|
68
|
+
}
|
69
|
+
`],
|
70
|
+
}]
|
71
|
+
}], propDecorators: { colors: [{
|
72
|
+
type: Input
|
73
|
+
}], onClick: [{
|
74
|
+
type: Output
|
75
|
+
}], onSwatchHover: [{
|
76
|
+
type: Output
|
77
|
+
}] } });
|
78
|
+
|
79
|
+
class BlockComponent extends ColorWrap {
|
80
|
+
constructor() {
|
81
|
+
super();
|
82
|
+
/** Pixel value for picker width */
|
83
|
+
this.width = 170;
|
84
|
+
/** Color squares to display */
|
85
|
+
this.colors = [
|
86
|
+
'#D9E3F0',
|
87
|
+
'#F47373',
|
88
|
+
'#697689',
|
89
|
+
'#37D67A',
|
90
|
+
'#2CCCE4',
|
91
|
+
'#555555',
|
92
|
+
'#dce775',
|
93
|
+
'#ff8a65',
|
94
|
+
'#ba68c8',
|
95
|
+
];
|
96
|
+
this.triangle = 'top';
|
97
|
+
this.input = {
|
98
|
+
width: '100%',
|
99
|
+
fontSize: '12px',
|
100
|
+
color: '#666',
|
101
|
+
border: '0px',
|
102
|
+
outline: 'none',
|
103
|
+
height: '22px',
|
104
|
+
boxShadow: 'inset 0 0 0 1px #ddd',
|
105
|
+
borderRadius: '4px',
|
106
|
+
padding: '0 7px',
|
107
|
+
boxSizing: 'border-box',
|
108
|
+
};
|
109
|
+
this.wrap = {
|
110
|
+
position: 'relative',
|
111
|
+
width: '100%',
|
112
|
+
};
|
113
|
+
this.disableAlpha = true;
|
114
|
+
}
|
115
|
+
handleValueChange({ data, $event }) {
|
116
|
+
this.handleBlockChange({ hex: data, $event });
|
117
|
+
}
|
118
|
+
getContrastingColor(hex) {
|
119
|
+
return getContrastingColor(hex);
|
120
|
+
}
|
121
|
+
handleBlockChange({ hex, $event }) {
|
122
|
+
if (isValidHex(hex)) {
|
123
|
+
// this.hex = hex;
|
124
|
+
this.handleChange({
|
125
|
+
hex,
|
126
|
+
source: 'hex',
|
127
|
+
}, $event);
|
128
|
+
}
|
129
|
+
}
|
130
|
+
}
|
131
|
+
BlockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
132
|
+
BlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: BlockComponent, selector: "color-block", inputs: { width: "width", colors: "colors", triangle: "triangle" }, providers: [
|
133
|
+
{
|
134
|
+
provide: NG_VALUE_ACCESSOR,
|
135
|
+
useExisting: forwardRef(() => BlockComponent),
|
136
|
+
multi: true,
|
137
|
+
},
|
138
|
+
{
|
139
|
+
provide: ColorWrap,
|
140
|
+
useExisting: forwardRef(() => BlockComponent),
|
141
|
+
},
|
142
|
+
], usesInheritance: true, ngImport: i0, template: `
|
143
|
+
<div class="block-card block-picker {{ className }}">
|
144
|
+
<div class="block-triangle" *ngIf="triangle !== 'hide'"
|
145
|
+
[style.border-color]="'transparent transparent ' + this.hex + ' transparent'"
|
146
|
+
></div>
|
147
|
+
|
148
|
+
<div class="block-head" [style.background]="hex">
|
149
|
+
<color-checkboard *ngIf="hex === 'transparent'"
|
150
|
+
borderRadius="6px 6px 0 0"
|
151
|
+
></color-checkboard>
|
152
|
+
<div class="block-label" [style.color]="getContrastingColor(hex)">
|
153
|
+
{{ hex }}
|
154
|
+
</div>
|
155
|
+
</div>
|
156
|
+
|
157
|
+
<div class="block-body">
|
158
|
+
<color-block-swatches [colors]="colors"
|
159
|
+
(onClick)="handleBlockChange($event)"
|
160
|
+
(onSwatchHover)="onSwatchHover.emit($event)"
|
161
|
+
></color-block-swatches>
|
162
|
+
<color-editable-input [value]="hex"
|
163
|
+
(onChange)="handleValueChange($event)"
|
164
|
+
[style]="{input: input, wrap: wrap}"
|
165
|
+
></color-editable-input>
|
166
|
+
</div>
|
167
|
+
</div>
|
168
|
+
`, isInline: true, styles: [".block-card{background:#fff;border-radius:6px;box-shadow:0 1px #0000001a;position:relative}.block-head{align-items:center;border-radius:6px 6px 0 0;display:flex;height:110px;justify-content:center;position:relative}.block-body{padding:10px}.block-label{font-size:18px;position:relative}.block-triangle{border-style:solid;border-width:0 10px 10px 10px;height:0;left:50%;margin-left:-10px;position:absolute;top:-10px;width:0}\n"], components: [{ type: i0.forwardRef(function () { return i1.CheckboardComponent; }), selector: "color-checkboard", inputs: ["white", "size", "grey", "boxShadow", "borderRadius"] }, { type: i0.forwardRef(function () { return BlockSwatchesComponent; }), selector: "color-block-swatches", inputs: ["colors"], outputs: ["onClick", "onSwatchHover"] }, { type: i0.forwardRef(function () { return i1.EditableInputComponent; }), selector: "color-editable-input", inputs: ["style", "label", "value", "arrowOffset", "dragLabel", "dragMax", "placeholder"], outputs: ["onChange"] }], directives: [{ type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockComponent, decorators: [{
|
170
|
+
type: Component,
|
171
|
+
args: [{
|
172
|
+
selector: 'color-block',
|
173
|
+
template: `
|
174
|
+
<div class="block-card block-picker {{ className }}">
|
175
|
+
<div class="block-triangle" *ngIf="triangle !== 'hide'"
|
176
|
+
[style.border-color]="'transparent transparent ' + this.hex + ' transparent'"
|
177
|
+
></div>
|
178
|
+
|
179
|
+
<div class="block-head" [style.background]="hex">
|
180
|
+
<color-checkboard *ngIf="hex === 'transparent'"
|
181
|
+
borderRadius="6px 6px 0 0"
|
182
|
+
></color-checkboard>
|
183
|
+
<div class="block-label" [style.color]="getContrastingColor(hex)">
|
184
|
+
{{ hex }}
|
185
|
+
</div>
|
186
|
+
</div>
|
187
|
+
|
188
|
+
<div class="block-body">
|
189
|
+
<color-block-swatches [colors]="colors"
|
190
|
+
(onClick)="handleBlockChange($event)"
|
191
|
+
(onSwatchHover)="onSwatchHover.emit($event)"
|
192
|
+
></color-block-swatches>
|
193
|
+
<color-editable-input [value]="hex"
|
194
|
+
(onChange)="handleValueChange($event)"
|
195
|
+
[style]="{input: input, wrap: wrap}"
|
196
|
+
></color-editable-input>
|
197
|
+
</div>
|
198
|
+
</div>
|
199
|
+
`,
|
200
|
+
styles: [
|
201
|
+
`
|
202
|
+
.block-card {
|
203
|
+
background: #fff;
|
204
|
+
border-radius: 6px;
|
205
|
+
box-shadow: 0 1px rgba(0, 0, 0, .1);
|
206
|
+
position: relative;
|
207
|
+
}
|
208
|
+
.block-head {
|
209
|
+
align-items: center;
|
210
|
+
border-radius: 6px 6px 0 0;
|
211
|
+
display: flex;
|
212
|
+
height: 110px;
|
213
|
+
justify-content: center;
|
214
|
+
position: relative;
|
215
|
+
}
|
216
|
+
.block-body {
|
217
|
+
padding: 10px;
|
218
|
+
}
|
219
|
+
.block-label {
|
220
|
+
font-size: 18px;
|
221
|
+
position: relative;
|
222
|
+
}
|
223
|
+
.block-triangle {
|
224
|
+
border-style: solid;
|
225
|
+
border-width: 0 10px 10px 10px;
|
226
|
+
height: 0;
|
227
|
+
left: 50%;
|
228
|
+
margin-left: -10px;
|
229
|
+
position: absolute;
|
230
|
+
top: -10px;
|
231
|
+
width: 0;
|
232
|
+
}
|
233
|
+
`,
|
234
|
+
],
|
235
|
+
preserveWhitespaces: false,
|
236
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
237
|
+
providers: [
|
238
|
+
{
|
239
|
+
provide: NG_VALUE_ACCESSOR,
|
240
|
+
useExisting: forwardRef(() => BlockComponent),
|
241
|
+
multi: true,
|
242
|
+
},
|
243
|
+
{
|
244
|
+
provide: ColorWrap,
|
245
|
+
useExisting: forwardRef(() => BlockComponent),
|
246
|
+
},
|
247
|
+
]
|
248
|
+
}]
|
249
|
+
}], ctorParameters: function () { return []; }, propDecorators: { width: [{
|
250
|
+
type: Input
|
251
|
+
}], colors: [{
|
252
|
+
type: Input
|
253
|
+
}], triangle: [{
|
254
|
+
type: Input
|
255
|
+
}] } });
|
256
|
+
class ColorBlockModule {
|
257
|
+
}
|
258
|
+
ColorBlockModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
259
|
+
ColorBlockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, declarations: [BlockComponent, BlockSwatchesComponent], imports: [CommonModule, CheckboardModule, SwatchModule, EditableInputModule], exports: [BlockComponent, BlockSwatchesComponent] });
|
260
|
+
ColorBlockModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, imports: [[CommonModule, CheckboardModule, SwatchModule, EditableInputModule]] });
|
261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, decorators: [{
|
262
|
+
type: NgModule,
|
263
|
+
args: [{
|
264
|
+
declarations: [BlockComponent, BlockSwatchesComponent],
|
265
|
+
exports: [BlockComponent, BlockSwatchesComponent],
|
266
|
+
imports: [CommonModule, CheckboardModule, SwatchModule, EditableInputModule],
|
267
|
+
}]
|
268
|
+
}] });
|
269
|
+
|
270
|
+
/**
|
271
|
+
* Generated bundle index. Do not edit.
|
272
|
+
*/
|
273
|
+
|
274
|
+
export { BlockComponent, BlockSwatchesComponent, ColorBlockModule };
|
275
|
+
//# sourceMappingURL=ngx-color-block.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ngx-color-block.mjs","sources":["../../src/lib/block/block-swatches.component.ts","../../src/lib/block/block.component.ts","../../src/lib/block/ngx-color-block.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n@Component({\n selector: 'color-block-swatches',\n template: `\n <div class=\"block-swatches\">\n <color-swatch\n *ngFor=\"let c of colors\"\n [color]=\"c\"\n [style]=\"swatchStyle\"\n [focusStyle]=\"focusStyle(c)\"\n (onClick)=\"handleClick($event)\"\n (onHover)=\"onSwatchHover.emit($event)\"\n ></color-swatch>\n <div class=\"clear\"></div>\n </div>\n `,\n styles: [`\n .block-swatches {\n margin-right: -10px;\n }\n .clear {\n clear: both;\n }\n `],\n})\nexport class BlockSwatchesComponent {\n @Input() colors!: string[];\n @Output() onClick = new EventEmitter<any>();\n @Output() onSwatchHover = new EventEmitter<any>();\n\n swatchStyle = {\n width: '22px',\n height: '22px',\n float: 'left',\n marginRight: '10px',\n marginBottom: '10px',\n borderRadius: '4px',\n };\n\n handleClick({hex, $event}) {\n this.onClick.emit({hex, $event});\n }\n focusStyle(c) {\n return {\n boxShadow: `${ c } 0 0 4px`,\n };\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';\n\nimport {\n CheckboardModule,\n ColorWrap,\n EditableInputModule,\n getContrastingColor,\n isValidHex,\n SwatchModule,\n} from 'ngx-color';\nimport { BlockSwatchesComponent } from './block-swatches.component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'color-block',\n template: `\n <div class=\"block-card block-picker {{ className }}\">\n <div class=\"block-triangle\" *ngIf=\"triangle !== 'hide'\"\n [style.border-color]=\"'transparent transparent ' + this.hex + ' transparent'\"\n ></div>\n\n <div class=\"block-head\" [style.background]=\"hex\">\n <color-checkboard *ngIf=\"hex === 'transparent'\"\n borderRadius=\"6px 6px 0 0\"\n ></color-checkboard>\n <div class=\"block-label\" [style.color]=\"getContrastingColor(hex)\">\n {{ hex }}\n </div>\n </div>\n\n <div class=\"block-body\">\n <color-block-swatches [colors]=\"colors\"\n (onClick)=\"handleBlockChange($event)\"\n (onSwatchHover)=\"onSwatchHover.emit($event)\"\n ></color-block-swatches>\n <color-editable-input [value]=\"hex\"\n (onChange)=\"handleValueChange($event)\"\n [style]=\"{input: input, wrap: wrap}\"\n ></color-editable-input>\n </div>\n </div>\n `,\n styles: [\n `\n .block-card {\n background: #fff;\n border-radius: 6px;\n box-shadow: 0 1px rgba(0, 0, 0, .1);\n position: relative;\n }\n .block-head {\n align-items: center;\n border-radius: 6px 6px 0 0;\n display: flex;\n height: 110px;\n justify-content: center;\n position: relative;\n }\n .block-body {\n padding: 10px;\n }\n .block-label {\n font-size: 18px;\n position: relative;\n }\n .block-triangle {\n border-style: solid;\n border-width: 0 10px 10px 10px;\n height: 0;\n left: 50%;\n margin-left: -10px;\n position: absolute;\n top: -10px;\n width: 0;\n }\n `,\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BlockComponent),\n multi: true,\n },\n {\n provide: ColorWrap,\n useExisting: forwardRef(() => BlockComponent),\n },\n ]\n})\nexport class BlockComponent extends ColorWrap {\n /** Pixel value for picker width */\n @Input() width: string | number = 170;\n /** Color squares to display */\n @Input() colors = [\n '#D9E3F0',\n '#F47373',\n '#697689',\n '#37D67A',\n '#2CCCE4',\n '#555555',\n '#dce775',\n '#ff8a65',\n '#ba68c8',\n ];\n @Input() triangle: 'top' | 'hide' = 'top';\n input: {[key: string]: string} = {\n width: '100%',\n fontSize: '12px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '22px',\n boxShadow: 'inset 0 0 0 1px #ddd',\n borderRadius: '4px',\n padding: '0 7px',\n boxSizing: 'border-box',\n };\n wrap: {[key: string]: string} = {\n position: 'relative',\n width: '100%',\n };\n disableAlpha = true;\n\n constructor() {\n super();\n }\n\n handleValueChange({ data, $event }) {\n this.handleBlockChange({ hex: data, $event });\n }\n getContrastingColor(hex) {\n return getContrastingColor(hex);\n }\n handleBlockChange({ hex, $event }) {\n if (isValidHex(hex)) {\n // this.hex = hex;\n this.handleChange(\n {\n hex,\n source: 'hex',\n },\n $event,\n );\n }\n }\n}\n\n@NgModule({\n declarations: [BlockComponent, BlockSwatchesComponent],\n exports: [BlockComponent, BlockSwatchesComponent],\n imports: [CommonModule, CheckboardModule, SwatchModule, EditableInputModule],\n})\nexport class ColorBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|