ngx-color 7.1.0 → 7.3.2
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 +7 -0
- 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 +132 -9
- 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/alpha/bundles/ngx-color-alpha.umd.js +0 -400
- package/alpha/bundles/ngx-color-alpha.umd.js.map +0 -1
- package/alpha/esm2015/alpha-picker.component.js +0 -80
- package/alpha/esm2015/ngx-color-alpha.js +0 -5
- package/alpha/fesm2015/ngx-color-alpha.js +0 -87
- 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 -468
- 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 -147
- package/block/esm2015/ngx-color-block.js +0 -6
- package/block/fesm2015/ngx-color-block.js +0 -210
- 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 -1014
- package/bundles/ngx-color.umd.js.map +0 -1
- package/chrome/bundles/ngx-color-chrome.umd.js +0 -539
- 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 -169
- package/chrome/esm2015/ngx-color-chrome.js +0 -6
- package/chrome/fesm2015/ngx-color-chrome.js +0 -428
- 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 -465
- 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 -105
- package/circle/esm2015/ngx-color-circle.js +0 -6
- package/circle/fesm2015/ngx-color-circle.js +0 -173
- 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 -575
- 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 -131
- package/compact/esm2015/ngx-color-compact.js +0 -7
- package/compact/fesm2015/ngx-color-compact.js +0 -344
- 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 -145
- 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 -1228
- package/fesm2015/ngx-color.js.map +0 -1
- package/github/bundles/ngx-color-github.umd.js +0 -443
- 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 -142
- package/github/esm2015/ngx-color-github.js +0 -6
- package/github/fesm2015/ngx-color-github.js +0 -195
- 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 -403
- package/hue/bundles/ngx-color-hue.umd.js.map +0 -1
- package/hue/esm2015/hue-picker.component.js +0 -78
- package/hue/esm2015/ngx-color-hue.js +0 -5
- package/hue/fesm2015/ngx-color-hue.js +0 -85
- 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 -451
- package/material/bundles/ngx-color-material.umd.js.map +0 -1
- package/material/esm2015/material.component.js +0 -157
- package/material/esm2015/ngx-color-material.js +0 -5
- package/material/fesm2015/ngx-color-material.js +0 -164
- 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 -567
- 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 -177
- package/photoshop/fesm2015/ngx-color-photoshop.js +0 -460
- 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 -395
- 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 -71
- package/shade/fesm2015/ngx-color-shade.js +0 -78
- 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 -581
- 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 -199
- package/sketch/fesm2015/ngx-color-sketch.js +0 -458
- 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 -466
- 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 -77
- package/slider/fesm2015/ngx-color-slider.js +0 -229
- 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 -608
- 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 -213
- package/swatches/fesm2015/ngx-color-swatches.js +0 -347
- 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 -429
- 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 -203
- package/twitter/fesm2015/ngx-color-twitter.js +0 -210
- package/twitter/fesm2015/ngx-color-twitter.js.map +0 -1
- package/twitter/ngx-color-twitter.metadata.json +0 -1
@@ -1,145 +0,0 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { Component, EventEmitter, forwardRef, Input, isDevMode, NgModule, Output, } from '@angular/core';
|
3
|
-
import { Subscription } from 'rxjs';
|
4
|
-
import { debounceTime, tap } from 'rxjs/operators';
|
5
|
-
import { simpleCheckForValidColor, toState } from './helpers/color';
|
6
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
7
|
-
export var ColorMode;
|
8
|
-
(function (ColorMode) {
|
9
|
-
ColorMode["HEX"] = "hex";
|
10
|
-
ColorMode["HSL"] = "hsl";
|
11
|
-
ColorMode["HSV"] = "hsv";
|
12
|
-
ColorMode["RGB"] = "rgb";
|
13
|
-
})(ColorMode || (ColorMode = {}));
|
14
|
-
export class ColorWrap {
|
15
|
-
constructor() {
|
16
|
-
/**
|
17
|
-
* Descriptors the return color format if the component is used with two-way binding
|
18
|
-
*/
|
19
|
-
this.mode = ColorMode.HEX;
|
20
|
-
this.color = {
|
21
|
-
h: 250,
|
22
|
-
s: 0.5,
|
23
|
-
l: 0.2,
|
24
|
-
a: 1,
|
25
|
-
};
|
26
|
-
this.colorChange = new EventEmitter();
|
27
|
-
this.onChange = new EventEmitter();
|
28
|
-
this.onChangeComplete = new EventEmitter();
|
29
|
-
this.onSwatchHover = new EventEmitter();
|
30
|
-
this._onChangeCompleteSubscription = new Subscription();
|
31
|
-
this._onSwatchHoverSubscription = new Subscription();
|
32
|
-
}
|
33
|
-
ngOnInit() {
|
34
|
-
this.changes = this.onChange
|
35
|
-
.pipe(debounceTime(100), tap(event => {
|
36
|
-
this.onChangeComplete.emit(event);
|
37
|
-
switch (this.mode) {
|
38
|
-
case ColorMode.HEX:
|
39
|
-
this.colorChange.emit(event.color.hex);
|
40
|
-
break;
|
41
|
-
case ColorMode.HSL:
|
42
|
-
this.colorChange.emit(event.color.hsl);
|
43
|
-
break;
|
44
|
-
case ColorMode.HSV:
|
45
|
-
this.colorChange.emit(event.color.hsv);
|
46
|
-
break;
|
47
|
-
case ColorMode.RGB:
|
48
|
-
this.colorChange.emit(event.color.rgb);
|
49
|
-
break;
|
50
|
-
default:
|
51
|
-
const msg = `The mode '${this.mode}' is not supported`;
|
52
|
-
if (isDevMode()) {
|
53
|
-
throw new Error(msg);
|
54
|
-
}
|
55
|
-
else {
|
56
|
-
console.warn(msg);
|
57
|
-
}
|
58
|
-
break;
|
59
|
-
}
|
60
|
-
}))
|
61
|
-
.subscribe();
|
62
|
-
this.setState(toState(this.color, 0));
|
63
|
-
this.currentColor = this.hex;
|
64
|
-
}
|
65
|
-
ngOnChanges() {
|
66
|
-
this.setState(toState(this.color, this.oldHue));
|
67
|
-
}
|
68
|
-
ngOnDestroy() {
|
69
|
-
var _a;
|
70
|
-
(_a = this.changes) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
71
|
-
this._onChangeCompleteSubscription.unsubscribe();
|
72
|
-
this._onSwatchHoverSubscription.unsubscribe();
|
73
|
-
}
|
74
|
-
setState(data) {
|
75
|
-
this.oldHue = data.oldHue;
|
76
|
-
this.hsl = data.hsl;
|
77
|
-
this.hsv = data.hsv;
|
78
|
-
this.rgb = data.rgb;
|
79
|
-
this.hex = data.hex;
|
80
|
-
this.source = data.source;
|
81
|
-
this.afterValidChange();
|
82
|
-
}
|
83
|
-
handleChange(data, $event) {
|
84
|
-
const isValidColor = simpleCheckForValidColor(data);
|
85
|
-
if (isValidColor) {
|
86
|
-
const color = toState(data, data.h || this.oldHue, this.disableAlpha);
|
87
|
-
this.setState(color);
|
88
|
-
this.onChange.emit({ color, $event });
|
89
|
-
this.afterValidChange();
|
90
|
-
}
|
91
|
-
}
|
92
|
-
/** hook for components after a complete change */
|
93
|
-
afterValidChange() { }
|
94
|
-
handleSwatchHover(data, $event) {
|
95
|
-
const isValidColor = simpleCheckForValidColor(data);
|
96
|
-
if (isValidColor) {
|
97
|
-
const color = toState(data, data.h || this.oldHue);
|
98
|
-
this.setState(color);
|
99
|
-
this.onSwatchHover.emit({ color, $event });
|
100
|
-
}
|
101
|
-
}
|
102
|
-
registerOnChange(fn) {
|
103
|
-
this._onChangeCompleteSubscription.add(this.onChangeComplete.pipe(tap(event => fn(event.color.hex))).subscribe());
|
104
|
-
}
|
105
|
-
registerOnTouched(fn) {
|
106
|
-
this._onSwatchHoverSubscription.add(this.onSwatchHover.pipe(tap(() => fn())).subscribe());
|
107
|
-
}
|
108
|
-
setDisabledState(isDisabled) { }
|
109
|
-
writeValue(hex) {
|
110
|
-
this.color = hex;
|
111
|
-
}
|
112
|
-
}
|
113
|
-
ColorWrap.decorators = [
|
114
|
-
{ type: Component, args: [{
|
115
|
-
// create seletor base for test override property
|
116
|
-
selector: 'color-wrap',
|
117
|
-
template: ``,
|
118
|
-
providers: [
|
119
|
-
{
|
120
|
-
provide: NG_VALUE_ACCESSOR,
|
121
|
-
useExisting: forwardRef(() => ColorWrap),
|
122
|
-
multi: true,
|
123
|
-
}
|
124
|
-
]
|
125
|
-
},] }
|
126
|
-
];
|
127
|
-
ColorWrap.propDecorators = {
|
128
|
-
className: [{ type: Input }],
|
129
|
-
mode: [{ type: Input }],
|
130
|
-
color: [{ type: Input }],
|
131
|
-
colorChange: [{ type: Output }],
|
132
|
-
onChange: [{ type: Output }],
|
133
|
-
onChangeComplete: [{ type: Output }],
|
134
|
-
onSwatchHover: [{ type: Output }]
|
135
|
-
};
|
136
|
-
export class ColorWrapModule {
|
137
|
-
}
|
138
|
-
ColorWrapModule.decorators = [
|
139
|
-
{ type: NgModule, args: [{
|
140
|
-
declarations: [ColorWrap],
|
141
|
-
exports: [ColorWrap],
|
142
|
-
imports: [CommonModule],
|
143
|
-
},] }
|
144
|
-
];
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itd3JhcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbW1vbi9jb2xvci13cmFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUlSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU96RSxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCx3QkFBVyxDQUFBO0lBQ1gsd0JBQVcsQ0FBQTtJQUNYLHdCQUFXLENBQUE7QUFDYixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEI7QUFjRCxNQUFNLE9BQU8sU0FBUztJQVp0QjtRQWVFOztXQUVHO1FBQ00sU0FBSSxHQUFjLFNBQVMsQ0FBQyxHQUFHLENBQUM7UUFFaEMsVUFBSyxHQUFnQztZQUM1QyxDQUFDLEVBQUUsR0FBRztZQUNOLENBQUMsRUFBRSxHQUFHO1lBQ04sQ0FBQyxFQUFFLEdBQUc7WUFDTixDQUFDLEVBQUUsQ0FBQztTQUNMLENBQUM7UUFDUSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBQzlELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElB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Q0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3pELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNoQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CLElBQVMsQ0FBQztJQUU5QyxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNuQixDQUFDOzs7WUFuSUYsU0FBUyxTQUFDO2dCQUNULGlEQUFpRDtnQkFDakQsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQzt3QkFDeEMsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7YUFDRjs7O3dCQUVFLEtBQUs7bUJBS0wsS0FBSztvQkFFTCxLQUFLOzBCQU1MLE1BQU07dUJBQ04sTUFBTTsrQkFDTixNQUFNOzRCQUNOLE1BQU07O0FBK0dULE1BQU0sT0FBTyxlQUFlOzs7WUFMM0IsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQztnQkFDekIsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNwQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE5nTW9kdWxlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBzaW1wbGVDaGVja0ZvclZhbGlkQ29sb3IsIHRvU3RhdGUgfSBmcm9tICcuL2hlbHBlcnMvY29sb3InO1xuaW1wb3J0IHsgQ29sb3IsIEhTTEEsIEhTVkEsIFJHQkEgfSBmcm9tICcuL2hlbHBlcnMvY29sb3IuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JFdmVudCB7XG4gICRldmVudDogRXZlbnQ7XG4gIGNvbG9yOiBDb2xvcjtcbn1cblxuZXhwb3J0IGVudW0gQ29sb3JNb2RlIHtcbiAgSEVYID0gJ2hleCcsXG4gIEhTTCA9ICdoc2wnLFxuICBIU1YgPSAnaHN2JyxcbiAgUkdCID0gJ3JnYidcbn1cblxuQENvbXBvbmVudCh7XG4gIC8vIGNyZWF0ZSBzZWxldG9yIGJhc2UgZm9yIHRlc3Qgb3ZlcnJpZGUgcHJvcGVydHlcbiAgc2VsZWN0b3I6ICdjb2xvci13cmFwJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvbG9yV3JhcCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JXcmFwIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBjbGFzc05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0b3JzIHRoZSByZXR1cm4gY29sb3IgZm9ybWF0IGlmIHRoZSBjb21wb25lbnQgaXMgdXNlZCB3aXRoIHR3by13YXkgYmluZGluZ1xuICAgKi9cbiAgQElucHV0KCkgbW9kZTogQ29sb3JNb2RlID0gQ29sb3JNb2RlLkhFWDtcblxuICBASW5wdXQoKSBjb2xvcjogSFNMQSB8IEhTVkEgfCBSR0JBIHwgc3RyaW5nID0ge1xuICAgIGg6IDI1MCxcbiAgICBzOiAwLjUsXG4gICAgbDogMC4yLFxuICAgIGE6IDEsXG4gIH07XG4gIEBPdXRwdXQoKSBjb2xvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SFNMQSB8IEhTVkEgfCBSR0JBIHwgc3RyaW5nPigpO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbG9yRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZUNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxDb2xvckV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25Td2F0Y2hIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sb3JFdmVudD4oKTtcbiAgb2xkSHVlITogbnVtYmVyO1xuICBoc2whOiBIU0xBO1xuICBoc3YhOiBIU1ZBO1xuICByZ2IhOiBSR0JBO1xuICBoZXghOiBzdHJpbmc7XG4gIHNvdXJjZSE6IHN0cmluZztcbiAgY3VycmVudENvbG9yITogc3RyaW5nO1xuICBjaGFuZ2VzPzogU3Vic2NyaXB0aW9uO1xuICBkaXNhYmxlQWxwaGE/OiBib29sZWFuO1xuXG4gIHByaXZhdGUgX29uQ2hhbmdlQ29tcGxldGVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX29uU3dhdGNoSG92ZXJTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jaGFuZ2VzID0gdGhpcy5vbkNoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICAgIHRoaXMub25DaGFuZ2VDb21wbGV0ZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xuICAgICAgICAgICAgY2FzZSBDb2xvck1vZGUuSEVYOlxuICAgICAgICAgICAgICB0aGlzLmNvbG9yQ2hhbmdlLmVtaXQoZXZlbnQuY29sb3IuaGV4KTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIENvbG9yTW9kZS5IU0w6XG4gICAgICAgICAgICAgIHRoaXMuY29sb3JDaGFuZ2UuZW1pdChldmVudC5jb2xvci5oc2wpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQ29sb3JNb2RlLkhTVjpcbiAgICAgICAgICAgICAgdGhpcy5jb2xvckNoYW5nZS5lbWl0KGV2ZW50LmNvbG9yLmhzdik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBDb2xvck1vZGUuUkdCOlxuICAgICAgICAgICAgICB0aGlzLmNvbG9yQ2hhbmdlLmVtaXQoZXZlbnQuY29sb3IucmdiKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBjb25zdCBtc2cgPSBgVGhlIG1vZGUgJyR7dGhpcy5tb2RlfScgaXMgbm90IHN1cHBvcnRlZGA7XG4gICAgICAgICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybihtc2cpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnNldFN0YXRlKHRvU3RhdGUodGhpcy5jb2xvciwgMCkpO1xuICAgIHRoaXMuY3VycmVudENvbG9yID0gdGhpcy5oZXg7XG4gIH1cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh0b1N0YXRlKHRoaXMuY29sb3IsIHRoaXMub2xkSHVlKSk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ2hhbmdlQ29tcGxldGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vblN3YXRjaEhvdmVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgc2V0U3RhdGUoZGF0YSkge1xuICAgIHRoaXMub2xkSHVlID0gZGF0YS5vbGRIdWU7XG4gICAgdGhpcy5oc2wgPSBkYXRhLmhzbDtcbiAgICB0aGlzLmhzdiA9IGRhdGEuaHN2O1xuICAgIHRoaXMucmdiID0gZGF0YS5yZ2I7XG4gICAgdGhpcy5oZXggPSBkYXRhLmhleDtcbiAgICB0aGlzLnNvdXJjZSA9IGRhdGEuc291cmNlO1xuICAgIHRoaXMuYWZ0ZXJWYWxpZENoYW5nZSgpO1xuICB9XG4gIGhhbmRsZUNoYW5nZShkYXRhLCAkZXZlbnQpIHtcbiAgICBjb25zdCBpc1ZhbGlkQ29sb3IgPSBzaW1wbGVDaGVja0ZvclZhbGlkQ29sb3IoZGF0YSk7XG4gICAgaWYgKGlzVmFsaWRDb2xvcikge1xuICAgICAgY29uc3QgY29sb3IgPSB0b1N0YXRlKGRhdGEsIGRhdGEuaCB8fCB0aGlzLm9sZEh1ZSwgdGhpcy5kaXNhYmxlQWxwaGEpO1xuICAgICAgdGhpcy5zZXRTdGF0ZShjb2xvcik7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBjb2xvciwgJGV2ZW50IH0pO1xuICAgICAgdGhpcy5hZnRlclZhbGlkQ2hhbmdlKCk7XG4gICAgfVxuICB9XG4gIC8qKiBob29rIGZvciBjb21wb25lbnRzIGFmdGVyIGEgY29tcGxldGUgY2hhbmdlICovXG4gIGFmdGVyVmFsaWRDaGFuZ2UoKSB7fVxuXG4gIGhhbmRsZVN3YXRjaEhvdmVyKGRhdGEsICRldmVudCkge1xuICAgIGNvbnN0IGlzVmFsaWRDb2xvciA9IHNpbXBsZUNoZWNrRm9yVmFsaWRDb2xvcihkYXRhKTtcbiAgICBpZiAoaXNWYWxpZENvbG9yKSB7XG4gICAgICBjb25zdCBjb2xvciA9IHRvU3RhdGUoZGF0YSwgZGF0YS5oIHx8IHRoaXMub2xkSHVlKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoY29sb3IpO1xuICAgICAgdGhpcy5vblN3YXRjaEhvdmVyLmVtaXQoeyBjb2xvciwgJGV2ZW50IH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChoZXg6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlQ29tcGxldGVTdWJzY3JpcHRpb24uYWRkKHRoaXMub25DaGFuZ2VDb21wbGV0ZS5waXBlKFxuICAgICAgdGFwKGV2ZW50ID0+IGZuKGV2ZW50LmNvbG9yLmhleCkpLFxuICAgICkuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblN3YXRjaEhvdmVyU3Vic2NyaXB0aW9uLmFkZCh0aGlzLm9uU3dhdGNoSG92ZXIucGlwZShcbiAgICAgIHRhcCgoKSA9PiBmbigpKSxcbiAgICApLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge31cblxuICB3cml0ZVZhbHVlKGhleDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb2xvciA9IGhleDtcbiAgfVxuXG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0NvbG9yV3JhcF0sXG4gIGV4cG9ydHM6IFtDb2xvcldyYXBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JXcmFwTW9kdWxlIHt9XG4iXX0=
|
@@ -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,183 +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
|
-
let nextUniqueId = 0;
|
5
|
-
export class EditableInputComponent {
|
6
|
-
constructor() {
|
7
|
-
this.placeholder = '';
|
8
|
-
this.onChange = new EventEmitter();
|
9
|
-
this.focus = false;
|
10
|
-
this.uniqueId = `editableInput-${++nextUniqueId}`;
|
11
|
-
}
|
12
|
-
ngOnInit() {
|
13
|
-
this.wrapStyle = this.style && this.style.wrap ? this.style.wrap : {};
|
14
|
-
this.inputStyle = this.style && this.style.input ? this.style.input : {};
|
15
|
-
this.labelStyle = this.style && this.style.label ? this.style.label : {};
|
16
|
-
if (this.dragLabel) {
|
17
|
-
this.labelStyle.cursor = 'ew-resize';
|
18
|
-
}
|
19
|
-
}
|
20
|
-
handleFocus($event) {
|
21
|
-
this.focus = true;
|
22
|
-
}
|
23
|
-
handleFocusOut($event) {
|
24
|
-
this.focus = false;
|
25
|
-
this.currentValue = this.blurValue;
|
26
|
-
}
|
27
|
-
handleKeydown($event) {
|
28
|
-
// In case `e.target.value` is a percentage remove the `%` character
|
29
|
-
// and update accordingly with a percentage
|
30
|
-
// https://github.com/casesandberg/react-color/issues/383
|
31
|
-
const stringValue = String($event.target.value);
|
32
|
-
const isPercentage = stringValue.indexOf('%') > -1;
|
33
|
-
const num = Number(stringValue.replace(/%/g, ''));
|
34
|
-
if (isNaN(num)) {
|
35
|
-
return;
|
36
|
-
}
|
37
|
-
const amount = this.arrowOffset || 1;
|
38
|
-
// Up
|
39
|
-
if ($event.keyCode === 38) {
|
40
|
-
if (this.label) {
|
41
|
-
this.onChange.emit({
|
42
|
-
data: { [this.label]: num + amount },
|
43
|
-
$event,
|
44
|
-
});
|
45
|
-
}
|
46
|
-
else {
|
47
|
-
this.onChange.emit({ data: num + amount, $event });
|
48
|
-
}
|
49
|
-
if (isPercentage) {
|
50
|
-
this.currentValue = `${num + amount}%`;
|
51
|
-
}
|
52
|
-
else {
|
53
|
-
this.currentValue = num + amount;
|
54
|
-
}
|
55
|
-
}
|
56
|
-
// Down
|
57
|
-
if ($event.keyCode === 40) {
|
58
|
-
if (this.label) {
|
59
|
-
this.onChange.emit({
|
60
|
-
data: { [this.label]: num - amount },
|
61
|
-
$event,
|
62
|
-
});
|
63
|
-
}
|
64
|
-
else {
|
65
|
-
this.onChange.emit({ data: num - amount, $event });
|
66
|
-
}
|
67
|
-
if (isPercentage) {
|
68
|
-
this.currentValue = `${num - amount}%`;
|
69
|
-
}
|
70
|
-
else {
|
71
|
-
this.currentValue = num - amount;
|
72
|
-
}
|
73
|
-
}
|
74
|
-
}
|
75
|
-
handleKeyup($event) {
|
76
|
-
if ($event.keyCode === 40 || $event.keyCode === 38) {
|
77
|
-
return;
|
78
|
-
}
|
79
|
-
if (`${this.currentValue}` === $event.target.value) {
|
80
|
-
return;
|
81
|
-
}
|
82
|
-
if (this.label) {
|
83
|
-
this.onChange.emit({
|
84
|
-
data: { [this.label]: $event.target.value },
|
85
|
-
$event,
|
86
|
-
});
|
87
|
-
}
|
88
|
-
else {
|
89
|
-
this.onChange.emit({ data: $event.target.value, $event });
|
90
|
-
}
|
91
|
-
}
|
92
|
-
ngOnChanges() {
|
93
|
-
if (!this.focus) {
|
94
|
-
this.currentValue = String(this.value).toUpperCase();
|
95
|
-
this.blurValue = String(this.value).toUpperCase();
|
96
|
-
}
|
97
|
-
else {
|
98
|
-
this.blurValue = String(this.value).toUpperCase();
|
99
|
-
}
|
100
|
-
}
|
101
|
-
ngOnDestroy() {
|
102
|
-
this.unsubscribe();
|
103
|
-
}
|
104
|
-
subscribe() {
|
105
|
-
this.mousemove = fromEvent(document, 'mousemove').subscribe((ev) => this.handleDrag(ev));
|
106
|
-
this.mouseup = fromEvent(document, 'mouseup').subscribe(() => this.unsubscribe());
|
107
|
-
}
|
108
|
-
unsubscribe() {
|
109
|
-
if (this.mousemove) {
|
110
|
-
this.mousemove.unsubscribe();
|
111
|
-
}
|
112
|
-
if (this.mouseup) {
|
113
|
-
this.mouseup.unsubscribe();
|
114
|
-
}
|
115
|
-
}
|
116
|
-
handleMousedown($event) {
|
117
|
-
if (this.dragLabel) {
|
118
|
-
$event.preventDefault();
|
119
|
-
this.handleDrag($event);
|
120
|
-
this.subscribe();
|
121
|
-
}
|
122
|
-
}
|
123
|
-
handleDrag($event) {
|
124
|
-
if (this.dragLabel) {
|
125
|
-
const newValue = Math.round(this.value + $event.movementX);
|
126
|
-
if (newValue >= 0 && newValue <= this.dragMax) {
|
127
|
-
this.onChange.emit({ data: { [this.label]: newValue }, $event });
|
128
|
-
}
|
129
|
-
}
|
130
|
-
}
|
131
|
-
}
|
132
|
-
EditableInputComponent.decorators = [
|
133
|
-
{ type: Component, args: [{
|
134
|
-
selector: 'color-editable-input',
|
135
|
-
template: `
|
136
|
-
<div class="wrap" [ngStyle]="wrapStyle">
|
137
|
-
<input
|
138
|
-
[ngStyle]="inputStyle"
|
139
|
-
spellCheck="false"
|
140
|
-
[value]="currentValue"
|
141
|
-
[placeholder]="placeholder"
|
142
|
-
(keydown)="handleKeydown($event)"
|
143
|
-
(keyup)="handleKeyup($event)"
|
144
|
-
(focus)="handleFocus($event)"
|
145
|
-
(focusout)="handleFocusOut($event)"
|
146
|
-
[attr.aria-labelledby]="uniqueId"
|
147
|
-
/>
|
148
|
-
<span [id]="uniqueId" *ngIf="label" [ngStyle]="labelStyle" (mousedown)="handleMousedown($event)">
|
149
|
-
{{ label }}
|
150
|
-
</span>
|
151
|
-
</div>
|
152
|
-
`,
|
153
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
154
|
-
styles: [`
|
155
|
-
:host {
|
156
|
-
display: flex;
|
157
|
-
}
|
158
|
-
.wrap {
|
159
|
-
position: relative;
|
160
|
-
}
|
161
|
-
`]
|
162
|
-
},] }
|
163
|
-
];
|
164
|
-
EditableInputComponent.propDecorators = {
|
165
|
-
style: [{ type: Input }],
|
166
|
-
label: [{ type: Input }],
|
167
|
-
value: [{ type: Input }],
|
168
|
-
arrowOffset: [{ type: Input }],
|
169
|
-
dragLabel: [{ type: Input }],
|
170
|
-
dragMax: [{ type: Input }],
|
171
|
-
placeholder: [{ type: Input }],
|
172
|
-
onChange: [{ type: Output }]
|
173
|
-
};
|
174
|
-
export class EditableInputModule {
|
175
|
-
}
|
176
|
-
EditableInputModule.decorators = [
|
177
|
-
{ type: NgModule, args: [{
|
178
|
-
declarations: [EditableInputComponent],
|
179
|
-
exports: [EditableInputComponent],
|
180
|
-
imports: [CommonModule],
|
181
|
-
},] }
|
182
|
-
];
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21tb24vZWRpdGFibGUtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFJUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFL0MsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBa0NyQixNQUFNLE9BQU8sc0JBQXNCO0lBaENuQztRQTJDVyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNoQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU14QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBR2QsYUFBUSxHQUFXLGlCQUFpQixFQUFFLFlBQVksRUFBRSxDQUFDO0lBd0h2RCxDQUFDO0lBdEhDLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUNELFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxjQUFjLENBQUMsTUFBTTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUNELGFBQWEsQ0FBQyxNQUFNO1FBQ2xCLG9FQUFvRTtRQUNwRSwyQ0FBMkM7UUFDM0MseURBQXlEO1FBQ3pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZCxPQUFPO1NBQ1I7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQztRQUVyQyxLQUFLO1FBQ0wsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUU7b0JBQ3BDLE1BQU07aUJBQ1AsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ3BEO1lBRUQsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLENBQUM7YUFDeEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO2FBQ2xDO1NBQ0Y7UUFFRCxPQUFPO1FBQ1AsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUU7b0JBQ3BDLE1BQU07aUJBQ1AsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ3BEO1lBRUQsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLENBQUM7YUFDeEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO2FBQ2xDO1NBQ0Y7SUFDSCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQU07UUFDaEIsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUNsRCxPQUFPO1NBQ1I7UUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ2xELE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDM0MsTUFBTTthQUNQLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkQ7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNuRDtJQUNILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM5QjtRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUNELGVBQWUsQ0FBQyxNQUFhO1FBQzNCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBQ0QsVUFBVSxDQUFDLE1BQU07UUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzRCxJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQzthQUNsRTtTQUNGO0lBQ0gsQ0FBQzs7O1lBNUtGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUO2dCQVdELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO3lCQVQ3Qzs7Ozs7OztLQU9DO2FBR0o7OztvQkFFRSxLQUFLO29CQUtMLEtBQUs7b0JBQ0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7c0JBQ0wsS0FBSzswQkFDTCxLQUFLO3VCQUNMLE1BQU07O0FBd0lULE1BQU0sT0FBTyxtQkFBbUI7OztZQUwvQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgTmdNb2R1bGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1lZGl0YWJsZS1pbnB1dCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIndyYXBcIiBbbmdTdHlsZV09XCJ3cmFwU3R5bGVcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBbbmdTdHlsZV09XCJpbnB1dFN0eWxlXCJcbiAgICAgICAgc3BlbGxDaGVjaz1cImZhbHNlXCJcbiAgICAgICAgW3ZhbHVlXT1cImN1cnJlbnRWYWx1ZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleWRvd24oJGV2ZW50KVwiXG4gICAgICAgIChrZXl1cCk9XCJoYW5kbGVLZXl1cCgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cImhhbmRsZUZvY3VzKCRldmVudClcIlxuICAgICAgICAoZm9jdXNvdXQpPVwiaGFuZGxlRm9jdXNPdXQoJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ1bmlxdWVJZFwiXG4gICAgICAvPlxuICAgICAgPHNwYW4gW2lkXT1cInVuaXF1ZUlkXCIgKm5nSWY9XCJsYWJlbFwiIFtuZ1N0eWxlXT1cImxhYmVsU3R5bGVcIiAobW91c2Vkb3duKT1cImhhbmRsZU1vdXNlZG93bigkZXZlbnQpXCI+XG4gICAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgIC53cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0YWJsZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHN0eWxlIToge1xuICAgIHdyYXA/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGlucHV0PzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBsYWJlbD86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIH07XG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZSE6IHN0cmluZyB8IG51bWJlcjtcbiAgQElucHV0KCkgYXJyb3dPZmZzZXQhOiBudW1iZXI7XG4gIEBJbnB1dCgpIGRyYWdMYWJlbCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRyYWdNYXghOiBudW1iZXI7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgY3VycmVudFZhbHVlITogc3RyaW5nIHwgbnVtYmVyO1xuICBibHVyVmFsdWUhOiBzdHJpbmc7XG4gIHdyYXBTdHlsZSE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGlucHV0U3R5bGUhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBsYWJlbFN0eWxlITogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgZm9jdXMgPSBmYWxzZTtcbiAgbW91c2Vtb3ZlITogU3Vic2NyaXB0aW9uO1xuICBtb3VzZXVwITogU3Vic2NyaXB0aW9uO1xuICB1bmlxdWVJZDogc3RyaW5nID0gYGVkaXRhYmxlSW5wdXQtJHsrK25leHRVbmlxdWVJZH1gO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMud3JhcFN0eWxlID0gdGhpcy5zdHlsZSAmJiB0aGlzLnN0eWxlLndyYXAgPyB0aGlzLnN0eWxlLndyYXAgOiB7fTtcbiAgICB0aGlzLmlucHV0U3R5bGUgPSB0aGlzLnN0eWxlICYmIHRoaXMuc3R5bGUuaW5wdXQgPyB0aGlzLnN0eWxlLmlucHV0IDoge307XG4gICAgdGhpcy5sYWJlbFN0eWxlID0gdGhpcy5zdHlsZSAmJiB0aGlzLnN0eWxlLmxhYmVsID8gdGhpcy5zdHlsZS5sYWJlbCA6IHt9O1xuICAgIGlmICh0aGlzLmRyYWdMYWJlbCkge1xuICAgICAgdGhpcy5sYWJlbFN0eWxlLmN1cnNvciA9ICdldy1yZXNpemUnO1xuICAgIH1cbiAgfVxuICBoYW5kbGVGb2N1cygkZXZlbnQpIHtcbiAgICB0aGlzLmZvY3VzID0gdHJ1ZTtcbiAgfVxuICBoYW5kbGVGb2N1c091dCgkZXZlbnQpIHtcbiAgICB0aGlzLmZvY3VzID0gZmFsc2U7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmJsdXJWYWx1ZTtcbiAgfVxuICBoYW5kbGVLZXlkb3duKCRldmVudCkge1xuICAgIC8vIEluIGNhc2UgYGUudGFyZ2V0LnZhbHVlYCBpcyBhIHBlcmNlbnRhZ2UgcmVtb3ZlIHRoZSBgJWAgY2hhcmFjdGVyXG4gICAgLy8gYW5kIHVwZGF0ZSBhY2NvcmRpbmdseSB3aXRoIGEgcGVyY2VudGFnZVxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jYXNlc2FuZGJlcmcvcmVhY3QtY29sb3IvaXNzdWVzLzM4M1xuICAgIGNvbnN0IHN0cmluZ1ZhbHVlID0gU3RyaW5nKCRldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGNvbnN0IGlzUGVyY2VudGFnZSA9IHN0cmluZ1ZhbHVlLmluZGV4T2YoJyUnKSA+IC0xO1xuICAgIGNvbnN0IG51bSA9IE51bWJlcihzdHJpbmdWYWx1ZS5yZXBsYWNlKC8lL2csICcnKSk7XG4gICAgaWYgKGlzTmFOKG51bSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgYW1vdW50ID0gdGhpcy5hcnJvd09mZnNldCB8fCAxO1xuXG4gICAgLy8gVXBcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IDM4KSB7XG4gICAgICBpZiAodGhpcy5sYWJlbCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgIGRhdGE6IHsgW3RoaXMubGFiZWxdOiBudW0gKyBhbW91bnQgfSxcbiAgICAgICAgICAkZXZlbnQsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgZGF0YTogbnVtICsgYW1vdW50LCAkZXZlbnQgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1BlcmNlbnRhZ2UpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBgJHtudW0gKyBhbW91bnR9JWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IG51bSArIGFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEb3duXG4gICAgaWYgKCRldmVudC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgICBkYXRhOiB7IFt0aGlzLmxhYmVsXTogbnVtIC0gYW1vdW50IH0sXG4gICAgICAgICAgJGV2ZW50LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7IGRhdGE6IG51bSAtIGFtb3VudCwgJGV2ZW50IH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNQZXJjZW50YWdlKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gYCR7bnVtIC0gYW1vdW50fSVgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBudW0gLSBhbW91bnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGhhbmRsZUtleXVwKCRldmVudCkge1xuICAgIGlmICgkZXZlbnQua2V5Q29kZSA9PT0gNDAgfHwgJGV2ZW50LmtleUNvZGUgPT09IDM4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChgJHt0aGlzLmN1cnJlbnRWYWx1ZX1gID09PSAkZXZlbnQudGFyZ2V0LnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgIGRhdGE6IHsgW3RoaXMubGFiZWxdOiAkZXZlbnQudGFyZ2V0LnZhbHVlIH0sXG4gICAgICAgICRldmVudCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBkYXRhOiAkZXZlbnQudGFyZ2V0LnZhbHVlLCAkZXZlbnQgfSk7XG4gICAgfVxuICB9XG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICghdGhpcy5mb2N1cykge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBTdHJpbmcodGhpcy52YWx1ZSkudG9VcHBlckNhc2UoKTtcbiAgICAgIHRoaXMuYmx1clZhbHVlID0gU3RyaW5nKHRoaXMudmFsdWUpLnRvVXBwZXJDYXNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYmx1clZhbHVlID0gU3RyaW5nKHRoaXMudmFsdWUpLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxuICBzdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5tb3VzZW1vdmUgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKS5zdWJzY3JpYmUoKGV2OiBFdmVudCkgPT4gdGhpcy5oYW5kbGVEcmFnKGV2KSk7XG4gICAgdGhpcy5tb3VzZXVwID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG4gIHVuc3Vic2NyaWJlKCkge1xuICAgIGlmICh0aGlzLm1vdXNlbW92ZSkge1xuICAgICAgdGhpcy5tb3VzZW1vdmUudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW91c2V1cCkge1xuICAgICAgdGhpcy5tb3VzZXVwLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG4gIGhhbmRsZU1vdXNlZG93bigkZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJhZ0xhYmVsKSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuaGFuZGxlRHJhZygkZXZlbnQpO1xuICAgICAgdGhpcy5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbiAgaGFuZGxlRHJhZygkZXZlbnQpIHtcbiAgICBpZiAodGhpcy5kcmFnTGFiZWwpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gTWF0aC5yb3VuZCh0aGlzLnZhbHVlICsgJGV2ZW50Lm1vdmVtZW50WCk7XG4gICAgICBpZiAobmV3VmFsdWUgPj0gMCAmJiBuZXdWYWx1ZSA8PSB0aGlzLmRyYWdNYXgpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgZGF0YTogeyBbdGhpcy5sYWJlbF06IG5ld1ZhbHVlIH0sICRldmVudCB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRWRpdGFibGVJbnB1dENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtFZGl0YWJsZUlucHV0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRhYmxlSW5wdXRNb2R1bGUge31cbiJdfQ==
|
@@ -1,33 +0,0 @@
|
|
1
|
-
const checkboardCache = {};
|
2
|
-
export function render(c1, c2, size) {
|
3
|
-
if (typeof document === 'undefined') {
|
4
|
-
return null;
|
5
|
-
}
|
6
|
-
const canvas = document.createElement('canvas');
|
7
|
-
canvas.width = size * 2;
|
8
|
-
canvas.height = size * 2;
|
9
|
-
const ctx = canvas.getContext('2d');
|
10
|
-
if (!ctx) {
|
11
|
-
return null;
|
12
|
-
} // If no context can be found, return early.
|
13
|
-
ctx.fillStyle = c1;
|
14
|
-
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
15
|
-
ctx.fillStyle = c2;
|
16
|
-
ctx.fillRect(0, 0, size, size);
|
17
|
-
ctx.translate(size, size);
|
18
|
-
ctx.fillRect(0, 0, size, size);
|
19
|
-
return canvas.toDataURL();
|
20
|
-
}
|
21
|
-
export function getCheckerboard(c1, c2, size) {
|
22
|
-
const key = `${c1}-${c2}-${size}`;
|
23
|
-
if (checkboardCache[key]) {
|
24
|
-
return checkboardCache[key];
|
25
|
-
}
|
26
|
-
const checkboard = render(c1, c2, size);
|
27
|
-
if (!checkboard) {
|
28
|
-
return null;
|
29
|
-
}
|
30
|
-
checkboardCache[key] = checkboard;
|
31
|
-
return checkboard;
|
32
|
-
}
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tbW9uL2hlbHBlcnMvY2hlY2tib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGVBQWUsR0FBNEIsRUFBRSxDQUFDO0FBRXBELE1BQU0sVUFBVSxNQUFNLENBQUMsRUFBVSxFQUFFLEVBQVUsRUFBRSxJQUFZO0lBQ3pELElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUN4QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7SUFDekIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxJQUFJLENBQUM7S0FDYixDQUFDLDRDQUE0QztJQUM5QyxHQUFHLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNuQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsR0FBRyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDbkIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9CLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEVBQVUsRUFBRSxFQUFVLEVBQUUsSUFBWTtJQUNsRSxNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7SUFDbEMsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDeEIsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDN0I7SUFDRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDbEMsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNoZWNrYm9hcmRDYWNoZToge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7fTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcihjMTogc3RyaW5nLCBjMjogc3RyaW5nLCBzaXplOiBudW1iZXIpIHtcbiAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgY2FudmFzLndpZHRoID0gc2l6ZSAqIDI7XG4gIGNhbnZhcy5oZWlnaHQgPSBzaXplICogMjtcbiAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gIGlmICghY3R4KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gSWYgbm8gY29udGV4dCBjYW4gYmUgZm91bmQsIHJldHVybiBlYXJseS5cbiAgY3R4LmZpbGxTdHlsZSA9IGMxO1xuICBjdHguZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgY3R4LmZpbGxTdHlsZSA9IGMyO1xuICBjdHguZmlsbFJlY3QoMCwgMCwgc2l6ZSwgc2l6ZSk7XG4gIGN0eC50cmFuc2xhdGUoc2l6ZSwgc2l6ZSk7XG4gIGN0eC5maWxsUmVjdCgwLCAwLCBzaXplLCBzaXplKTtcbiAgcmV0dXJuIGNhbnZhcy50b0RhdGFVUkwoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENoZWNrZXJib2FyZChjMTogc3RyaW5nLCBjMjogc3RyaW5nLCBzaXplOiBudW1iZXIpIHtcbiAgY29uc3Qga2V5ID0gYCR7YzF9LSR7YzJ9LSR7c2l6ZX1gO1xuICBpZiAoY2hlY2tib2FyZENhY2hlW2tleV0pIHtcbiAgICByZXR1cm4gY2hlY2tib2FyZENhY2hlW2tleV07XG4gIH1cbiAgY29uc3QgY2hlY2tib2FyZCA9IHJlbmRlcihjMSwgYzIsIHNpemUpO1xuICBpZiAoIWNoZWNrYm9hcmQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjaGVja2JvYXJkQ2FjaGVba2V5XSA9IGNoZWNrYm9hcmQ7XG4gIHJldHVybiBjaGVja2JvYXJkO1xufVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tbW9uL2hlbHBlcnMvY29sb3IuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSR0Ige1xuICByOiBudW1iZXI7XG4gIGc6IG51bWJlcjtcbiAgYjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJHQkEgZXh0ZW5kcyBSR0Ige1xuICBhOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFNMIHtcbiAgaDogbnVtYmVyO1xuICBzOiBudW1iZXI7XG4gIGw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIU0xBIGV4dGVuZHMgSFNMIHtcbiAgYTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhTViB7XG4gIGg6IG51bWJlcjtcbiAgczogbnVtYmVyO1xuICB2OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFNWQSBleHRlbmRzIEhTViB7XG4gIGE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIU1ZBc291cmNlIGV4dGVuZHMgSFNWQSB7XG4gIHNvdXJjZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhTTEFzb3VyY2UgZXh0ZW5kcyBIU0xBIHtcbiAgc291cmNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3Ige1xuICBoZXg6IHN0cmluZztcbiAgcmdiOiBSR0JBO1xuICBoc2w6IEhTTEE7XG4gIGhzdjogSFNWQTtcbiAgb2xkSHVlOiBudW1iZXI7XG4gIHNvdXJjZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXBlIHtcbiAgY29sb3I6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbn1cbiJdfQ==
|
package/esm2015/helpers/color.js
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
import { TinyColor } from '@ctrl/tinycolor';
|
2
|
-
export function simpleCheckForValidColor(data) {
|
3
|
-
const keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];
|
4
|
-
let checked = 0;
|
5
|
-
let passed = 0;
|
6
|
-
keysToCheck.forEach(letter => {
|
7
|
-
if (!data[letter]) {
|
8
|
-
return;
|
9
|
-
}
|
10
|
-
checked += 1;
|
11
|
-
if (!isNaN(data[letter])) {
|
12
|
-
passed += 1;
|
13
|
-
}
|
14
|
-
if (letter === 's' || letter === 'l') {
|
15
|
-
const percentPatt = /^\d+%$/;
|
16
|
-
if (percentPatt.test(data[letter])) {
|
17
|
-
passed += 1;
|
18
|
-
}
|
19
|
-
}
|
20
|
-
});
|
21
|
-
return checked === passed ? data : false;
|
22
|
-
}
|
23
|
-
export function toState(data, oldHue, disableAlpha) {
|
24
|
-
const color = data.hex ? new TinyColor(data.hex) : new TinyColor(data);
|
25
|
-
if (disableAlpha) {
|
26
|
-
color.setAlpha(1);
|
27
|
-
}
|
28
|
-
const hsl = color.toHsl();
|
29
|
-
const hsv = color.toHsv();
|
30
|
-
const rgb = color.toRgb();
|
31
|
-
const hex = color.toHex();
|
32
|
-
if (hsl.s === 0) {
|
33
|
-
hsl.h = oldHue || 0;
|
34
|
-
hsv.h = oldHue || 0;
|
35
|
-
}
|
36
|
-
const transparent = hex === '000000' && rgb.a === 0;
|
37
|
-
return {
|
38
|
-
hsl,
|
39
|
-
hex: transparent ? 'transparent' : color.toHexString(),
|
40
|
-
rgb,
|
41
|
-
hsv,
|
42
|
-
oldHue: data.h || oldHue || hsl.h,
|
43
|
-
source: data.source,
|
44
|
-
};
|
45
|
-
}
|
46
|
-
export function isValidHex(hex) {
|
47
|
-
return new TinyColor(hex).isValid;
|
48
|
-
}
|
49
|
-
export function getContrastingColor(data) {
|
50
|
-
if (!data) {
|
51
|
-
return '#fff';
|
52
|
-
}
|
53
|
-
const col = toState(data);
|
54
|
-
if (col.hex === 'transparent') {
|
55
|
-
return 'rgba(0,0,0,0.4)';
|
56
|
-
}
|
57
|
-
const yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;
|
58
|
-
return yiq >= 128 ? '#000' : '#fff';
|
59
|
-
}
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbW1vbi9oZWxwZXJzL2NvbG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk1QyxNQUFNLFVBQVUsd0JBQXdCLENBQUMsSUFBSTtJQUMzQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDaEIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxDQUFDLENBQUM7U0FDYjtRQUNELElBQUksTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztZQUM3QixJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sSUFBSSxDQUFDLENBQUM7YUFDYjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFlLEVBQUUsWUFBc0I7SUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RSxJQUFJLFlBQVksRUFBRTtRQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ25CO0lBRUQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDZixHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDcEIsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDO0tBQ3JCO0lBQ0QsTUFBTSxXQUFXLEdBQUcsR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwRCxPQUFPO1FBQ0wsR0FBRztRQUNILEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTtRQUN0RCxHQUFHO1FBQ0gsR0FBRztRQUNILE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07S0FDcEIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQVc7SUFDcEMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDcEMsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBQ0QsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxhQUFhLEVBQUU7UUFDN0IsT0FBTyxpQkFBaUIsQ0FBQztLQUMxQjtJQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDekUsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGlueUNvbG9yIH0gZnJvbSAnQGN0cmwvdGlueWNvbG9yJztcblxuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICcuL2NvbG9yLmludGVyZmFjZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2ltcGxlQ2hlY2tGb3JWYWxpZENvbG9yKGRhdGEpIHtcbiAgY29uc3Qga2V5c1RvQ2hlY2sgPSBbJ3InLCAnZycsICdiJywgJ2EnLCAnaCcsICdzJywgJ2wnLCAndiddO1xuICBsZXQgY2hlY2tlZCA9IDA7XG4gIGxldCBwYXNzZWQgPSAwO1xuICBrZXlzVG9DaGVjay5mb3JFYWNoKGxldHRlciA9PiB7XG4gICAgaWYgKCFkYXRhW2xldHRlcl0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY2hlY2tlZCArPSAxO1xuICAgIGlmICghaXNOYU4oZGF0YVtsZXR0ZXJdKSkge1xuICAgICAgcGFzc2VkICs9IDE7XG4gICAgfVxuICAgIGlmIChsZXR0ZXIgPT09ICdzJyB8fCBsZXR0ZXIgPT09ICdsJykge1xuICAgICAgY29uc3QgcGVyY2VudFBhdHQgPSAvXlxcZCslJC87XG4gICAgICBpZiAocGVyY2VudFBhdHQudGVzdChkYXRhW2xldHRlcl0pKSB7XG4gICAgICAgIHBhc3NlZCArPSAxO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBjaGVja2VkID09PSBwYXNzZWQgPyBkYXRhIDogZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0YXRlKGRhdGEsIG9sZEh1ZT86IG51bWJlciwgZGlzYWJsZUFscGhhPzogYm9vbGVhbik6IENvbG9yIHtcbiAgY29uc3QgY29sb3IgPSBkYXRhLmhleCA/IG5ldyBUaW55Q29sb3IoZGF0YS5oZXgpIDogbmV3IFRpbnlDb2xvcihkYXRhKTtcbiAgaWYgKGRpc2FibGVBbHBoYSkge1xuICAgIGNvbG9yLnNldEFscGhhKDEpO1xuICB9XG5cbiAgY29uc3QgaHNsID0gY29sb3IudG9Ic2woKTtcbiAgY29uc3QgaHN2ID0gY29sb3IudG9Ic3YoKTtcbiAgY29uc3QgcmdiID0gY29sb3IudG9SZ2IoKTtcbiAgY29uc3QgaGV4ID0gY29sb3IudG9IZXgoKTtcbiAgaWYgKGhzbC5zID09PSAwKSB7XG4gICAgaHNsLmggPSBvbGRIdWUgfHwgMDtcbiAgICBoc3YuaCA9IG9sZEh1ZSB8fCAwO1xuICB9XG4gIGNvbnN0IHRyYW5zcGFyZW50ID0gaGV4ID09PSAnMDAwMDAwJyAmJiByZ2IuYSA9PT0gMDtcblxuICByZXR1cm4ge1xuICAgIGhzbCxcbiAgICBoZXg6IHRyYW5zcGFyZW50ID8gJ3RyYW5zcGFyZW50JyA6IGNvbG9yLnRvSGV4U3RyaW5nKCksXG4gICAgcmdiLFxuICAgIGhzdixcbiAgICBvbGRIdWU6IGRhdGEuaCB8fCBvbGRIdWUgfHwgaHNsLmgsXG4gICAgc291cmNlOiBkYXRhLnNvdXJjZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRIZXgoaGV4OiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBUaW55Q29sb3IoaGV4KS5pc1ZhbGlkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29udHJhc3RpbmdDb2xvcihkYXRhKSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiAnI2ZmZic7XG4gIH1cbiAgY29uc3QgY29sID0gdG9TdGF0ZShkYXRhKTtcbiAgaWYgKGNvbC5oZXggPT09ICd0cmFuc3BhcmVudCcpIHtcbiAgICByZXR1cm4gJ3JnYmEoMCwwLDAsMC40KSc7XG4gIH1cbiAgY29uc3QgeWlxID0gKGNvbC5yZ2IuciAqIDI5OSArIGNvbC5yZ2IuZyAqIDU4NyArIGNvbC5yZ2IuYiAqIDExNCkgLyAxMDAwO1xuICByZXR1cm4geWlxID49IDEyOCA/ICcjMDAwJyA6ICcjZmZmJztcbn1cbiJdfQ==
|