@choice-ui/react 1.7.6 → 1.7.7
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/dist/components/colors/dist/index.d.ts +878 -0
- package/dist/components/colors/scripts/build-worker.d.ts +1 -0
- package/dist/components/colors/src/check-color-contrast/check-color-contrast-boundary.d.ts +14 -0
- package/dist/components/colors/src/check-color-contrast/check-color-contrast-boundary.js +403 -0
- package/dist/components/colors/src/check-color-contrast/check-color-contrast-toolbar.d.ts +12 -0
- package/dist/components/colors/src/check-color-contrast/check-color-contrast-toolbar.js +285 -0
- package/dist/components/colors/src/check-color-contrast/index.d.ts +2 -0
- package/dist/components/colors/src/color-area/color-area.d.ts +24 -0
- package/dist/components/colors/src/color-area/color-area.js +228 -0
- package/dist/components/colors/src/color-area/index.d.ts +1 -0
- package/dist/components/colors/src/color-area/tv.d.ts +34 -0
- package/dist/components/colors/src/color-area/tv.js +22 -0
- package/dist/components/colors/src/color-channel-field/color-channel-field.d.ts +22 -0
- package/dist/components/colors/src/color-channel-field/color-channel-field.js +110 -0
- package/dist/components/colors/src/color-channel-field/color-channel-input.d.ts +20 -0
- package/dist/components/colors/src/color-channel-field/color-channel-input.js +261 -0
- package/dist/components/colors/src/color-channel-field/index.d.ts +1 -0
- package/dist/components/colors/src/color-channel-field/tv.d.ts +101 -0
- package/dist/components/colors/src/color-channel-field/tv.js +85 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradient-combined.d.ts +16 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradient-combined.js +54 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradient-control.d.ts +18 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradient-control.js +149 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradient-list.d.ts +20 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradient-list.js +111 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradient-slider.d.ts +18 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradient-slider.js +281 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradients-paint.d.ts +17 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradients-paint.js +162 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradients-toolbar.d.ts +10 -0
- package/dist/components/colors/src/color-gradients-paint/color-gradients-toolbar.js +62 -0
- package/dist/components/colors/src/color-gradients-paint/index.d.ts +3 -0
- package/dist/components/colors/src/color-image-paint/color-image-paint.d.ts +13 -0
- package/dist/components/colors/src/color-image-paint/color-image-paint.js +236 -0
- package/dist/components/colors/src/color-image-paint/color-image-toolbar.d.ts +9 -0
- package/dist/components/colors/src/color-image-paint/color-image-toolbar.js +52 -0
- package/dist/components/colors/src/color-image-paint/index.d.ts +1 -0
- package/dist/components/colors/src/color-image-paint/tv.d.ts +89 -0
- package/dist/components/colors/src/color-image-paint/tv.js +45 -0
- package/dist/components/colors/src/color-picker-content/color-picker-content.d.ts +18 -0
- package/dist/components/colors/src/color-picker-content/color-picker-content.js +58 -0
- package/dist/components/colors/src/color-picker-content/color-picker-custom-content.d.ts +16 -0
- package/dist/components/colors/src/color-picker-content/color-picker-custom-content.js +75 -0
- package/dist/components/colors/src/color-picker-content/index.d.ts +1 -0
- package/dist/components/colors/src/color-picker-content/paint-type-selector.d.ts +13 -0
- package/dist/components/colors/src/color-picker-content/paint-type-selector.js +50 -0
- package/dist/components/colors/src/color-picker-content/tv.d.ts +31 -0
- package/dist/components/colors/src/color-picker-content/tv.js +13 -0
- package/dist/components/colors/src/color-picker-popover/color-paints-type.d.ts +15 -0
- package/dist/components/colors/src/color-picker-popover/color-paints-type.js +56 -0
- package/dist/components/colors/src/color-picker-popover/color-picker-popover.d.ts +26 -0
- package/dist/components/colors/src/color-picker-popover/color-picker-popover.js +116 -0
- package/dist/components/colors/src/color-picker-popover/color-picker-tabs.d.ts +14 -0
- package/dist/components/colors/src/color-picker-popover/color-picker-tabs.js +47 -0
- package/dist/components/colors/src/color-picker-popover/color-picker-title.d.ts +14 -0
- package/dist/components/colors/src/color-picker-popover/color-picker-title.js +30 -0
- package/dist/components/colors/src/color-picker-popover/index.d.ts +3 -0
- package/dist/components/colors/src/color-picker-popover/tv.d.ts +37 -0
- package/dist/components/colors/src/color-slider/color-slider.d.ts +19 -0
- package/dist/components/colors/src/color-slider/color-slider.js +185 -0
- package/dist/components/colors/src/color-slider/index.d.ts +1 -0
- package/dist/components/colors/src/color-slider/tv.d.ts +31 -0
- package/dist/components/colors/src/color-slider/tv.js +21 -0
- package/dist/components/colors/src/color-solid-paint/color-native-picker.d.ts +8 -0
- package/dist/components/colors/src/color-solid-paint/color-native-picker.js +63 -0
- package/dist/components/colors/src/color-solid-paint/color-solid-paint.d.ts +25 -0
- package/dist/components/colors/src/color-solid-paint/color-solid-paint.js +295 -0
- package/dist/components/colors/src/color-solid-paint/index.d.ts +3 -0
- package/dist/components/colors/src/color-solid-paint/solid-paint-alpha-slider.d.ts +10 -0
- package/dist/components/colors/src/color-solid-paint/solid-paint-alpha-slider.js +20 -0
- package/dist/components/colors/src/color-solid-paint/solid-paint-area.d.ts +17 -0
- package/dist/components/colors/src/color-solid-paint/solid-paint-area.js +131 -0
- package/dist/components/colors/src/color-solid-paint/solid-paint-channel-field.d.ts +20 -0
- package/dist/components/colors/src/color-solid-paint/solid-paint-channel-field.js +147 -0
- package/dist/components/colors/src/color-solid-paint/solid-paint-hue-slider.d.ts +14 -0
- package/dist/components/colors/src/color-solid-paint/solid-paint-hue-slider.js +46 -0
- package/dist/components/colors/src/color-solid-paint/solid-paint-library-item.d.ts +8 -0
- package/dist/components/colors/src/color-solid-paint/tv.d.ts +79 -0
- package/dist/components/colors/src/color-solid-paint/tv.js +39 -0
- package/dist/components/colors/src/color-swatch/color-swatch.d.ts +15 -0
- package/dist/components/colors/src/color-swatch/color-swatch.js +111 -0
- package/dist/components/colors/src/color-swatch/index.d.ts +1 -0
- package/dist/components/colors/src/contents/color-space.d.ts +19 -0
- package/dist/components/colors/src/contents/color-space.js +16 -0
- package/dist/components/colors/src/contents/colors.d.ts +42 -0
- package/dist/components/colors/src/contents/colors.js +24 -0
- package/dist/components/colors/src/contents/index.d.ts +3 -0
- package/dist/components/colors/src/contents/translation.d.ts +100 -0
- package/dist/components/colors/src/contents/translation.js +94 -0
- package/dist/components/colors/src/context/colots-context.d.ts +24 -0
- package/dist/components/colors/src/context/colots-context.js +62 -0
- package/dist/components/colors/src/context/index.d.ts +1 -0
- package/dist/components/colors/src/fill-input/alpha-input.d.ts +12 -0
- package/dist/components/colors/src/fill-input/alpha-input.js +48 -0
- package/dist/components/colors/src/fill-input/color-input.d.ts +31 -0
- package/dist/components/colors/src/fill-input/color-input.js +115 -0
- package/dist/components/colors/src/fill-input/gradient-item.d.ts +25 -0
- package/dist/components/colors/src/fill-input/gradient-item.js +103 -0
- package/dist/components/colors/src/fill-input/image-item.d.ts +25 -0
- package/dist/components/colors/src/fill-input/image-item.js +89 -0
- package/dist/components/colors/src/fill-input/index.d.ts +5 -0
- package/dist/components/colors/src/fill-input/tv.d.ts +221 -0
- package/dist/components/colors/src/fill-input/tv.js +205 -0
- package/dist/components/colors/src/fill-input/variable-item.d.ts +22 -0
- package/dist/components/colors/src/fill-input/variable-item.js +105 -0
- package/dist/components/colors/src/hex-input/hex-input.d.ts +10 -0
- package/dist/components/colors/src/hex-input/hex-input.js +182 -0
- package/dist/components/colors/src/hex-input/index.d.ts +1 -0
- package/dist/components/colors/src/hex-input/tv.d.ts +1 -0
- package/dist/components/colors/src/hex-input/tv.js +12 -0
- package/dist/components/colors/src/hooks/index.d.ts +10 -0
- package/dist/components/colors/src/hooks/use-color-contrast-recommendation.d.ts +36 -0
- package/dist/components/colors/src/hooks/use-color-contrast-recommendation.js +502 -0
- package/dist/components/colors/src/hooks/use-color-parser.d.ts +10 -0
- package/dist/components/colors/src/hooks/use-color-parser.js +146 -0
- package/dist/components/colors/src/hooks/use-color-picker.d.ts +45 -0
- package/dist/components/colors/src/hooks/use-color-picker.js +117 -0
- package/dist/components/colors/src/hooks/use-color-profile.d.ts +2 -0
- package/dist/components/colors/src/hooks/use-color-profile.js +27 -0
- package/dist/components/colors/src/hooks/use-cursor.d.ts +1 -0
- package/dist/components/colors/src/hooks/use-cursor.js +25 -0
- package/dist/components/colors/src/hooks/use-features.d.ts +21 -0
- package/dist/components/colors/src/hooks/use-features.js +73 -0
- package/dist/components/colors/src/hooks/use-image-filter-style.d.ts +9 -0
- package/dist/components/colors/src/hooks/use-image-filter-style.js +25 -0
- package/dist/components/colors/src/hooks/use-image-processor.d.ts +10 -0
- package/dist/components/colors/src/hooks/use-image-processor.js +121 -0
- package/dist/components/colors/src/hooks/use-paint-state.d.ts +16 -0
- package/dist/components/colors/src/hooks/use-paint-state.js +37 -0
- package/dist/components/colors/src/hooks/use-rgb-color-handler.d.ts +21 -0
- package/dist/components/colors/src/hooks/use-rgb-color-handler.js +58 -0
- package/dist/components/colors/src/index.d.ts +38 -0
- package/dist/components/colors/src/libraries/components/virtualized-grid-row.d.ts +36 -0
- package/dist/components/colors/src/libraries/components/virtualized-grid-row.js +53 -0
- package/dist/components/colors/src/libraries/components/virtualized-header.d.ts +9 -0
- package/dist/components/colors/src/libraries/components/virtualized-header.js +30 -0
- package/dist/components/colors/src/libraries/hooks/index.d.ts +2 -0
- package/dist/components/colors/src/libraries/hooks/use-category-options.d.ts +11 -0
- package/dist/components/colors/src/libraries/hooks/use-category-options.js +27 -0
- package/dist/components/colors/src/libraries/hooks/use-palette-color.d.ts +19 -0
- package/dist/components/colors/src/libraries/hooks/use-palette-color.js +41 -0
- package/dist/components/colors/src/libraries/index.d.ts +8 -0
- package/dist/components/colors/src/libraries/libraries-content.d.ts +8 -0
- package/dist/components/colors/src/libraries/libraries-empty-content.d.ts +5 -0
- package/dist/components/colors/src/libraries/libraries-header.d.ts +18 -0
- package/dist/components/colors/src/libraries/libraries-header.js +111 -0
- package/dist/components/colors/src/libraries/libraries-search-empty-content.d.ts +1 -0
- package/dist/components/colors/src/libraries/libraries-search-input.d.ts +6 -0
- package/dist/components/colors/src/libraries/libraries.d.ts +42 -0
- package/dist/components/colors/src/libraries/libraries.js +461 -0
- package/dist/components/colors/src/libraries/library-color-swatch.d.ts +21 -0
- package/dist/components/colors/src/libraries/library-item/index.d.ts +4 -0
- package/dist/components/colors/src/libraries/library-item/library-item.d.ts +21 -0
- package/dist/components/colors/src/libraries/library-item/library-item.js +151 -0
- package/dist/components/colors/src/libraries/library-item/library-list-item.d.ts +6 -0
- package/dist/components/colors/src/libraries/library-item/style-items.d.ts +17 -0
- package/dist/components/colors/src/libraries/library-item/style-items.js +63 -0
- package/dist/components/colors/src/libraries/library-item/variable-items.d.ts +19 -0
- package/dist/components/colors/src/libraries/library-item/variable-items.js +47 -0
- package/dist/components/colors/src/libraries/tv.d.ts +198 -0
- package/dist/components/colors/src/libraries/tv.js +141 -0
- package/dist/components/colors/src/simple-color-picker/index.d.ts +1 -0
- package/dist/components/colors/src/simple-color-picker/simple-color-picker.d.ts +17 -0
- package/dist/components/colors/src/simple-color-picker/simple-color-picker.js +153 -0
- package/dist/components/colors/src/types/base.d.ts +5 -0
- package/dist/components/colors/src/types/colors.d.ts +139 -0
- package/dist/components/colors/src/types/effect.d.ts +18 -0
- package/dist/components/colors/src/types/fill.d.ts +15 -0
- package/dist/components/colors/src/types/fonts.d.ts +38 -0
- package/dist/components/colors/src/types/index.d.ts +7 -0
- package/dist/components/colors/src/types/libraries.d.ts +7 -0
- package/dist/components/colors/src/types/paint.d.ts +139 -0
- package/dist/components/colors/src/types/style.d.ts +51 -0
- package/dist/components/colors/src/types/testing-library.d.ts +0 -0
- package/dist/components/colors/src/types/util.d.ts +26 -0
- package/dist/components/colors/src/types/variable.d.ts +27 -0
- package/dist/components/colors/src/utils/background.d.ts +12 -0
- package/dist/components/colors/src/utils/background.js +216 -0
- package/dist/components/colors/src/utils/color-profile-storage.d.ts +29 -0
- package/dist/components/colors/src/utils/color.d.ts +20 -0
- package/dist/components/colors/src/utils/color.js +45 -0
- package/dist/components/colors/src/utils/colors-convert.d.ts +18 -0
- package/dist/components/colors/src/utils/colors-convert.js +138 -0
- package/dist/components/colors/src/utils/contrast-utils.d.ts +27 -0
- package/dist/components/colors/src/utils/contrast-utils.js +25 -0
- package/dist/components/colors/src/utils/cursor.d.ts +1 -0
- package/dist/components/colors/src/utils/index.d.ts +7 -0
- package/dist/components/colors/src/utils/math.d.ts +9 -0
- package/dist/components/colors/src/utils/position.d.ts +33 -0
- package/dist/components/colors/src/utils/position.js +60 -0
- package/dist/components/colors/src/utils/validate.d.ts +10 -0
- package/dist/components/colors/src/workers/boundary-calculator.worker.bundled.d.ts +2 -0
- package/dist/components/colors/src/workers/boundary-calculator.worker.bundled.js +36 -0
- package/dist/components/colors/src/workers/boundary-calculator.worker.d.ts +1 -0
- package/dist/components/colors/src/workers/index.d.ts +1 -0
- package/dist/components/colors/tsup.config.d.ts +2 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/textarea/src/tv.d.ts +9 -3
- package/dist/components/textarea/src/tv.js +3 -1
- package/dist/components/toggle-button/dist/index.js +602 -0
- package/dist/index.js +69 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/index.js +119 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/Color.js +42 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/chroma.js +9 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/colors/colorbrewer.js +57 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/colors/w3cx11.js +159 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/average.js +82 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/bezier.js +68 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/blend.js +43 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/cubehelix.js +81 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/mix.js +20 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/random.js +13 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/scale.js +325 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/_hsx.js +54 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hcg.js +10 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hsi.js +10 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hsl.js +10 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hsv.js +10 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/index.js +4 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/lab.js +17 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/lch.js +11 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/lrgb.js +17 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/num.js +12 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/oklab.js +17 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/oklch.js +10 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/rgb.js +16 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.js +20 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/cmyk/index.js +25 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.js +18 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/css2rgb.js +169 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/hsl2css.js +20 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/index.js +23 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/lab2css.js +19 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/lch2css.js +19 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/oklab2css.js +17 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/oklch2css.js +17 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/rgb2css.js +53 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/gl/index.js +21 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hcg/hcg2rgb.js +48 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hcg/index.js +25 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hcg/rgb2hcg.js +24 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hex/hex2rgb.js +37 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hex/index.js +23 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hex/rgb2hex.js +31 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsi/hsi2rgb.js +36 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsi/index.js +25 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsi/rgb2hsi.js +28 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsl/hsl2rgb.js +35 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsl/index.js +25 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsl/rgb2hsl.js +29 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsv/hsv2rgb.js +46 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsv/index.js +25 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsv/rgb2hsv.js +27 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/input.js +7 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/index.js +28 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/lab-constants.js +106 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/lab2rgb.js +59 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/rgb2lab.js +51 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/hcl2rgb.js +10 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/index.js +35 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/lab2lch.js +13 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/lch2lab.js +12 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/lch2rgb.js +14 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/rgb2lch.js +13 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/named/index.js +26 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/num/index.js +23 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/num/num2rgb.js +13 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/num/rgb2num.js +9 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklab/index.js +25 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklab/oklab2rgb.js +31 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklab/rgb2oklab.js +30 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklch/index.js +25 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklch/oklch2rgb.js +14 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklch/rgb2oklch.js +13 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/rgb/index.js +34 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/temp/index.js +16 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/temp/rgb2temperature.js +25 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/temp/temperature2rgb.js +18 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/alpha.js +12 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/clipped.js +4 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/darken.js +14 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/get.js +12 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/luminance.js +38 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/mix.js +5 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/premultiply.js +11 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/saturate.js +13 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/set.js +42 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/shade.js +9 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/analyze.js +161 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/clip_rgb.js +17 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/contrast.js +12 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/contrastAPCA.js +43 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/delta-e.js +48 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/distance.js +16 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/index.js +24 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/last.js +10 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/limit.js +7 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/multiply-matrices.js +29 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/scales.js +16 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/type.js +20 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/unpack.js +11 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/valid.js +12 -0
- package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/version.js +4 -0
- package/dist/node_modules/.pnpm/fuse.js@7.1.0/node_modules/fuse.js/dist/fuse.js +1317 -0
- package/dist/styles/components.css +40 -0
- package/dist/tailwind.css +1 -0
- package/package.json +32 -20
- package/dist/components/virtual-select/dist/index.d.ts +0 -48
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
import last from "../../utils/last.js";
|
|
4
|
+
const { round } = Math;
|
|
5
|
+
const rgb2hex = (...args) => {
|
|
6
|
+
let [r, g, b, a] = unpack(args, "rgba");
|
|
7
|
+
let mode = last(args) || "auto";
|
|
8
|
+
if (a === void 0) a = 1;
|
|
9
|
+
if (mode === "auto") {
|
|
10
|
+
mode = a < 1 ? "rgba" : "rgb";
|
|
11
|
+
}
|
|
12
|
+
r = round(r);
|
|
13
|
+
g = round(g);
|
|
14
|
+
b = round(b);
|
|
15
|
+
const u = r << 16 | g << 8 | b;
|
|
16
|
+
let str = "000000" + u.toString(16);
|
|
17
|
+
str = str.substr(str.length - 6);
|
|
18
|
+
let hxa = "0" + round(a * 255).toString(16);
|
|
19
|
+
hxa = hxa.substr(hxa.length - 2);
|
|
20
|
+
switch (mode.toLowerCase()) {
|
|
21
|
+
case "rgba":
|
|
22
|
+
return `#${str}${hxa}`;
|
|
23
|
+
case "argb":
|
|
24
|
+
return `#${hxa}${str}`;
|
|
25
|
+
default:
|
|
26
|
+
return `#${str}`;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
rgb2hex as default
|
|
31
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { TWOPI, PITHIRD } from "../../utils/index.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
import limit from "../../utils/limit.js";
|
|
4
|
+
const { cos } = Math;
|
|
5
|
+
const hsi2rgb = (...args) => {
|
|
6
|
+
args = unpack(args, "hsi");
|
|
7
|
+
let [h, s, i] = args;
|
|
8
|
+
let r, g, b;
|
|
9
|
+
if (isNaN(h)) h = 0;
|
|
10
|
+
if (isNaN(s)) s = 0;
|
|
11
|
+
if (h > 360) h -= 360;
|
|
12
|
+
if (h < 0) h += 360;
|
|
13
|
+
h /= 360;
|
|
14
|
+
if (h < 1 / 3) {
|
|
15
|
+
b = (1 - s) / 3;
|
|
16
|
+
r = (1 + s * cos(TWOPI * h) / cos(PITHIRD - TWOPI * h)) / 3;
|
|
17
|
+
g = 1 - (b + r);
|
|
18
|
+
} else if (h < 2 / 3) {
|
|
19
|
+
h -= 1 / 3;
|
|
20
|
+
r = (1 - s) / 3;
|
|
21
|
+
g = (1 + s * cos(TWOPI * h) / cos(PITHIRD - TWOPI * h)) / 3;
|
|
22
|
+
b = 1 - (r + g);
|
|
23
|
+
} else {
|
|
24
|
+
h -= 2 / 3;
|
|
25
|
+
g = (1 - s) / 3;
|
|
26
|
+
b = (1 + s * cos(TWOPI * h) / cos(PITHIRD - TWOPI * h)) / 3;
|
|
27
|
+
r = 1 - (g + b);
|
|
28
|
+
}
|
|
29
|
+
r = limit(i * r * 3);
|
|
30
|
+
g = limit(i * g * 3);
|
|
31
|
+
b = limit(i * b * 3);
|
|
32
|
+
return [r * 255, g * 255, b * 255, args.length > 3 ? args[3] : 1];
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
hsi2rgb as default
|
|
36
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type from "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
import chroma from "../../chroma.js";
|
|
4
|
+
import Color from "../../Color.js";
|
|
5
|
+
import input from "../input.js";
|
|
6
|
+
import hsi2rgb from "./hsi2rgb.js";
|
|
7
|
+
import rgb2hsi from "./rgb2hsi.js";
|
|
8
|
+
Color.prototype.hsi = function() {
|
|
9
|
+
return rgb2hsi(this._rgb);
|
|
10
|
+
};
|
|
11
|
+
const hsi = (...args) => new Color(...args, "hsi");
|
|
12
|
+
chroma.hsi = hsi;
|
|
13
|
+
input.format.hsi = hsi2rgb;
|
|
14
|
+
input.autodetect.push({
|
|
15
|
+
p: 2,
|
|
16
|
+
test: (...args) => {
|
|
17
|
+
args = unpack(args, "hsi");
|
|
18
|
+
if (type(args) === "array" && args.length === 3) {
|
|
19
|
+
return "hsi";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export {
|
|
24
|
+
hsi
|
|
25
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { TWOPI } from "../../utils/index.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
const { min, sqrt, acos } = Math;
|
|
4
|
+
const rgb2hsi = (...args) => {
|
|
5
|
+
let [r, g, b] = unpack(args, "rgb");
|
|
6
|
+
r /= 255;
|
|
7
|
+
g /= 255;
|
|
8
|
+
b /= 255;
|
|
9
|
+
let h;
|
|
10
|
+
const min_ = min(r, g, b);
|
|
11
|
+
const i = (r + g + b) / 3;
|
|
12
|
+
const s = i > 0 ? 1 - min_ / i : 0;
|
|
13
|
+
if (s === 0) {
|
|
14
|
+
h = NaN;
|
|
15
|
+
} else {
|
|
16
|
+
h = (r - g + (r - b)) / 2;
|
|
17
|
+
h /= sqrt((r - g) * (r - g) + (r - b) * (g - b));
|
|
18
|
+
h = acos(h);
|
|
19
|
+
if (b > g) {
|
|
20
|
+
h = TWOPI - h;
|
|
21
|
+
}
|
|
22
|
+
h /= TWOPI;
|
|
23
|
+
}
|
|
24
|
+
return [h * 360, s, i];
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
rgb2hsi as default
|
|
28
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
const hsl2rgb = (...args) => {
|
|
4
|
+
args = unpack(args, "hsl");
|
|
5
|
+
const [h, s, l] = args;
|
|
6
|
+
let r, g, b;
|
|
7
|
+
if (s === 0) {
|
|
8
|
+
r = g = b = l * 255;
|
|
9
|
+
} else {
|
|
10
|
+
const t3 = [0, 0, 0];
|
|
11
|
+
const c = [0, 0, 0];
|
|
12
|
+
const t2 = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
13
|
+
const t1 = 2 * l - t2;
|
|
14
|
+
const h_ = h / 360;
|
|
15
|
+
t3[0] = h_ + 1 / 3;
|
|
16
|
+
t3[1] = h_;
|
|
17
|
+
t3[2] = h_ - 1 / 3;
|
|
18
|
+
for (let i = 0; i < 3; i++) {
|
|
19
|
+
if (t3[i] < 0) t3[i] += 1;
|
|
20
|
+
if (t3[i] > 1) t3[i] -= 1;
|
|
21
|
+
if (6 * t3[i] < 1) c[i] = t1 + (t2 - t1) * 6 * t3[i];
|
|
22
|
+
else if (2 * t3[i] < 1) c[i] = t2;
|
|
23
|
+
else if (3 * t3[i] < 2) c[i] = t1 + (t2 - t1) * (2 / 3 - t3[i]) * 6;
|
|
24
|
+
else c[i] = t1;
|
|
25
|
+
}
|
|
26
|
+
[r, g, b] = [c[0] * 255, c[1] * 255, c[2] * 255];
|
|
27
|
+
}
|
|
28
|
+
if (args.length > 3) {
|
|
29
|
+
return [r, g, b, args[3]];
|
|
30
|
+
}
|
|
31
|
+
return [r, g, b, 1];
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
hsl2rgb as default
|
|
35
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type from "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
import chroma from "../../chroma.js";
|
|
4
|
+
import Color from "../../Color.js";
|
|
5
|
+
import input from "../input.js";
|
|
6
|
+
import hsl2rgb from "./hsl2rgb.js";
|
|
7
|
+
import rgb2hsl from "./rgb2hsl.js";
|
|
8
|
+
Color.prototype.hsl = function() {
|
|
9
|
+
return rgb2hsl(this._rgb);
|
|
10
|
+
};
|
|
11
|
+
const hsl = (...args) => new Color(...args, "hsl");
|
|
12
|
+
chroma.hsl = hsl;
|
|
13
|
+
input.format.hsl = hsl2rgb;
|
|
14
|
+
input.autodetect.push({
|
|
15
|
+
p: 2,
|
|
16
|
+
test: (...args) => {
|
|
17
|
+
args = unpack(args, "hsl");
|
|
18
|
+
if (type(args) === "array" && args.length === 3) {
|
|
19
|
+
return "hsl";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export {
|
|
24
|
+
hsl
|
|
25
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { max, min } from "../../utils/index.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
const rgb2hsl = (...args) => {
|
|
4
|
+
args = unpack(args, "rgba");
|
|
5
|
+
let [r, g, b] = args;
|
|
6
|
+
r /= 255;
|
|
7
|
+
g /= 255;
|
|
8
|
+
b /= 255;
|
|
9
|
+
const minRgb = min(r, g, b);
|
|
10
|
+
const maxRgb = max(r, g, b);
|
|
11
|
+
const l = (maxRgb + minRgb) / 2;
|
|
12
|
+
let s, h;
|
|
13
|
+
if (maxRgb === minRgb) {
|
|
14
|
+
s = 0;
|
|
15
|
+
h = Number.NaN;
|
|
16
|
+
} else {
|
|
17
|
+
s = l < 0.5 ? (maxRgb - minRgb) / (maxRgb + minRgb) : (maxRgb - minRgb) / (2 - maxRgb - minRgb);
|
|
18
|
+
}
|
|
19
|
+
if (r == maxRgb) h = (g - b) / (maxRgb - minRgb);
|
|
20
|
+
else if (g == maxRgb) h = 2 + (b - r) / (maxRgb - minRgb);
|
|
21
|
+
else if (b == maxRgb) h = 4 + (r - g) / (maxRgb - minRgb);
|
|
22
|
+
h *= 60;
|
|
23
|
+
if (h < 0) h += 360;
|
|
24
|
+
if (args.length > 3 && args[3] !== void 0) return [h, s, l, args[3]];
|
|
25
|
+
return [h, s, l];
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
rgb2hsl as default
|
|
29
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
const { floor } = Math;
|
|
4
|
+
const hsv2rgb = (...args) => {
|
|
5
|
+
args = unpack(args, "hsv");
|
|
6
|
+
let [h, s, v] = args;
|
|
7
|
+
let r, g, b;
|
|
8
|
+
v *= 255;
|
|
9
|
+
if (s === 0) {
|
|
10
|
+
r = g = b = v;
|
|
11
|
+
} else {
|
|
12
|
+
if (h === 360) h = 0;
|
|
13
|
+
if (h > 360) h -= 360;
|
|
14
|
+
if (h < 0) h += 360;
|
|
15
|
+
h /= 60;
|
|
16
|
+
const i = floor(h);
|
|
17
|
+
const f = h - i;
|
|
18
|
+
const p = v * (1 - s);
|
|
19
|
+
const q = v * (1 - s * f);
|
|
20
|
+
const t = v * (1 - s * (1 - f));
|
|
21
|
+
switch (i) {
|
|
22
|
+
case 0:
|
|
23
|
+
[r, g, b] = [v, t, p];
|
|
24
|
+
break;
|
|
25
|
+
case 1:
|
|
26
|
+
[r, g, b] = [q, v, p];
|
|
27
|
+
break;
|
|
28
|
+
case 2:
|
|
29
|
+
[r, g, b] = [p, v, t];
|
|
30
|
+
break;
|
|
31
|
+
case 3:
|
|
32
|
+
[r, g, b] = [p, q, v];
|
|
33
|
+
break;
|
|
34
|
+
case 4:
|
|
35
|
+
[r, g, b] = [t, p, v];
|
|
36
|
+
break;
|
|
37
|
+
case 5:
|
|
38
|
+
[r, g, b] = [v, p, q];
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return [r, g, b, args.length > 3 ? args[3] : 1];
|
|
43
|
+
};
|
|
44
|
+
export {
|
|
45
|
+
hsv2rgb as default
|
|
46
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type from "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
import chroma from "../../chroma.js";
|
|
4
|
+
import Color from "../../Color.js";
|
|
5
|
+
import input from "../input.js";
|
|
6
|
+
import hsv2rgb from "./hsv2rgb.js";
|
|
7
|
+
import rgb2hsl from "./rgb2hsv.js";
|
|
8
|
+
Color.prototype.hsv = function() {
|
|
9
|
+
return rgb2hsl(this._rgb);
|
|
10
|
+
};
|
|
11
|
+
const hsv = (...args) => new Color(...args, "hsv");
|
|
12
|
+
chroma.hsv = hsv;
|
|
13
|
+
input.format.hsv = hsv2rgb;
|
|
14
|
+
input.autodetect.push({
|
|
15
|
+
p: 2,
|
|
16
|
+
test: (...args) => {
|
|
17
|
+
args = unpack(args, "hsv");
|
|
18
|
+
if (type(args) === "array" && args.length === 3) {
|
|
19
|
+
return "hsv";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export {
|
|
24
|
+
hsv
|
|
25
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
const { min, max } = Math;
|
|
4
|
+
const rgb2hsl = (...args) => {
|
|
5
|
+
args = unpack(args, "rgb");
|
|
6
|
+
let [r, g, b] = args;
|
|
7
|
+
const min_ = min(r, g, b);
|
|
8
|
+
const max_ = max(r, g, b);
|
|
9
|
+
const delta = max_ - min_;
|
|
10
|
+
let h, s, v;
|
|
11
|
+
v = max_ / 255;
|
|
12
|
+
if (max_ === 0) {
|
|
13
|
+
h = Number.NaN;
|
|
14
|
+
s = 0;
|
|
15
|
+
} else {
|
|
16
|
+
s = delta / max_;
|
|
17
|
+
if (r === max_) h = (g - b) / delta;
|
|
18
|
+
if (g === max_) h = 2 + (b - r) / delta;
|
|
19
|
+
if (b === max_) h = 4 + (r - g) / delta;
|
|
20
|
+
h *= 60;
|
|
21
|
+
if (h < 0) h += 360;
|
|
22
|
+
}
|
|
23
|
+
return [h, s, v];
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
rgb2hsl as default
|
|
27
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type from "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
import chroma from "../../chroma.js";
|
|
4
|
+
import Color from "../../Color.js";
|
|
5
|
+
import input from "../input.js";
|
|
6
|
+
import lab2rgb from "./lab2rgb.js";
|
|
7
|
+
import rgb2lab from "./rgb2lab.js";
|
|
8
|
+
import { setLabWhitePoint, getLabWhitePoint } from "./lab-constants.js";
|
|
9
|
+
Color.prototype.lab = function() {
|
|
10
|
+
return rgb2lab(this._rgb);
|
|
11
|
+
};
|
|
12
|
+
const lab = (...args) => new Color(...args, "lab");
|
|
13
|
+
Object.assign(chroma, { lab, getLabWhitePoint, setLabWhitePoint });
|
|
14
|
+
input.format.lab = lab2rgb;
|
|
15
|
+
input.autodetect.push({
|
|
16
|
+
p: 2,
|
|
17
|
+
test: (...args) => {
|
|
18
|
+
args = unpack(args, "lab");
|
|
19
|
+
if (type(args) === "array" && args.length === 3) {
|
|
20
|
+
return "lab";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
export {
|
|
25
|
+
getLabWhitePoint,
|
|
26
|
+
lab,
|
|
27
|
+
setLabWhitePoint
|
|
28
|
+
};
|
package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/lab-constants.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
const labConstants = {
|
|
2
|
+
// Corresponds roughly to RGB brighter/darker
|
|
3
|
+
Kn: 18,
|
|
4
|
+
// D65 standard referent
|
|
5
|
+
labWhitePoint: "d65",
|
|
6
|
+
Xn: 0.95047,
|
|
7
|
+
Yn: 1,
|
|
8
|
+
Zn: 1.08883,
|
|
9
|
+
kE: 216 / 24389,
|
|
10
|
+
kKE: 8,
|
|
11
|
+
kK: 24389 / 27,
|
|
12
|
+
RefWhiteRGB: {
|
|
13
|
+
// sRGB
|
|
14
|
+
X: 0.95047,
|
|
15
|
+
Y: 1,
|
|
16
|
+
Z: 1.08883
|
|
17
|
+
},
|
|
18
|
+
MtxRGB2XYZ: {
|
|
19
|
+
m00: 0.4124564390896922,
|
|
20
|
+
m01: 0.21267285140562253,
|
|
21
|
+
m02: 0.0193338955823293,
|
|
22
|
+
m10: 0.357576077643909,
|
|
23
|
+
m11: 0.715152155287818,
|
|
24
|
+
m12: 0.11919202588130297,
|
|
25
|
+
m20: 0.18043748326639894,
|
|
26
|
+
m21: 0.07217499330655958,
|
|
27
|
+
m22: 0.9503040785363679
|
|
28
|
+
},
|
|
29
|
+
MtxXYZ2RGB: {
|
|
30
|
+
m00: 3.2404541621141045,
|
|
31
|
+
m01: -0.9692660305051868,
|
|
32
|
+
m02: 0.055643430959114726,
|
|
33
|
+
m10: -1.5371385127977166,
|
|
34
|
+
m11: 1.8760108454466942,
|
|
35
|
+
m12: -0.2040259135167538,
|
|
36
|
+
m20: -0.498531409556016,
|
|
37
|
+
m21: 0.041556017530349834,
|
|
38
|
+
m22: 1.0572251882231791
|
|
39
|
+
},
|
|
40
|
+
// used in rgb2xyz
|
|
41
|
+
As: 0.9414285350000001,
|
|
42
|
+
Bs: 1.040417467,
|
|
43
|
+
Cs: 1.089532651,
|
|
44
|
+
MtxAdaptMa: {
|
|
45
|
+
m00: 0.8951,
|
|
46
|
+
m01: -0.7502,
|
|
47
|
+
m02: 0.0389,
|
|
48
|
+
m10: 0.2664,
|
|
49
|
+
m11: 1.7135,
|
|
50
|
+
m12: -0.0685,
|
|
51
|
+
m20: -0.1614,
|
|
52
|
+
m21: 0.0367,
|
|
53
|
+
m22: 1.0296
|
|
54
|
+
},
|
|
55
|
+
MtxAdaptMaI: {
|
|
56
|
+
m00: 0.9869929054667123,
|
|
57
|
+
m01: 0.43230526972339456,
|
|
58
|
+
m02: -0.008528664575177328,
|
|
59
|
+
m10: -0.14705425642099013,
|
|
60
|
+
m11: 0.5183602715367776,
|
|
61
|
+
m12: 0.04004282165408487,
|
|
62
|
+
m20: 0.15996265166373125,
|
|
63
|
+
m21: 0.0492912282128556,
|
|
64
|
+
m22: 0.9684866957875502
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const ILLUMINANTS = /* @__PURE__ */ new Map([
|
|
68
|
+
// ASTM E308-01
|
|
69
|
+
["a", [1.0985, 0.35585]],
|
|
70
|
+
// Wyszecki & Stiles, p. 769
|
|
71
|
+
["b", [1.0985, 0.35585]],
|
|
72
|
+
// C ASTM E308-01
|
|
73
|
+
["c", [0.98074, 1.18232]],
|
|
74
|
+
// D50 (ASTM E308-01)
|
|
75
|
+
["d50", [0.96422, 0.82521]],
|
|
76
|
+
// D55 (ASTM E308-01)
|
|
77
|
+
["d55", [0.95682, 0.92149]],
|
|
78
|
+
// D65 (ASTM E308-01)
|
|
79
|
+
["d65", [0.95047, 1.08883]],
|
|
80
|
+
// E (ASTM E308-01)
|
|
81
|
+
["e", [1, 1, 1]],
|
|
82
|
+
// F2 (ASTM E308-01)
|
|
83
|
+
["f2", [0.99186, 0.67393]],
|
|
84
|
+
// F7 (ASTM E308-01)
|
|
85
|
+
["f7", [0.95041, 1.08747]],
|
|
86
|
+
// F11 (ASTM E308-01)
|
|
87
|
+
["f11", [1.00962, 0.6435]],
|
|
88
|
+
["icc", [0.96422, 0.82521]]
|
|
89
|
+
]);
|
|
90
|
+
function setLabWhitePoint(name) {
|
|
91
|
+
const ill = ILLUMINANTS.get(String(name).toLowerCase());
|
|
92
|
+
if (!ill) {
|
|
93
|
+
throw new Error("unknown Lab illuminant " + name);
|
|
94
|
+
}
|
|
95
|
+
labConstants.labWhitePoint = name;
|
|
96
|
+
labConstants.Xn = ill[0];
|
|
97
|
+
labConstants.Zn = ill[1];
|
|
98
|
+
}
|
|
99
|
+
function getLabWhitePoint() {
|
|
100
|
+
return labConstants.labWhitePoint;
|
|
101
|
+
}
|
|
102
|
+
export {
|
|
103
|
+
labConstants as default,
|
|
104
|
+
getLabWhitePoint,
|
|
105
|
+
setLabWhitePoint
|
|
106
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import labConstants from "./lab-constants.js";
|
|
2
|
+
import "../../utils/type.js";
|
|
3
|
+
import unpack from "../../utils/unpack.js";
|
|
4
|
+
const lab2rgb = (...args) => {
|
|
5
|
+
args = unpack(args, "lab");
|
|
6
|
+
const [L, a, b] = args;
|
|
7
|
+
const [x, y, z] = lab2xyz(L, a, b);
|
|
8
|
+
const [r, g, b_] = xyz2rgb(x, y, z);
|
|
9
|
+
return [r, g, b_, args.length > 3 ? args[3] : 1];
|
|
10
|
+
};
|
|
11
|
+
const lab2xyz = (L, a, b) => {
|
|
12
|
+
const { kE, kK, kKE, Xn, Yn, Zn } = labConstants;
|
|
13
|
+
const fy = (L + 16) / 116;
|
|
14
|
+
const fx = 2e-3 * a + fy;
|
|
15
|
+
const fz = fy - 5e-3 * b;
|
|
16
|
+
const fx3 = fx * fx * fx;
|
|
17
|
+
const fz3 = fz * fz * fz;
|
|
18
|
+
const xr = fx3 > kE ? fx3 : (116 * fx - 16) / kK;
|
|
19
|
+
const yr = L > kKE ? Math.pow((L + 16) / 116, 3) : L / kK;
|
|
20
|
+
const zr = fz3 > kE ? fz3 : (116 * fz - 16) / kK;
|
|
21
|
+
const x = xr * Xn;
|
|
22
|
+
const y = yr * Yn;
|
|
23
|
+
const z = zr * Zn;
|
|
24
|
+
return [x, y, z];
|
|
25
|
+
};
|
|
26
|
+
const compand = (linear) => {
|
|
27
|
+
const sign = Math.sign(linear);
|
|
28
|
+
linear = Math.abs(linear);
|
|
29
|
+
return (linear <= 31308e-7 ? linear * 12.92 : 1.055 * Math.pow(linear, 1 / 2.4) - 0.055) * sign;
|
|
30
|
+
};
|
|
31
|
+
const xyz2rgb = (x, y, z) => {
|
|
32
|
+
const { MtxAdaptMa, MtxAdaptMaI, MtxXYZ2RGB, RefWhiteRGB, Xn, Yn, Zn } = labConstants;
|
|
33
|
+
const As = Xn * MtxAdaptMa.m00 + Yn * MtxAdaptMa.m10 + Zn * MtxAdaptMa.m20;
|
|
34
|
+
const Bs = Xn * MtxAdaptMa.m01 + Yn * MtxAdaptMa.m11 + Zn * MtxAdaptMa.m21;
|
|
35
|
+
const Cs = Xn * MtxAdaptMa.m02 + Yn * MtxAdaptMa.m12 + Zn * MtxAdaptMa.m22;
|
|
36
|
+
const Ad = RefWhiteRGB.X * MtxAdaptMa.m00 + RefWhiteRGB.Y * MtxAdaptMa.m10 + RefWhiteRGB.Z * MtxAdaptMa.m20;
|
|
37
|
+
const Bd = RefWhiteRGB.X * MtxAdaptMa.m01 + RefWhiteRGB.Y * MtxAdaptMa.m11 + RefWhiteRGB.Z * MtxAdaptMa.m21;
|
|
38
|
+
const Cd = RefWhiteRGB.X * MtxAdaptMa.m02 + RefWhiteRGB.Y * MtxAdaptMa.m12 + RefWhiteRGB.Z * MtxAdaptMa.m22;
|
|
39
|
+
const X1 = (x * MtxAdaptMa.m00 + y * MtxAdaptMa.m10 + z * MtxAdaptMa.m20) * (Ad / As);
|
|
40
|
+
const Y1 = (x * MtxAdaptMa.m01 + y * MtxAdaptMa.m11 + z * MtxAdaptMa.m21) * (Bd / Bs);
|
|
41
|
+
const Z1 = (x * MtxAdaptMa.m02 + y * MtxAdaptMa.m12 + z * MtxAdaptMa.m22) * (Cd / Cs);
|
|
42
|
+
const X2 = X1 * MtxAdaptMaI.m00 + Y1 * MtxAdaptMaI.m10 + Z1 * MtxAdaptMaI.m20;
|
|
43
|
+
const Y2 = X1 * MtxAdaptMaI.m01 + Y1 * MtxAdaptMaI.m11 + Z1 * MtxAdaptMaI.m21;
|
|
44
|
+
const Z2 = X1 * MtxAdaptMaI.m02 + Y1 * MtxAdaptMaI.m12 + Z1 * MtxAdaptMaI.m22;
|
|
45
|
+
const r = compand(
|
|
46
|
+
X2 * MtxXYZ2RGB.m00 + Y2 * MtxXYZ2RGB.m10 + Z2 * MtxXYZ2RGB.m20
|
|
47
|
+
);
|
|
48
|
+
const g = compand(
|
|
49
|
+
X2 * MtxXYZ2RGB.m01 + Y2 * MtxXYZ2RGB.m11 + Z2 * MtxXYZ2RGB.m21
|
|
50
|
+
);
|
|
51
|
+
const b = compand(
|
|
52
|
+
X2 * MtxXYZ2RGB.m02 + Y2 * MtxXYZ2RGB.m12 + Z2 * MtxXYZ2RGB.m22
|
|
53
|
+
);
|
|
54
|
+
return [r * 255, g * 255, b * 255];
|
|
55
|
+
};
|
|
56
|
+
export {
|
|
57
|
+
lab2rgb as default,
|
|
58
|
+
xyz2rgb
|
|
59
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import labConstants from "./lab-constants.js";
|
|
2
|
+
import "../../utils/type.js";
|
|
3
|
+
import unpack from "../../utils/unpack.js";
|
|
4
|
+
const rgb2lab = (...args) => {
|
|
5
|
+
const [r, g, b, ...rest] = unpack(args, "rgb");
|
|
6
|
+
const [x, y, z] = rgb2xyz(r, g, b);
|
|
7
|
+
const [L, a, b_] = xyz2lab(x, y, z);
|
|
8
|
+
return [L, a, b_, ...rest.length > 0 && rest[0] < 1 ? [rest[0]] : []];
|
|
9
|
+
};
|
|
10
|
+
function xyz2lab(x, y, z) {
|
|
11
|
+
const { Xn, Yn, Zn, kE, kK } = labConstants;
|
|
12
|
+
const xr = x / Xn;
|
|
13
|
+
const yr = y / Yn;
|
|
14
|
+
const zr = z / Zn;
|
|
15
|
+
const fx = xr > kE ? Math.pow(xr, 1 / 3) : (kK * xr + 16) / 116;
|
|
16
|
+
const fy = yr > kE ? Math.pow(yr, 1 / 3) : (kK * yr + 16) / 116;
|
|
17
|
+
const fz = zr > kE ? Math.pow(zr, 1 / 3) : (kK * zr + 16) / 116;
|
|
18
|
+
return [116 * fy - 16, 500 * (fx - fy), 200 * (fy - fz)];
|
|
19
|
+
}
|
|
20
|
+
function gammaAdjustSRGB(companded) {
|
|
21
|
+
const sign = Math.sign(companded);
|
|
22
|
+
companded = Math.abs(companded);
|
|
23
|
+
const linear = companded <= 0.04045 ? companded / 12.92 : Math.pow((companded + 0.055) / 1.055, 2.4);
|
|
24
|
+
return linear * sign;
|
|
25
|
+
}
|
|
26
|
+
const rgb2xyz = (r, g, b) => {
|
|
27
|
+
r = gammaAdjustSRGB(r / 255);
|
|
28
|
+
g = gammaAdjustSRGB(g / 255);
|
|
29
|
+
b = gammaAdjustSRGB(b / 255);
|
|
30
|
+
const { MtxRGB2XYZ, MtxAdaptMa, MtxAdaptMaI, Xn, Yn, Zn, As, Bs, Cs } = labConstants;
|
|
31
|
+
let x = r * MtxRGB2XYZ.m00 + g * MtxRGB2XYZ.m10 + b * MtxRGB2XYZ.m20;
|
|
32
|
+
let y = r * MtxRGB2XYZ.m01 + g * MtxRGB2XYZ.m11 + b * MtxRGB2XYZ.m21;
|
|
33
|
+
let z = r * MtxRGB2XYZ.m02 + g * MtxRGB2XYZ.m12 + b * MtxRGB2XYZ.m22;
|
|
34
|
+
const Ad = Xn * MtxAdaptMa.m00 + Yn * MtxAdaptMa.m10 + Zn * MtxAdaptMa.m20;
|
|
35
|
+
const Bd = Xn * MtxAdaptMa.m01 + Yn * MtxAdaptMa.m11 + Zn * MtxAdaptMa.m21;
|
|
36
|
+
const Cd = Xn * MtxAdaptMa.m02 + Yn * MtxAdaptMa.m12 + Zn * MtxAdaptMa.m22;
|
|
37
|
+
let X = x * MtxAdaptMa.m00 + y * MtxAdaptMa.m10 + z * MtxAdaptMa.m20;
|
|
38
|
+
let Y = x * MtxAdaptMa.m01 + y * MtxAdaptMa.m11 + z * MtxAdaptMa.m21;
|
|
39
|
+
let Z = x * MtxAdaptMa.m02 + y * MtxAdaptMa.m12 + z * MtxAdaptMa.m22;
|
|
40
|
+
X *= Ad / As;
|
|
41
|
+
Y *= Bd / Bs;
|
|
42
|
+
Z *= Cd / Cs;
|
|
43
|
+
x = X * MtxAdaptMaI.m00 + Y * MtxAdaptMaI.m10 + Z * MtxAdaptMaI.m20;
|
|
44
|
+
y = X * MtxAdaptMaI.m01 + Y * MtxAdaptMaI.m11 + Z * MtxAdaptMaI.m21;
|
|
45
|
+
z = X * MtxAdaptMaI.m02 + Y * MtxAdaptMaI.m12 + Z * MtxAdaptMaI.m22;
|
|
46
|
+
return [x, y, z];
|
|
47
|
+
};
|
|
48
|
+
export {
|
|
49
|
+
rgb2lab as default,
|
|
50
|
+
rgb2xyz
|
|
51
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { reverse3 } from "../../utils/index.js";
|
|
2
|
+
import lch2rgb from "./lch2rgb.js";
|
|
3
|
+
import unpack from "../../utils/unpack.js";
|
|
4
|
+
const hcl2rgb = (...args) => {
|
|
5
|
+
const hcl = reverse3(unpack(args, "hcl"));
|
|
6
|
+
return lch2rgb(...hcl);
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
hcl2rgb as default
|
|
10
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { reverse3 } from "../../utils/index.js";
|
|
2
|
+
import chroma from "../../chroma.js";
|
|
3
|
+
import Color from "../../Color.js";
|
|
4
|
+
import input from "../input.js";
|
|
5
|
+
import lch2rgb from "./lch2rgb.js";
|
|
6
|
+
import hcl2rgb from "./hcl2rgb.js";
|
|
7
|
+
import rgb2lch from "./rgb2lch.js";
|
|
8
|
+
import unpack from "../../utils/unpack.js";
|
|
9
|
+
import type from "../../utils/type.js";
|
|
10
|
+
Color.prototype.lch = function() {
|
|
11
|
+
return rgb2lch(this._rgb);
|
|
12
|
+
};
|
|
13
|
+
Color.prototype.hcl = function() {
|
|
14
|
+
return reverse3(rgb2lch(this._rgb));
|
|
15
|
+
};
|
|
16
|
+
const lch = (...args) => new Color(...args, "lch");
|
|
17
|
+
const hcl = (...args) => new Color(...args, "hcl");
|
|
18
|
+
Object.assign(chroma, { lch, hcl });
|
|
19
|
+
input.format.lch = lch2rgb;
|
|
20
|
+
input.format.hcl = hcl2rgb;
|
|
21
|
+
["lch", "hcl"].forEach(
|
|
22
|
+
(m) => input.autodetect.push({
|
|
23
|
+
p: 2,
|
|
24
|
+
test: (...args) => {
|
|
25
|
+
args = unpack(args, m);
|
|
26
|
+
if (type(args) === "array" && args.length === 3) {
|
|
27
|
+
return m;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
);
|
|
32
|
+
export {
|
|
33
|
+
hcl,
|
|
34
|
+
lch
|
|
35
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RAD2DEG } from "../../utils/index.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
const { sqrt, atan2, round } = Math;
|
|
4
|
+
const lab2lch = (...args) => {
|
|
5
|
+
const [l, a, b] = unpack(args, "lab");
|
|
6
|
+
const c = sqrt(a * a + b * b);
|
|
7
|
+
let h = (atan2(b, a) * RAD2DEG + 360) % 360;
|
|
8
|
+
if (round(c * 1e4) === 0) h = Number.NaN;
|
|
9
|
+
return [l, c, h];
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
lab2lch as default
|
|
13
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DEG2RAD } from "../../utils/index.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
const { sin, cos } = Math;
|
|
4
|
+
const lch2lab = (...args) => {
|
|
5
|
+
let [l, c, h] = unpack(args, "lch");
|
|
6
|
+
if (isNaN(h)) h = 0;
|
|
7
|
+
h = h * DEG2RAD;
|
|
8
|
+
return [l, cos(h) * c, sin(h) * c];
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
lch2lab as default
|
|
12
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
import lch2lab from "./lch2lab.js";
|
|
4
|
+
import lab2rgb from "../lab/lab2rgb.js";
|
|
5
|
+
const lch2rgb = (...args) => {
|
|
6
|
+
args = unpack(args, "lch");
|
|
7
|
+
const [l, c, h] = args;
|
|
8
|
+
const [L, a, b_] = lch2lab(l, c, h);
|
|
9
|
+
const [r, g, b] = lab2rgb(L, a, b_);
|
|
10
|
+
return [r, g, b, args.length > 3 ? args[3] : 1];
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
lch2rgb as default
|
|
14
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "../../utils/type.js";
|
|
2
|
+
import unpack from "../../utils/unpack.js";
|
|
3
|
+
import rgb2lab from "../lab/rgb2lab.js";
|
|
4
|
+
import lab2lch from "./lab2lch.js";
|
|
5
|
+
const rgb2lch = (...args) => {
|
|
6
|
+
const [r, g, b, ...rest] = unpack(args, "rgb");
|
|
7
|
+
const [l, a, b_] = rgb2lab(r, g, b);
|
|
8
|
+
const [L, c, h] = lab2lch(l, a, b_);
|
|
9
|
+
return [L, c, h, ...rest.length > 0 && rest[0] < 1 ? [rest[0]] : []];
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
rgb2lch as default
|
|
13
|
+
};
|