@protonradio/proton-ui 0.11.6 → 0.11.8
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/{constants/breakpoint.es.js → breakpoint-9y1_8U_b.mjs} +2 -2
- package/dist/breakpoint-9y1_8U_b.mjs.map +1 -0
- package/dist/breakpoint-DtqbboOa.js +2 -0
- package/dist/breakpoint-DtqbboOa.js.map +1 -0
- package/dist/color2k-CpDB_dpw.mjs +168 -0
- package/dist/color2k-CpDB_dpw.mjs.map +1 -0
- package/dist/color2k-DCgwXUem.js +2 -0
- package/dist/color2k-DCgwXUem.js.map +1 -0
- package/dist/{design/colors.es.js → colors-CWaj9dFz.mjs} +7 -7
- package/dist/colors-CWaj9dFz.mjs.map +1 -0
- package/dist/colors-CebzFjpe.js +2 -0
- package/dist/{design/darkTheme/colors.es.js.map → colors-CebzFjpe.js.map} +1 -1
- package/dist/{design/darkTheme/colors.es.js → colors-Ceyo4oCJ.mjs} +13 -13
- package/dist/{design/darkTheme/colors.cjs.js.map → colors-Ceyo4oCJ.mjs.map} +1 -1
- package/dist/colors-CmSJBHaf.js +2 -0
- package/dist/colors-CmSJBHaf.js.map +1 -0
- package/dist/colors-DL1dYffC.js +2 -0
- package/dist/{design/lightTheme/colors.es.js.map → colors-DL1dYffC.js.map} +1 -1
- package/dist/{design/lightTheme/colors.es.js → colors-DMkDnu4U.mjs} +11 -11
- package/dist/{design/lightTheme/colors.cjs.js.map → colors-DMkDnu4U.mjs.map} +1 -1
- package/dist/constants.cjs.js +1 -1
- package/dist/constants.cjs.js.map +1 -1
- package/dist/constants.es.js +26 -3
- package/dist/constants.es.js.map +1 -1
- package/dist/dark.cjs.js +2 -0
- package/dist/dark.cjs.js.map +1 -0
- package/dist/{design/darkTheme/stylesheet.es.js → dark.es.js} +15 -9
- package/dist/dark.es.js.map +1 -0
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.cjs.js.map +1 -1
- package/dist/hooks.es.js +37 -8
- package/dist/hooks.es.js.map +1 -1
- package/dist/image-CUSfY1_T.js +2 -0
- package/dist/image-CUSfY1_T.js.map +1 -0
- package/dist/image-DFyN0Kd9.mjs +207 -0
- package/dist/image-DFyN0Kd9.mjs.map +1 -0
- package/dist/index.cjs.js +30 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.es.js +5340 -60
- package/dist/index.es.js.map +1 -1
- package/dist/light.cjs.js +2 -0
- package/dist/light.cjs.js.map +1 -0
- package/dist/{design/lightTheme/stylesheet.es.js → light.es.js} +16 -10
- package/dist/light.es.js.map +1 -0
- package/dist/navigation-BB0MBIiR.js +2 -0
- package/dist/navigation-BB0MBIiR.js.map +1 -0
- package/dist/navigation-Bj7Pex9j.mjs +43 -0
- package/dist/navigation-Bj7Pex9j.mjs.map +1 -0
- package/dist/theme.cjs.js +1 -1
- package/dist/theme.cjs.js.map +1 -1
- package/dist/theme.es.js +15 -9
- package/dist/theme.es.js.map +1 -1
- package/dist/useBreakpoint-CjRyGKN-.mjs +53 -0
- package/dist/useBreakpoint-CjRyGKN-.mjs.map +1 -0
- package/dist/useBreakpoint-DA-JqOu3.js +2 -0
- package/dist/useBreakpoint-DA-JqOu3.js.map +1 -0
- package/dist/utils.cjs.js +1 -1
- package/dist/utils.es.js +15 -19
- package/dist/utils.es.js.map +1 -1
- package/package.json +13 -13
- package/dist/_virtual/jsx-runtime.cjs.js +0 -2
- package/dist/_virtual/jsx-runtime.cjs.js.map +0 -1
- package/dist/_virtual/jsx-runtime.es.js +0 -5
- package/dist/_virtual/jsx-runtime.es.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.development.cjs.js +0 -2
- package/dist/_virtual/react-jsx-runtime.development.cjs.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.development.es.js +0 -5
- package/dist/_virtual/react-jsx-runtime.development.es.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.production.min.cjs.js +0 -2
- package/dist/_virtual/react-jsx-runtime.production.min.cjs.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.production.min.es.js +0 -5
- package/dist/_virtual/react-jsx-runtime.production.min.es.js.map +0 -1
- package/dist/assets/svg/icons.svg.cjs.js +0 -2
- package/dist/assets/svg/icons.svg.cjs.js.map +0 -1
- package/dist/assets/svg/icons.svg.es.js +0 -5
- package/dist/assets/svg/icons.svg.es.js.map +0 -1
- package/dist/components/ActionMenu/ActionMenu.cjs.js +0 -2
- package/dist/components/ActionMenu/ActionMenu.cjs.js.map +0 -1
- package/dist/components/ActionMenu/ActionMenu.es.js +0 -262
- package/dist/components/ActionMenu/ActionMenu.es.js.map +0 -1
- package/dist/components/Badge/Badge.cjs.js +0 -2
- package/dist/components/Badge/Badge.cjs.js.map +0 -1
- package/dist/components/Badge/Badge.es.js +0 -25
- package/dist/components/Badge/Badge.es.js.map +0 -1
- package/dist/components/Banner/Banner.cjs.js +0 -2
- package/dist/components/Banner/Banner.cjs.js.map +0 -1
- package/dist/components/Banner/Banner.es.js +0 -131
- package/dist/components/Banner/Banner.es.js.map +0 -1
- package/dist/components/Button/Button.cjs.js +0 -2
- package/dist/components/Button/Button.cjs.js.map +0 -1
- package/dist/components/Button/Button.es.js +0 -99
- package/dist/components/Button/Button.es.js.map +0 -1
- package/dist/components/ButtonGroup/ButtonGroup.cjs.js +0 -2
- package/dist/components/ButtonGroup/ButtonGroup.cjs.js.map +0 -1
- package/dist/components/ButtonGroup/ButtonGroup.es.js +0 -51
- package/dist/components/ButtonGroup/ButtonGroup.es.js.map +0 -1
- package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js +0 -2
- package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js.map +0 -1
- package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js +0 -80
- package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js.map +0 -1
- package/dist/components/DataTable/DataTable.cjs.js +0 -2
- package/dist/components/DataTable/DataTable.cjs.js.map +0 -1
- package/dist/components/DataTable/DataTable.es.js +0 -137
- package/dist/components/DataTable/DataTable.es.js.map +0 -1
- package/dist/components/Dialog/Dialog.cjs.js +0 -2
- package/dist/components/Dialog/Dialog.cjs.js.map +0 -1
- package/dist/components/Dialog/Dialog.es.js +0 -15
- package/dist/components/Dialog/Dialog.es.js.map +0 -1
- package/dist/components/Elevation/Elevation.cjs.js +0 -2
- package/dist/components/Elevation/Elevation.cjs.js.map +0 -1
- package/dist/components/Elevation/Elevation.es.js +0 -33
- package/dist/components/Elevation/Elevation.es.js.map +0 -1
- package/dist/components/Icon/Icon.cjs.js +0 -2
- package/dist/components/Icon/Icon.cjs.js.map +0 -1
- package/dist/components/Icon/Icon.es.js +0 -42
- package/dist/components/Icon/Icon.es.js.map +0 -1
- package/dist/components/ImageBackground/ImageBackground.cjs.js +0 -2
- package/dist/components/ImageBackground/ImageBackground.cjs.js.map +0 -1
- package/dist/components/ImageBackground/ImageBackground.es.js +0 -55
- package/dist/components/ImageBackground/ImageBackground.es.js.map +0 -1
- package/dist/components/Input/BaseInput/Input.cjs.js +0 -2
- package/dist/components/Input/BaseInput/Input.cjs.js.map +0 -1
- package/dist/components/Input/BaseInput/Input.es.js +0 -182
- package/dist/components/Input/BaseInput/Input.es.js.map +0 -1
- package/dist/components/Input/CopyInput/CopyInput.cjs.js +0 -2
- package/dist/components/Input/CopyInput/CopyInput.cjs.js.map +0 -1
- package/dist/components/Input/CopyInput/CopyInput.es.js +0 -83
- package/dist/components/Input/CopyInput/CopyInput.es.js.map +0 -1
- package/dist/components/Input/SearchInput/SearchInput.cjs.js +0 -2
- package/dist/components/Input/SearchInput/SearchInput.cjs.js.map +0 -1
- package/dist/components/Input/SearchInput/SearchInput.es.js +0 -118
- package/dist/components/Input/SearchInput/SearchInput.es.js.map +0 -1
- package/dist/components/Menu/MenuTrigger.cjs.js +0 -2
- package/dist/components/Menu/MenuTrigger.cjs.js.map +0 -1
- package/dist/components/Menu/MenuTrigger.es.js +0 -89
- package/dist/components/Menu/MenuTrigger.es.js.map +0 -1
- package/dist/components/Menu/PopoverMenu.cjs.js +0 -2
- package/dist/components/Menu/PopoverMenu.cjs.js.map +0 -1
- package/dist/components/Menu/PopoverMenu.es.js +0 -122
- package/dist/components/Menu/PopoverMenu.es.js.map +0 -1
- package/dist/components/Modal/Modal.cjs.js +0 -2
- package/dist/components/Modal/Modal.cjs.js.map +0 -1
- package/dist/components/Modal/Modal.es.js +0 -122
- package/dist/components/Modal/Modal.es.js.map +0 -1
- package/dist/components/Popover/Popover.cjs.js +0 -2
- package/dist/components/Popover/Popover.cjs.js.map +0 -1
- package/dist/components/Popover/Popover.es.js +0 -53
- package/dist/components/Popover/Popover.es.js.map +0 -1
- package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js +0 -2
- package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js.map +0 -1
- package/dist/components/ScreenOverlay/ScreenOverlay.es.js +0 -44
- package/dist/components/ScreenOverlay/ScreenOverlay.es.js.map +0 -1
- package/dist/components/Select/Select.cjs.js +0 -2
- package/dist/components/Select/Select.cjs.js.map +0 -1
- package/dist/components/Select/Select.es.js +0 -224
- package/dist/components/Select/Select.es.js.map +0 -1
- package/dist/components/Switch/Switch.cjs.js +0 -2
- package/dist/components/Switch/Switch.cjs.js.map +0 -1
- package/dist/components/Switch/Switch.es.js +0 -40
- package/dist/components/Switch/Switch.es.js.map +0 -1
- package/dist/components/Table/Collection/CompoundComponents.cjs.js +0 -2
- package/dist/components/Table/Collection/CompoundComponents.cjs.js.map +0 -1
- package/dist/components/Table/Collection/CompoundComponents.es.js +0 -9
- package/dist/components/Table/Collection/CompoundComponents.es.js.map +0 -1
- package/dist/components/Table/Collection/collectionParser.cjs.js +0 -2
- package/dist/components/Table/Collection/collectionParser.cjs.js.map +0 -1
- package/dist/components/Table/Collection/collectionParser.es.js +0 -54
- package/dist/components/Table/Collection/collectionParser.es.js.map +0 -1
- package/dist/components/Table/Collection/useTableCollection.cjs.js +0 -2
- package/dist/components/Table/Collection/useTableCollection.cjs.js.map +0 -1
- package/dist/components/Table/Collection/useTableCollection.es.js +0 -59
- package/dist/components/Table/Collection/useTableCollection.es.js.map +0 -1
- package/dist/components/Table/Table.cjs.js +0 -2
- package/dist/components/Table/Table.cjs.js.map +0 -1
- package/dist/components/Table/Table.es.js +0 -89
- package/dist/components/Table/Table.es.js.map +0 -1
- package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js +0 -2
- package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js.map +0 -1
- package/dist/components/Text/TextEllipsis/TextEllipsis.es.js +0 -30
- package/dist/components/Text/TextEllipsis/TextEllipsis.es.js.map +0 -1
- package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js +0 -2
- package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js.map +0 -1
- package/dist/components/Text/TextEmphasis/TextEmphasis.es.js +0 -54
- package/dist/components/Text/TextEmphasis/TextEmphasis.es.js.map +0 -1
- package/dist/components/ThemeProvider.cjs.js +0 -2
- package/dist/components/ThemeProvider.cjs.js.map +0 -1
- package/dist/components/ThemeProvider.es.js +0 -43
- package/dist/components/ThemeProvider.es.js.map +0 -1
- package/dist/components/Tombstone/Tombstone.cjs.js +0 -2
- package/dist/components/Tombstone/Tombstone.cjs.js.map +0 -1
- package/dist/components/Tombstone/Tombstone.es.js +0 -35
- package/dist/components/Tombstone/Tombstone.es.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.cjs.js +0 -2
- package/dist/components/Tooltip/Tooltip.cjs.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.es.js +0 -78
- package/dist/components/Tooltip/Tooltip.es.js.map +0 -1
- package/dist/components/Waveform/Waveform.cjs.js +0 -2
- package/dist/components/Waveform/Waveform.cjs.js.map +0 -1
- package/dist/components/Waveform/Waveform.es.js +0 -163
- package/dist/components/Waveform/Waveform.es.js.map +0 -1
- package/dist/components/Waveform/WaveformBar.cjs.js +0 -2
- package/dist/components/Waveform/WaveformBar.cjs.js.map +0 -1
- package/dist/components/Waveform/WaveformBar.es.js +0 -74
- package/dist/components/Waveform/WaveformBar.es.js.map +0 -1
- package/dist/constants/breakpoint.cjs.js +0 -2
- package/dist/constants/breakpoint.cjs.js.map +0 -1
- package/dist/constants/breakpoint.es.js.map +0 -1
- package/dist/constants/placement.cjs.js +0 -2
- package/dist/constants/placement.cjs.js.map +0 -1
- package/dist/constants/placement.es.js +0 -28
- package/dist/constants/placement.es.js.map +0 -1
- package/dist/design/colors.cjs.js +0 -2
- package/dist/design/colors.cjs.js.map +0 -1
- package/dist/design/colors.es.js.map +0 -1
- package/dist/design/darkTheme/colors.cjs.js +0 -2
- package/dist/design/darkTheme/stylesheet.cjs.js +0 -2
- package/dist/design/darkTheme/stylesheet.cjs.js.map +0 -1
- package/dist/design/darkTheme/stylesheet.es.js.map +0 -1
- package/dist/design/generateStylesheet.cjs.js +0 -2
- package/dist/design/generateStylesheet.cjs.js.map +0 -1
- package/dist/design/generateStylesheet.es.js +0 -26
- package/dist/design/generateStylesheet.es.js.map +0 -1
- package/dist/design/lightTheme/colors.cjs.js +0 -2
- package/dist/design/lightTheme/stylesheet.cjs.js +0 -2
- package/dist/design/lightTheme/stylesheet.cjs.js.map +0 -1
- package/dist/design/lightTheme/stylesheet.es.js.map +0 -1
- package/dist/design/theme.cjs.js +0 -2
- package/dist/design/theme.cjs.js.map +0 -1
- package/dist/design/theme.es.js +0 -12
- package/dist/design/theme.es.js.map +0 -1
- package/dist/hooks/useBreakpoint.cjs.js +0 -2
- package/dist/hooks/useBreakpoint.cjs.js.map +0 -1
- package/dist/hooks/useBreakpoint.es.js +0 -17
- package/dist/hooks/useBreakpoint.es.js.map +0 -1
- package/dist/hooks/useIsClosing.cjs.js +0 -2
- package/dist/hooks/useIsClosing.cjs.js.map +0 -1
- package/dist/hooks/useIsClosing.es.js +0 -30
- package/dist/hooks/useIsClosing.es.js.map +0 -1
- package/dist/hooks/useLockBodyScroll.cjs.js +0 -2
- package/dist/hooks/useLockBodyScroll.cjs.js.map +0 -1
- package/dist/hooks/useLockBodyScroll.es.js +0 -14
- package/dist/hooks/useLockBodyScroll.es.js.map +0 -1
- package/dist/hooks/usePalette.cjs.js +0 -2
- package/dist/hooks/usePalette.cjs.js.map +0 -1
- package/dist/hooks/usePalette.es.js +0 -37
- package/dist/hooks/usePalette.es.js.map +0 -1
- package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js +0 -2
- package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/button/dist/useButton.es.js +0 -47
- package/dist/node_modules/@react-aria/button/dist/useButton.es.js.map +0 -1
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js +0 -2
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js +0 -44
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js +0 -2
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js +0 -423
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/isElementVisible.cjs.js +0 -2
- package/dist/node_modules/@react-aria/focus/dist/isElementVisible.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/isElementVisible.es.js +0 -23
- package/dist/node_modules/@react-aria/focus/dist/isElementVisible.es.js.map +0 -1
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js +0 -2
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js +0 -76
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/context.es.js +0 -11
- package/dist/node_modules/@react-aria/i18n/dist/context.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js +0 -30
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/utils.es.js +0 -45
- package/dist/node_modules/@react-aria/i18n/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/context.es.js +0 -10
- package/dist/node_modules/@react-aria/interactions/dist/context.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js +0 -29
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js +0 -15
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js +0 -35
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js +0 -30
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js +0 -63
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js +0 -56
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js +0 -42
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js +0 -51
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js +0 -13
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js +0 -375
- package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/utils.es.js +0 -92
- package/dist/node_modules/@react-aria/interactions/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useField.cjs.js +0 -2
- package/dist/node_modules/@react-aria/label/dist/useField.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useField.es.js +0 -36
- package/dist/node_modules/@react-aria/label/dist/useField.es.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js +0 -2
- package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useLabel.es.js +0 -23
- package/dist/node_modules/@react-aria/label/dist/useLabel.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js +0 -16
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js +0 -64
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js +0 -30
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js +0 -53
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js +0 -98
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js +0 -2
- package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js +0 -58
- package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js +0 -2
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js +0 -78
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/utils.es.js +0 -5
- package/dist/node_modules/@react-aria/radio/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js +0 -2
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js +0 -19
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js.map +0 -1
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js +0 -2
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js +0 -20
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js.map +0 -1
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js +0 -2
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js +0 -48
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js.map +0 -1
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js +0 -2
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js +0 -41
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js.map +0 -1
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js +0 -110
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js +0 -30
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js +0 -33
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js +0 -19
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js +0 -31
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js +0 -9
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js +0 -8
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js +0 -13
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js +0 -9
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js +0 -11
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js +0 -9
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js +0 -11
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js.map +0 -1
- package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js +0 -2
- package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js.map +0 -1
- package/dist/node_modules/color2k/dist/index.exports.import.es.es.js +0 -171
- package/dist/node_modules/color2k/dist/index.exports.import.es.es.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js +0 -23
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js +0 -609
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js +0 -10
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js +0 -29
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js.map +0 -1
- package/dist/node_modules/react/jsx-runtime.cjs.js +0 -2
- package/dist/node_modules/react/jsx-runtime.cjs.js.map +0 -1
- package/dist/node_modules/react/jsx-runtime.es.js +0 -9
- package/dist/node_modules/react/jsx-runtime.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js +0 -37
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Tooltip.es.js +0 -97
- package/dist/node_modules/react-aria-components/dist/Tooltip.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/utils.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/utils.es.js +0 -89
- package/dist/node_modules/react-aria-components/dist/utils.es.js.map +0 -1
- package/dist/theme/dark.cjs.js +0 -2
- package/dist/theme/dark.cjs.js.map +0 -1
- package/dist/theme/dark.d.ts +0 -2
- package/dist/theme/dark.es.js +0 -11
- package/dist/theme/dark.es.js.map +0 -1
- package/dist/theme/light.cjs.js +0 -2
- package/dist/theme/light.cjs.js.map +0 -1
- package/dist/theme/light.d.ts +0 -2
- package/dist/theme/light.es.js +0 -11
- package/dist/theme/light.es.js.map +0 -1
- package/dist/utils/color2k.cjs.js +0 -2
- package/dist/utils/color2k.cjs.js.map +0 -1
- package/dist/utils/color2k.es.js +0 -14
- package/dist/utils/color2k.es.js.map +0 -1
- package/dist/utils/copy.cjs.js +0 -2
- package/dist/utils/copy.cjs.js.map +0 -1
- package/dist/utils/copy.es.js +0 -31
- package/dist/utils/copy.es.js.map +0 -1
- package/dist/utils/image.cjs.js +0 -2
- package/dist/utils/image.cjs.js.map +0 -1
- package/dist/utils/image.es.js +0 -28
- package/dist/utils/image.es.js.map +0 -1
- package/dist/utils/navigation.cjs.js +0 -2
- package/dist/utils/navigation.cjs.js.map +0 -1
- package/dist/utils/navigation.es.js +0 -12
- package/dist/utils/navigation.es.js.map +0 -1
- package/dist/utils/palette.cjs.js +0 -2
- package/dist/utils/palette.cjs.js.map +0 -1
- package/dist/utils/palette.es.js +0 -183
- package/dist/utils/palette.es.js.map +0 -1
- package/dist/utils/string.cjs.js +0 -2
- package/dist/utils/string.cjs.js.map +0 -1
- package/dist/utils/string.es.js +0 -8
- package/dist/utils/string.es.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dark.cjs.js","sources":["../src/design/darkTheme/stylesheet.ts"],"sourcesContent":["import { transparentize } from \"../../utils/color2k\";\r\nimport { BORDER, DARK_GRAYSCALE, ELEVATION } from \"./colors\";\r\nimport { DANGER, WARNING, SUCCESS, BRAND } from \"../colors\";\r\nimport type { ProtonStyleSheet } from \"../types\";\r\n\r\nexport const DARK_STYLESHEET: ProtonStyleSheet = {\r\n // Control/component colors\r\n \"--proton-control__background-color\": DARK_GRAYSCALE.DARK,\r\n \"--proton-control__background-color-light\": ELEVATION,\r\n \"--proton-control__text-color\": DARK_GRAYSCALE.WHITE,\r\n \"--proton-control__title-color\": \"#FFFFFF\",\r\n \"--proton-control__border-color\": BORDER,\r\n \"--proton-control__hover-color\": DARK_GRAYSCALE.MEDIUM,\r\n \"--proton-control__shadow-color\": transparentize(\r\n DARK_GRAYSCALE.LIGHTEST,\r\n 0.5\r\n ),\r\n \"--proton-control__border-radius\": \"4px\",\r\n \"--proton-control__interactive-color\": BRAND.PRIMARY_LIGHT,\r\n\r\n // Brand colors\r\n \"--proton-color__primary\": BRAND.PRIMARY,\r\n \"--proton-color__primary-light\": BRAND.PRIMARY_LIGHT,\r\n \"--proton-color__primary-super-light\": BRAND.PRIMARY_SUPER_LIGHT,\r\n \"--proton-color__secondary\": BRAND.SECONDARY,\r\n \"--proton-color__secondary-light\": BRAND.SECONDARY_LIGHT,\r\n \"--proton-color__secondary-super-light\": BRAND.SECONDARY_SUPER_LIGHT,\r\n\r\n // Semantic colors\r\n \"--proton-color__danger-super-dark\": DANGER.SUPER_DARK,\r\n \"--proton-color__danger-dark\": DANGER.DARK,\r\n \"--proton-color__danger-medium\": DANGER.MEDIUM,\r\n \"--proton-color__danger-light\": DANGER.LIGHT,\r\n \"--proton-color__danger-super-light\": DANGER.SUPER_LIGHT,\r\n \"--proton-color__warning-dark\": WARNING.DARK,\r\n \"--proton-color__warning-medium\": WARNING.MEDIUM,\r\n \"--proton-color__warning-light\": WARNING.LIGHT,\r\n \"--proton-color__warning-super-light\": WARNING.SUPER_LIGHT,\r\n \"--proton-color__success-dark\": SUCCESS.DARK,\r\n \"--proton-color__success-medium\": SUCCESS.MEDIUM,\r\n \"--proton-color__success-light\": SUCCESS.LIGHT,\r\n \"--proton-color__success-super-light\": SUCCESS.SUPER_LIGHT,\r\n\r\n // Grayscale colors\r\n \"--proton-color__gray-super-dark\": DARK_GRAYSCALE.SUPER_DARK,\r\n \"--proton-color__gray-dark\": DARK_GRAYSCALE.DARK,\r\n \"--proton-color__gray-medium\": DARK_GRAYSCALE.MEDIUM,\r\n \"--proton-color__gray-medium-light\": DARK_GRAYSCALE.MEDIUM_LIGHT,\r\n \"--proton-color__gray-light\": DARK_GRAYSCALE.LIGHT,\r\n \"--proton-color__gray-lightest\": DARK_GRAYSCALE.LIGHTEST,\r\n \"--proton-color__gray-super-light\": DARK_GRAYSCALE.SUPER_LIGHT,\r\n \"--proton-color__white\": DARK_GRAYSCALE.WHITE,\r\n};\r\n"],"names":["DARK_STYLESHEET","DARK_GRAYSCALE","ELEVATION","BORDER","transparentize","BRAND","DANGER","WARNING","SUCCESS"],"mappings":"6LAKaA,EAAoC,CAE/C,qCAAsCC,EAAe,eAAA,KACrD,2CAA4CC,EAAA,UAC5C,+BAAgCD,EAAe,eAAA,MAC/C,gCAAiC,UACjC,iCAAkCE,EAAA,OAClC,gCAAiCF,EAAe,eAAA,OAChD,iCAAkCG,EAAA,eAChCH,EAAAA,eAAe,SACf,EACF,EACA,kCAAmC,MACnC,sCAAuCI,EAAM,MAAA,cAG7C,0BAA2BA,EAAM,MAAA,QACjC,gCAAiCA,EAAM,MAAA,cACvC,sCAAuCA,EAAM,MAAA,oBAC7C,4BAA6BA,EAAM,MAAA,UACnC,kCAAmCA,EAAM,MAAA,gBACzC,wCAAyCA,EAAM,MAAA,sBAG/C,oCAAqCC,EAAO,OAAA,WAC5C,8BAA+BA,EAAO,OAAA,KACtC,gCAAiCA,EAAO,OAAA,OACxC,+BAAgCA,EAAO,OAAA,MACvC,qCAAsCA,EAAO,OAAA,YAC7C,+BAAgCC,EAAQ,QAAA,KACxC,iCAAkCA,EAAQ,QAAA,OAC1C,gCAAiCA,EAAQ,QAAA,MACzC,sCAAuCA,EAAQ,QAAA,YAC/C,+BAAgCC,EAAQ,QAAA,KACxC,iCAAkCA,EAAQ,QAAA,OAC1C,gCAAiCA,EAAQ,QAAA,MACzC,sCAAuCA,EAAQ,QAAA,YAG/C,kCAAmCP,EAAe,eAAA,WAClD,4BAA6BA,EAAe,eAAA,KAC5C,8BAA+BA,EAAe,eAAA,OAC9C,oCAAqCA,EAAe,eAAA,aACpD,6BAA8BA,EAAe,eAAA,MAC7C,gCAAiCA,EAAe,eAAA,SAChD,mCAAoCA,EAAe,eAAA,YACnD,wBAAyBA,EAAe,eAAA,KAC1C"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { a as o, E as l, B as c } from "./colors-Ceyo4oCJ.mjs";
|
|
2
|
+
import { D as g, b as I } from "./colors-Ceyo4oCJ.mjs";
|
|
3
|
+
import { t as p } from "./color2k-CpDB_dpw.mjs";
|
|
4
|
+
import { a as r, D as _, W as t, S as n } from "./colors-CWaj9dFz.mjs";
|
|
5
|
+
const e = {
|
|
5
6
|
// Control/component colors
|
|
6
7
|
"--proton-control__background-color": o.DARK,
|
|
7
|
-
"--proton-control__background-color-light":
|
|
8
|
+
"--proton-control__background-color-light": l,
|
|
8
9
|
"--proton-control__text-color": o.WHITE,
|
|
9
10
|
"--proton-control__title-color": "#FFFFFF",
|
|
10
|
-
"--proton-control__border-color":
|
|
11
|
+
"--proton-control__border-color": c,
|
|
11
12
|
"--proton-control__hover-color": o.MEDIUM,
|
|
12
|
-
"--proton-control__shadow-color":
|
|
13
|
+
"--proton-control__shadow-color": p(
|
|
13
14
|
o.LIGHTEST,
|
|
14
15
|
0.5
|
|
15
16
|
),
|
|
@@ -47,6 +48,11 @@ const R = {
|
|
|
47
48
|
"--proton-color__white": o.WHITE
|
|
48
49
|
};
|
|
49
50
|
export {
|
|
50
|
-
|
|
51
|
+
c as DARK_BORDER,
|
|
52
|
+
l as DARK_ELEVATION,
|
|
53
|
+
o as DARK_GRAYSCALE,
|
|
54
|
+
g as DARK_PALETTE,
|
|
55
|
+
I as DARK_SECONDARY,
|
|
56
|
+
e as DARK_STYLESHEET
|
|
51
57
|
};
|
|
52
|
-
//# sourceMappingURL=
|
|
58
|
+
//# sourceMappingURL=dark.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dark.es.js","sources":["../src/design/darkTheme/stylesheet.ts"],"sourcesContent":["import { transparentize } from \"../../utils/color2k\";\r\nimport { BORDER, DARK_GRAYSCALE, ELEVATION } from \"./colors\";\r\nimport { DANGER, WARNING, SUCCESS, BRAND } from \"../colors\";\r\nimport type { ProtonStyleSheet } from \"../types\";\r\n\r\nexport const DARK_STYLESHEET: ProtonStyleSheet = {\r\n // Control/component colors\r\n \"--proton-control__background-color\": DARK_GRAYSCALE.DARK,\r\n \"--proton-control__background-color-light\": ELEVATION,\r\n \"--proton-control__text-color\": DARK_GRAYSCALE.WHITE,\r\n \"--proton-control__title-color\": \"#FFFFFF\",\r\n \"--proton-control__border-color\": BORDER,\r\n \"--proton-control__hover-color\": DARK_GRAYSCALE.MEDIUM,\r\n \"--proton-control__shadow-color\": transparentize(\r\n DARK_GRAYSCALE.LIGHTEST,\r\n 0.5\r\n ),\r\n \"--proton-control__border-radius\": \"4px\",\r\n \"--proton-control__interactive-color\": BRAND.PRIMARY_LIGHT,\r\n\r\n // Brand colors\r\n \"--proton-color__primary\": BRAND.PRIMARY,\r\n \"--proton-color__primary-light\": BRAND.PRIMARY_LIGHT,\r\n \"--proton-color__primary-super-light\": BRAND.PRIMARY_SUPER_LIGHT,\r\n \"--proton-color__secondary\": BRAND.SECONDARY,\r\n \"--proton-color__secondary-light\": BRAND.SECONDARY_LIGHT,\r\n \"--proton-color__secondary-super-light\": BRAND.SECONDARY_SUPER_LIGHT,\r\n\r\n // Semantic colors\r\n \"--proton-color__danger-super-dark\": DANGER.SUPER_DARK,\r\n \"--proton-color__danger-dark\": DANGER.DARK,\r\n \"--proton-color__danger-medium\": DANGER.MEDIUM,\r\n \"--proton-color__danger-light\": DANGER.LIGHT,\r\n \"--proton-color__danger-super-light\": DANGER.SUPER_LIGHT,\r\n \"--proton-color__warning-dark\": WARNING.DARK,\r\n \"--proton-color__warning-medium\": WARNING.MEDIUM,\r\n \"--proton-color__warning-light\": WARNING.LIGHT,\r\n \"--proton-color__warning-super-light\": WARNING.SUPER_LIGHT,\r\n \"--proton-color__success-dark\": SUCCESS.DARK,\r\n \"--proton-color__success-medium\": SUCCESS.MEDIUM,\r\n \"--proton-color__success-light\": SUCCESS.LIGHT,\r\n \"--proton-color__success-super-light\": SUCCESS.SUPER_LIGHT,\r\n\r\n // Grayscale colors\r\n \"--proton-color__gray-super-dark\": DARK_GRAYSCALE.SUPER_DARK,\r\n \"--proton-color__gray-dark\": DARK_GRAYSCALE.DARK,\r\n \"--proton-color__gray-medium\": DARK_GRAYSCALE.MEDIUM,\r\n \"--proton-color__gray-medium-light\": DARK_GRAYSCALE.MEDIUM_LIGHT,\r\n \"--proton-color__gray-light\": DARK_GRAYSCALE.LIGHT,\r\n \"--proton-color__gray-lightest\": DARK_GRAYSCALE.LIGHTEST,\r\n \"--proton-color__gray-super-light\": DARK_GRAYSCALE.SUPER_LIGHT,\r\n \"--proton-color__white\": DARK_GRAYSCALE.WHITE,\r\n};\r\n"],"names":["DARK_STYLESHEET","DARK_GRAYSCALE","ELEVATION","BORDER","transparentize","BRAND","DANGER","WARNING","SUCCESS"],"mappings":";;;;AAKO,MAAMA,IAAoC;AAAA;AAAA,EAE/C,sCAAsCC,EAAe;AAAA,EACrD,4CAA4CC;AAAA,EAC5C,gCAAgCD,EAAe;AAAA,EAC/C,iCAAiC;AAAA,EACjC,kCAAkCE;AAAA,EAClC,iCAAiCF,EAAe;AAAA,EAChD,kCAAkCG;AAAA,IAChCH,EAAe;AAAA,IACf;AAAA,EACF;AAAA,EACA,mCAAmC;AAAA,EACnC,uCAAuCI,EAAM;AAAA;AAAA,EAG7C,2BAA2BA,EAAM;AAAA,EACjC,iCAAiCA,EAAM;AAAA,EACvC,uCAAuCA,EAAM;AAAA,EAC7C,6BAA6BA,EAAM;AAAA,EACnC,mCAAmCA,EAAM;AAAA,EACzC,yCAAyCA,EAAM;AAAA;AAAA,EAG/C,qCAAqCC,EAAO;AAAA,EAC5C,+BAA+BA,EAAO;AAAA,EACtC,iCAAiCA,EAAO;AAAA,EACxC,gCAAgCA,EAAO;AAAA,EACvC,sCAAsCA,EAAO;AAAA,EAC7C,gCAAgCC,EAAQ;AAAA,EACxC,kCAAkCA,EAAQ;AAAA,EAC1C,iCAAiCA,EAAQ;AAAA,EACzC,uCAAuCA,EAAQ;AAAA,EAC/C,gCAAgCC,EAAQ;AAAA,EACxC,kCAAkCA,EAAQ;AAAA,EAC1C,iCAAiCA,EAAQ;AAAA,EACzC,uCAAuCA,EAAQ;AAAA;AAAA,EAG/C,mCAAmCP,EAAe;AAAA,EAClD,6BAA6BA,EAAe;AAAA,EAC5C,+BAA+BA,EAAe;AAAA,EAC9C,qCAAqCA,EAAe;AAAA,EACpD,8BAA8BA,EAAe;AAAA,EAC7C,iCAAiCA,EAAe;AAAA,EAChD,oCAAoCA,EAAe;AAAA,EACnD,yBAAyBA,EAAe;AAC1C;"}
|
package/dist/hooks.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./useBreakpoint-DA-JqOu3.js"),P=require("./colors-CebzFjpe.js"),r=require("./colors-DL1dYffC.js"),o=require("react"),i=require("./image-CUSfY1_T.js"),T=require("./theme.cjs.js"),E=(e,l)=>{const[a,s]=o.useState(r.LIGHT_PALETTE),c=o.useCallback(async()=>{if(!e)return r.LIGHT_PALETTE;try{const t=await i.getDominantColor(e);return i.generatePalette(t)}catch(t){return console.error("Failed to generate palette:",t),r.LIGHT_PALETTE}},[e]);return o.useEffect(()=>{(async()=>{if(e){const u=await c();s(u);return}if(l===T.THEMES.DARK){s(P.DARK_PALETTE);return}s(r.LIGHT_PALETTE)})()},[e,l,c]),o.useMemo(()=>a,[a])};exports.useBreakpoint=n.useBreakpoint;exports.useIsClosing=n.useIsClosing;exports.useLockBodyScroll=n.useLockBodyScroll;exports.usePalette=E;
|
|
2
2
|
//# sourceMappingURL=hooks.cjs.js.map
|
package/dist/hooks.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"hooks.cjs.js","sources":["../src/hooks/usePalette.tsx"],"sourcesContent":["import { THEMES } from \"../design\";\r\nimport { DARK_PALETTE } from \"../design/darkTheme/colors\";\r\nimport { LIGHT_PALETTE } from \"../design/lightTheme/colors\";\r\nimport { generatePalette, getDominantColor } from \"../utils\";\r\nimport { ProtonPalette } from \"../design/types\";\r\nimport { useEffect, useState, useCallback, useMemo } from \"react\";\r\n\r\n/**\r\n * Generates a palette based on a background image or theme.\r\n * @param backgroundImage - The URL of the background image to generate a palette from.\r\n * @param theme - The theme to generate a palette for.\r\n * @returns A Palette object containing the generated palette.\r\n */\r\nexport const usePalette = (\r\n backgroundImage: HTMLImageElement | string | null,\r\n theme: string\r\n): ProtonPalette => {\r\n const [palette, setPalette] = useState<ProtonPalette>(LIGHT_PALETTE);\r\n\r\n const getPalette = useCallback(async () => {\r\n if (!backgroundImage) return LIGHT_PALETTE;\r\n\r\n try {\r\n const baseColor = await getDominantColor(\r\n backgroundImage as HTMLImageElement & string\r\n );\r\n const newPalette = generatePalette(baseColor);\r\n\r\n return newPalette;\r\n } catch (error) {\r\n console.error(\"Failed to generate palette:\", error);\r\n return LIGHT_PALETTE;\r\n }\r\n }, [backgroundImage]);\r\n\r\n useEffect(() => {\r\n const fetchPalette = async () => {\r\n if (backgroundImage) {\r\n const newPalette = await getPalette();\r\n setPalette(newPalette);\r\n return;\r\n }\r\n\r\n if (theme === THEMES.DARK) {\r\n setPalette(DARK_PALETTE);\r\n return;\r\n }\r\n\r\n setPalette(LIGHT_PALETTE);\r\n };\r\n\r\n fetchPalette();\r\n }, [backgroundImage, theme, getPalette]);\r\n\r\n return useMemo(() => palette, [palette]);\r\n};\r\n"],"names":["usePalette","backgroundImage","theme","palette","setPalette","useState","LIGHT_PALETTE","getPalette","useCallback","baseColor","getDominantColor","generatePalette","error","useEffect","newPalette","THEMES","DARK_PALETTE","useMemo"],"mappings":"mRAaaA,EAAa,CACxBC,EACAC,IACkB,CAClB,KAAM,CAACC,EAASC,CAAU,EAAIC,WAAwBC,EAAa,aAAA,EAE7DC,EAAaC,EAAAA,YAAY,SAAY,CACrC,GAAA,CAACP,EAAwB,OAAAK,gBAEzB,GAAA,CACF,MAAMG,EAAY,MAAMC,EAAA,iBACtBT,CAAA,EAIK,OAFYU,kBAAgBF,CAAS,QAGrCG,EAAO,CACN,eAAA,MAAM,8BAA+BA,CAAK,EAC3CN,eACT,CAAA,EACC,CAACL,CAAe,CAAC,EAEpBY,OAAAA,EAAAA,UAAU,IAAM,EACO,SAAY,CAC/B,GAAIZ,EAAiB,CACb,MAAAa,EAAa,MAAMP,IACzBH,EAAWU,CAAU,EACrB,MACF,CAEI,GAAAZ,IAAUa,SAAO,KAAM,CACzBX,EAAWY,EAAY,YAAA,EACvB,MACF,CAEAZ,EAAWE,EAAa,aAAA,CAAA,IAIzB,EAAA,CAACL,EAAiBC,EAAOK,CAAU,CAAC,EAEhCU,EAAQ,QAAA,IAAMd,EAAS,CAACA,CAAO,CAAC,CACzC"}
|
package/dist/hooks.es.js
CHANGED
|
@@ -1,11 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { b as h, a as x, u as B } from "./useBreakpoint-CjRyGKN-.mjs";
|
|
2
|
+
import { D as c } from "./colors-Ceyo4oCJ.mjs";
|
|
3
|
+
import { L as r } from "./colors-DMkDnu4U.mjs";
|
|
4
|
+
import { useState as i, useCallback as f, useEffect as u, useMemo as P } from "react";
|
|
5
|
+
import { a as p, g as m } from "./image-DFyN0Kd9.mjs";
|
|
6
|
+
import { THEMES as E } from "./theme.es.js";
|
|
7
|
+
const C = (t, s) => {
|
|
8
|
+
const [a, o] = i(r), n = f(async () => {
|
|
9
|
+
if (!t) return r;
|
|
10
|
+
try {
|
|
11
|
+
const e = await p(
|
|
12
|
+
t
|
|
13
|
+
);
|
|
14
|
+
return m(e);
|
|
15
|
+
} catch (e) {
|
|
16
|
+
return console.error("Failed to generate palette:", e), r;
|
|
17
|
+
}
|
|
18
|
+
}, [t]);
|
|
19
|
+
return u(() => {
|
|
20
|
+
(async () => {
|
|
21
|
+
if (t) {
|
|
22
|
+
const l = await n();
|
|
23
|
+
o(l);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (s === E.DARK) {
|
|
27
|
+
o(c);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
o(r);
|
|
31
|
+
})();
|
|
32
|
+
}, [t, s, n]), P(() => a, [a]);
|
|
33
|
+
};
|
|
5
34
|
export {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
35
|
+
h as useBreakpoint,
|
|
36
|
+
x as useIsClosing,
|
|
37
|
+
B as useLockBodyScroll,
|
|
38
|
+
C as usePalette
|
|
10
39
|
};
|
|
11
40
|
//# sourceMappingURL=hooks.es.js.map
|
package/dist/hooks.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.es.js","sources":["../src/hooks/usePalette.tsx"],"sourcesContent":["import { THEMES } from \"../design\";\r\nimport { DARK_PALETTE } from \"../design/darkTheme/colors\";\r\nimport { LIGHT_PALETTE } from \"../design/lightTheme/colors\";\r\nimport { generatePalette, getDominantColor } from \"../utils\";\r\nimport { ProtonPalette } from \"../design/types\";\r\nimport { useEffect, useState, useCallback, useMemo } from \"react\";\r\n\r\n/**\r\n * Generates a palette based on a background image or theme.\r\n * @param backgroundImage - The URL of the background image to generate a palette from.\r\n * @param theme - The theme to generate a palette for.\r\n * @returns A Palette object containing the generated palette.\r\n */\r\nexport const usePalette = (\r\n backgroundImage: HTMLImageElement | string | null,\r\n theme: string\r\n): ProtonPalette => {\r\n const [palette, setPalette] = useState<ProtonPalette>(LIGHT_PALETTE);\r\n\r\n const getPalette = useCallback(async () => {\r\n if (!backgroundImage) return LIGHT_PALETTE;\r\n\r\n try {\r\n const baseColor = await getDominantColor(\r\n backgroundImage as HTMLImageElement & string\r\n );\r\n const newPalette = generatePalette(baseColor);\r\n\r\n return newPalette;\r\n } catch (error) {\r\n console.error(\"Failed to generate palette:\", error);\r\n return LIGHT_PALETTE;\r\n }\r\n }, [backgroundImage]);\r\n\r\n useEffect(() => {\r\n const fetchPalette = async () => {\r\n if (backgroundImage) {\r\n const newPalette = await getPalette();\r\n setPalette(newPalette);\r\n return;\r\n }\r\n\r\n if (theme === THEMES.DARK) {\r\n setPalette(DARK_PALETTE);\r\n return;\r\n }\r\n\r\n setPalette(LIGHT_PALETTE);\r\n };\r\n\r\n fetchPalette();\r\n }, [backgroundImage, theme, getPalette]);\r\n\r\n return useMemo(() => palette, [palette]);\r\n};\r\n"],"names":["usePalette","backgroundImage","theme","palette","setPalette","useState","LIGHT_PALETTE","getPalette","useCallback","baseColor","getDominantColor","generatePalette","error","useEffect","newPalette","THEMES","DARK_PALETTE","useMemo"],"mappings":";;;;;;AAaa,MAAAA,IAAa,CACxBC,GACAC,MACkB;AAClB,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAwBC,CAAa,GAE7DC,IAAaC,EAAY,YAAY;AACrC,QAAA,CAACP,EAAwB,QAAAK;AAEzB,QAAA;AACF,YAAMG,IAAY,MAAMC;AAAA,QACtBT;AAAA,MAAA;AAIK,aAFYU,EAAgBF,CAAS;AAAA,aAGrCG,GAAO;AACN,qBAAA,MAAM,+BAA+BA,CAAK,GAC3CN;AAAA,IACT;AAAA,EAAA,GACC,CAACL,CAAe,CAAC;AAEpB,SAAAY,EAAU,MAAM;AAgBD,KAfQ,YAAY;AAC/B,UAAIZ,GAAiB;AACb,cAAAa,IAAa,MAAMP;AACzB,QAAAH,EAAWU,CAAU;AACrB;AAAA,MACF;AAEI,UAAAZ,MAAUa,EAAO,MAAM;AACzB,QAAAX,EAAWY,CAAY;AACvB;AAAA,MACF;AAEA,MAAAZ,EAAWE,CAAa;AAAA,IAAA;EAIzB,GAAA,CAACL,GAAiBC,GAAOK,CAAU,CAAC,GAEhCU,EAAQ,MAAMd,GAAS,CAACA,CAAO,CAAC;AACzC;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const t=require("./color2k-DCgwXUem.js"),T=require("./colors-DL1dYffC.js"),m=require("./colors-CebzFjpe.js"),D=require("colorthief"),G=a=>{const r=t.arrayToRgbString(a),n=t.getScale("#FFFFFF",r,"#000000"),e=Array.from({length:12},(u,S)=>{const I=n(S/11);return t.desaturate(I,.0085)}),i=e.map(u=>t.saturate(d(u),.005)),l=t.toRgba(t.saturate(t.adjustHue(r,180),1)),s=t.getScale("#FFFFFF",l,"#000000"),c=Array.from({length:12},(u,S)=>{const I=s(S/11);return t.desaturate(I,.1)}),R=c.map(u=>t.desaturate(d(u),.22)),L=C(t.saturate(i[5],.115)),E=t.desaturate(R[4],.02);return{BASE_COLOR:t.arrayToRgbString(a),BRAND:{PRIMARY:L,PRIMARY_LIGHT:o(L,.25,{min:.6,max:.8}),PRIMARY_SUPER_LIGHT:o(L,.15,{min:.8,max:.9}),SECONDARY:E,SECONDARY_LIGHT:o(E,.25,{min:.6,max:.8}),SECONDARY_SUPER_LIGHT:o(E,.15,{min:.8,max:.9})},PRIMARY:{SUPER_DARK:o(A(e[9]),-.6,{min:0,max:.02}),DARK:o(A(e[8]),-.4,{min:.01,max:.02}),MEDIUM:o(i[7],-.2,{min:0,max:.11}),MEDIUM_LIGHT:o(t.desaturate(i[6],.1),.08),LIGHT:o(t.saturate(i[5],.1),.16),LIGHTEST:o(t.saturate(i[3],.2),.12,{min:.5,max:.9}),SUPER_LIGHT:o(i[1],.02,{min:.76,max:.92}),WHITE:o(i[1],.11,{min:.9,max:.98})},SECONDARY:{SUPER_DARK:o(A(c[9]),-.6,{min:0,max:.02}),DARK:o(A(c[8]),-.4,{min:.01,max:.02}),MEDIUM:o(R[7],-.2,{min:0,max:.11}),MEDIUM_LIGHT:o(R[6],.1),LIGHT:o(t.saturate(R[5],.1),.16),LIGHTEST:o(t.saturate(R[3],.2),.12,{min:.5,max:.9}),SUPER_LIGHT:o(R[1],.02,{min:.76,max:.92}),WHITE:o(R[1],.11,{min:.9,max:.98})},GRAYSCALE:{SUPER_DARK:m.DARK_GRAYSCALE.SUPER_DARK,DARK:m.DARK_GRAYSCALE.DARK,MEDIUM:m.DARK_GRAYSCALE.MEDIUM,MEDIUM_LIGHT:m.DARK_GRAYSCALE.MEDIUM_LIGHT,LIGHT:m.DARK_GRAYSCALE.LIGHT,LIGHTEST:m.DARK_GRAYSCALE.LIGHTEST,SUPER_LIGHT:m.DARK_GRAYSCALE.SUPER_LIGHT,WHITE:m.DARK_GRAYSCALE.WHITE}}},o=(a,r,n={min:.03,max:.97})=>{let e=a,i=t.getLuminance(e);if(n.min<0&&(n.min=0),n.max>1&&(n.max=1),n.min>=n.max)throw new Error("Invalid range: min must be less than max");if(r>0){const s=n.max-i;if(s<=0)return t.toRgba(e);const c=r*(s/(1-i));e=t.lighten(e,c)}else if(r<0){const s=i-n.min;if(s<=0)return t.toRgba(e);const c=r*(s/i);e=t.darken(e,Math.abs(c))}const l=t.getLuminance(e);return(l>n.max||l<n.min)&&(e=g(e,n)),t.toRgba(e)},g=(a,r)=>{let n=a,e=t.getLuminance(n);for(;e>r.max;)n=t.darken(n,.05),e=t.getLuminance(n);for(;e<r.min;)n=t.lighten(n,.05),e=t.getLuminance(n);return t.toRgba(n)},A=a=>{for(;t.hasBadContrast(a,"readable",T.LIGHT_GRAYSCALE.DARK);)a=t.lighten(a,.01);return t.toRgba(a)},C=a=>{for(;t.hasBadContrast(T.LIGHT_GRAYSCALE.SUPER_LIGHT,"readable",a);)a=t.darken(a,.01);return t.toRgba(a)},d=a=>{let r=a,n=t.getLuminance(t.toRgba(r)),e=0;const i=6;for(;n<.16&&e<i;)e++,r=t.lighten(r,.1),n=t.getLuminance(t.toRgba(r));for(;n>.6&&e<i;)e++,r=t.darken(r,.1),n=t.getLuminance(t.toRgba(r));return t.toRgba(r)};function _(a){return a instanceof HTMLImageElement?Promise.resolve(H(a)):h(a)}function H(a){try{return new D().getColor(a)}catch{return[255,255,255]}}function h(a){return new Promise((r,n)=>{const e=document.createElement("img");e.crossOrigin="anonymous",e.onload=()=>{try{const i=new D().getColor(e);r(i)}catch{r([255,255,255])}},e.onerror=()=>n(new Error("Failed to load image")),e.src=a})}exports.generatePalette=G;exports.getDominantColor=_;
|
|
2
|
+
//# sourceMappingURL=image-CUSfY1_T.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-CUSfY1_T.js","sources":["../src/utils/palette.ts","../src/utils/image.ts"],"sourcesContent":["import {\r\n adjustHue,\r\n darken,\r\n getLuminance,\r\n getScale,\r\n hasBadContrast,\r\n lighten,\r\n toRgba,\r\n} from \"color2k\";\r\nimport { ProtonPalette, RGBArray } from \"../design/types\";\r\nimport { arrayToRgbString, desaturate, saturate } from \"./color2k\";\r\nimport { LIGHT_GRAYSCALE } from \"../design/lightTheme/colors\";\r\nimport { DARK_GRAYSCALE } from \"../design/darkTheme/colors\";\r\n\r\n/**\r\n * Generates a complete color palette based on a primary color input.\r\n * The palette includes primary and secondary color scales with varying shades.\r\n *\r\n * @param primaryColor - The base RGB color array to generate the palette from\r\n * @returns A Palette object containing:\r\n * - BRAND colors (primary, light primary, and secondary)\r\n * - PRIMARY scale (7 shades from super dark to super light)\r\n * - SECONDARY scale (7 shades from super dark to super light)\r\n *\r\n * The function:\r\n * 1. Creates a 12-color scale from white to the primary color to black\r\n * 2. Generates a complementary secondary color by shifting the hue 180 degrees\r\n * 3. Creates another 12-color scale for the secondary color\r\n * 4. Maps specific positions from these scales to create the final palette structure\r\n */\r\nexport const generatePalette = (baseColor: RGBArray): ProtonPalette => {\r\n const primaryRgba = arrayToRgbString(baseColor);\r\n\r\n const primaryScaleFunc = getScale(\"#FFFFFF\", primaryRgba, \"#000000\");\r\n const primaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = primaryScaleFunc(i / 11);\r\n return desaturate(color, 0.0085);\r\n });\r\n\r\n const adjustedPrimaryScale = primaryScale.map((color) =>\r\n saturate(adjustBrightnessForLuminance(color), 0.005)\r\n );\r\n\r\n const secondaryColor = toRgba(saturate(adjustHue(primaryRgba, 180), 1));\r\n\r\n const secondaryScaleFunc = getScale(\"#FFFFFF\", secondaryColor, \"#000000\");\r\n const secondaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = secondaryScaleFunc(i / 11);\r\n return desaturate(color, 0.1);\r\n });\r\n\r\n const adjustedSecondaryScale = secondaryScale.map((color) =>\r\n desaturate(adjustBrightnessForLuminance(color), 0.22)\r\n );\r\n\r\n const brandPrimary = darkenForContrast(\r\n saturate(adjustedPrimaryScale[5], 0.115)\r\n );\r\n const brandSecondary = desaturate(adjustedSecondaryScale[4], 0.02);\r\n\r\n return {\r\n BASE_COLOR: arrayToRgbString(baseColor),\r\n BRAND: {\r\n PRIMARY: brandPrimary,\r\n PRIMARY_LIGHT: lightenWithinRange(brandPrimary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n PRIMARY_SUPER_LIGHT: lightenWithinRange(brandPrimary, 0.15, {\r\n min: 0.8,\r\n max: 0.9,\r\n }),\r\n SECONDARY: brandSecondary,\r\n SECONDARY_LIGHT: lightenWithinRange(brandSecondary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n SECONDARY_SUPER_LIGHT: lightenWithinRange(brandSecondary, 0.15, {\r\n min: 0.8,\r\n max: 0.9,\r\n }),\r\n },\r\n PRIMARY: {\r\n //backgrounds\r\n SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(primaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n DARK: lightenWithinRange(lightenForContrast(primaryScale[8]), -0.4, {\r\n min: 0.01,\r\n max: 0.02,\r\n }),\r\n //interactive components\r\n MEDIUM: lightenWithinRange(adjustedPrimaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n MEDIUM_LIGHT: lightenWithinRange(\r\n desaturate(adjustedPrimaryScale[6], 0.1),\r\n 0.08\r\n ),\r\n //solid colors\r\n LIGHT: lightenWithinRange(saturate(adjustedPrimaryScale[5], 0.1), 0.16),\r\n //accessible text\r\n LIGHTEST: lightenWithinRange(\r\n saturate(adjustedPrimaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SUPER_LIGHT: lightenWithinRange(adjustedPrimaryScale[1], 0.02, {\r\n min: 0.76,\r\n max: 0.92,\r\n }),\r\n WHITE: lightenWithinRange(adjustedPrimaryScale[1], 0.11, {\r\n min: 0.9,\r\n max: 0.98,\r\n }),\r\n },\r\n SECONDARY: {\r\n //backgrounds\r\n SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(secondaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n DARK: lightenWithinRange(lightenForContrast(secondaryScale[8]), -0.4, {\r\n min: 0.01,\r\n max: 0.02,\r\n }),\r\n // interactive components\r\n MEDIUM: lightenWithinRange(adjustedSecondaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n MEDIUM_LIGHT: lightenWithinRange(adjustedSecondaryScale[6], 0.1),\r\n //solid colors\r\n LIGHT: lightenWithinRange(saturate(adjustedSecondaryScale[5], 0.1), 0.16),\r\n //accessible text\r\n LIGHTEST: lightenWithinRange(\r\n saturate(adjustedSecondaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SUPER_LIGHT: lightenWithinRange(adjustedSecondaryScale[1], 0.02, {\r\n min: 0.76,\r\n max: 0.92,\r\n }),\r\n WHITE: lightenWithinRange(adjustedSecondaryScale[1], 0.11, {\r\n min: 0.9,\r\n max: 0.98,\r\n }),\r\n },\r\n //TODO: make theme aware grayscale color scale\r\n //Can we remove the basecolor after this?\r\n GRAYSCALE: {\r\n SUPER_DARK: DARK_GRAYSCALE.SUPER_DARK,\r\n DARK: DARK_GRAYSCALE.DARK,\r\n MEDIUM: DARK_GRAYSCALE.MEDIUM,\r\n MEDIUM_LIGHT: DARK_GRAYSCALE.MEDIUM_LIGHT,\r\n LIGHT: DARK_GRAYSCALE.LIGHT,\r\n LIGHTEST: DARK_GRAYSCALE.LIGHTEST,\r\n SUPER_LIGHT: DARK_GRAYSCALE.SUPER_LIGHT,\r\n WHITE: DARK_GRAYSCALE.WHITE,\r\n },\r\n };\r\n};\r\n\r\nconst lightenWithinRange = (\r\n color: string,\r\n amount: number,\r\n range: { min: number; max: number } = { min: 0.03, max: 0.97 }\r\n): string => {\r\n let adjustedColor = color;\r\n let currentLuminance = getLuminance(adjustedColor);\r\n\r\n // Validate range bounds\r\n if (range.min < 0) range.min = 0;\r\n if (range.max > 1) range.max = 1;\r\n if (range.min >= range.max) {\r\n throw new Error(\"Invalid range: min must be less than max\");\r\n }\r\n\r\n // For lightening (positive amount)\r\n if (amount > 0) {\r\n // Calculate how much we can lighten before hitting max\r\n const remainingLuminance = range.max - currentLuminance;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to lighten\r\n const scaledAmount = amount * (remainingLuminance / (1 - currentLuminance));\r\n adjustedColor = lighten(adjustedColor, scaledAmount);\r\n }\r\n // For darkening (negative amount)\r\n else if (amount < 0) {\r\n // Calculate how much we can darken before hitting min\r\n const remainingLuminance = currentLuminance - range.min;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to darken\r\n const scaledAmount = amount * (remainingLuminance / currentLuminance);\r\n adjustedColor = darken(adjustedColor, Math.abs(scaledAmount));\r\n }\r\n\r\n // Verify final luminance is within bounds\r\n const finalLuminance = getLuminance(adjustedColor);\r\n if (finalLuminance > range.max) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n } else if (finalLuminance < range.min) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst adjustBrightnessWithinRange = (\r\n color: string,\r\n range: { min: number; max: number }\r\n): string => {\r\n let adjustedColor = color;\r\n let luminance = getLuminance(adjustedColor);\r\n\r\n // Darken if too bright\r\n while (luminance > range.max) {\r\n adjustedColor = darken(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n // Lighten if too dark\r\n while (luminance < range.min) {\r\n adjustedColor = lighten(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst lightenForContrast = (color: string): string => {\r\n while (hasBadContrast(color, \"readable\", LIGHT_GRAYSCALE.DARK)) {\r\n color = lighten(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst darkenForContrast = (color: string): string => {\r\n while (hasBadContrast(LIGHT_GRAYSCALE.SUPER_LIGHT, \"readable\", color)) {\r\n color = darken(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst adjustBrightnessForLuminance = (color: string): string => {\r\n let currentColor = color;\r\n let currentLuminance = getLuminance(toRgba(currentColor));\r\n let adjustmentAttempts = 0;\r\n const MAX_ATTEMPTS = 6;\r\n\r\n while (currentLuminance < 0.16 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = lighten(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n while (currentLuminance > 0.6 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = darken(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n return toRgba(currentColor);\r\n};\r\n","import ColorThief from \"colorthief\";\r\nimport type { RGBArray } from \"../design/types\";\r\n\r\n/**\r\n * Gets the dominant color of an image. Avoids issues with low contrast colors.\r\n * @reference https://github.com/lokesh/color-thief/issues/40\r\n * @param image - The image to get the dominant color from.\r\n * @returns A Promise that resolves to an RGB array.\r\n */\r\nexport function getDominantColor(image: HTMLImageElement): Promise<RGBArray>;\r\nexport function getDominantColor(image: string): Promise<RGBArray>;\r\nexport function getDominantColor(\r\n image: HTMLImageElement | string\r\n): Promise<RGBArray> {\r\n if (image instanceof HTMLImageElement) {\r\n return Promise.resolve(getDominantColorFromImage(image));\r\n } else {\r\n return getDominantColorFromImageUrl(image);\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImage(image: HTMLImageElement): RGBArray {\r\n try {\r\n const colorThief = new ColorThief();\r\n const baseColor = colorThief.getColor(image);\r\n return baseColor;\r\n } catch {\r\n return [255, 255, 255];\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImageUrl(url: string): Promise<RGBArray> {\r\n return new Promise((resolve, reject) => {\r\n const imgElement = document.createElement(\"img\");\r\n imgElement.crossOrigin = \"anonymous\";\r\n\r\n imgElement.onload = () => {\r\n try {\r\n const baseColor = new ColorThief().getColor(imgElement);\r\n resolve(baseColor);\r\n } catch {\r\n resolve([255, 255, 255]);\r\n }\r\n };\r\n\r\n imgElement.onerror = () => reject(new Error(\"Failed to load image\"));\r\n imgElement.src = url;\r\n });\r\n}\r\n"],"names":["generatePalette","baseColor","primaryRgba","arrayToRgbString","primaryScaleFunc","getScale","primaryScale","_","i","color","desaturate","adjustedPrimaryScale","saturate","adjustBrightnessForLuminance","secondaryColor","toRgba","adjustHue","secondaryScaleFunc","secondaryScale","adjustedSecondaryScale","brandPrimary","darkenForContrast","brandSecondary","lightenWithinRange","lightenForContrast","DARK_GRAYSCALE","amount","range","adjustedColor","currentLuminance","getLuminance","remainingLuminance","scaledAmount","lighten","darken","finalLuminance","adjustBrightnessWithinRange","luminance","hasBadContrast","LIGHT_GRAYSCALE","currentColor","adjustmentAttempts","MAX_ATTEMPTS","getDominantColor","image","getDominantColorFromImage","getDominantColorFromImageUrl","ColorThief","url","resolve","reject","imgElement"],"mappings":"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"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { d as E, s as R, e as m, f as F, a as h, g as s, l as S, b as d, h as M, i as x } from "./color2k-CpDB_dpw.mjs";
|
|
2
|
+
import { a as C } from "./colors-DMkDnu4U.mjs";
|
|
3
|
+
import { a as i } from "./colors-Ceyo4oCJ.mjs";
|
|
4
|
+
import P from "colorthief";
|
|
5
|
+
const K = (e) => {
|
|
6
|
+
const a = h(e), t = x("#FFFFFF", a, "#000000"), n = Array.from({ length: 12 }, (I, D) => {
|
|
7
|
+
const f = t(D / 11);
|
|
8
|
+
return E(f, 85e-4);
|
|
9
|
+
}), o = n.map(
|
|
10
|
+
(I) => R(_(I), 5e-3)
|
|
11
|
+
), T = m(R(F(a, 180), 1)), c = x("#FFFFFF", T, "#000000"), l = Array.from({ length: 12 }, (I, D) => {
|
|
12
|
+
const f = c(D / 11);
|
|
13
|
+
return E(f, 0.1);
|
|
14
|
+
}), u = l.map(
|
|
15
|
+
(I) => E(_(I), 0.22)
|
|
16
|
+
), A = U(
|
|
17
|
+
R(o[5], 0.115)
|
|
18
|
+
), H = E(u[4], 0.02);
|
|
19
|
+
return {
|
|
20
|
+
BASE_COLOR: h(e),
|
|
21
|
+
BRAND: {
|
|
22
|
+
PRIMARY: A,
|
|
23
|
+
PRIMARY_LIGHT: r(A, 0.25, {
|
|
24
|
+
min: 0.6,
|
|
25
|
+
max: 0.8
|
|
26
|
+
}),
|
|
27
|
+
PRIMARY_SUPER_LIGHT: r(A, 0.15, {
|
|
28
|
+
min: 0.8,
|
|
29
|
+
max: 0.9
|
|
30
|
+
}),
|
|
31
|
+
SECONDARY: H,
|
|
32
|
+
SECONDARY_LIGHT: r(H, 0.25, {
|
|
33
|
+
min: 0.6,
|
|
34
|
+
max: 0.8
|
|
35
|
+
}),
|
|
36
|
+
SECONDARY_SUPER_LIGHT: r(H, 0.15, {
|
|
37
|
+
min: 0.8,
|
|
38
|
+
max: 0.9
|
|
39
|
+
})
|
|
40
|
+
},
|
|
41
|
+
PRIMARY: {
|
|
42
|
+
//backgrounds
|
|
43
|
+
SUPER_DARK: r(
|
|
44
|
+
L(n[9]),
|
|
45
|
+
-0.6,
|
|
46
|
+
{
|
|
47
|
+
min: 0,
|
|
48
|
+
max: 0.02
|
|
49
|
+
}
|
|
50
|
+
),
|
|
51
|
+
DARK: r(L(n[8]), -0.4, {
|
|
52
|
+
min: 0.01,
|
|
53
|
+
max: 0.02
|
|
54
|
+
}),
|
|
55
|
+
//interactive components
|
|
56
|
+
MEDIUM: r(o[7], -0.2, {
|
|
57
|
+
min: 0,
|
|
58
|
+
max: 0.11
|
|
59
|
+
}),
|
|
60
|
+
//borders and seperators
|
|
61
|
+
MEDIUM_LIGHT: r(
|
|
62
|
+
E(o[6], 0.1),
|
|
63
|
+
0.08
|
|
64
|
+
),
|
|
65
|
+
//solid colors
|
|
66
|
+
LIGHT: r(R(o[5], 0.1), 0.16),
|
|
67
|
+
//accessible text
|
|
68
|
+
LIGHTEST: r(
|
|
69
|
+
R(o[3], 0.2),
|
|
70
|
+
0.12,
|
|
71
|
+
{
|
|
72
|
+
min: 0.5,
|
|
73
|
+
max: 0.9
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
SUPER_LIGHT: r(o[1], 0.02, {
|
|
77
|
+
min: 0.76,
|
|
78
|
+
max: 0.92
|
|
79
|
+
}),
|
|
80
|
+
WHITE: r(o[1], 0.11, {
|
|
81
|
+
min: 0.9,
|
|
82
|
+
max: 0.98
|
|
83
|
+
})
|
|
84
|
+
},
|
|
85
|
+
SECONDARY: {
|
|
86
|
+
//backgrounds
|
|
87
|
+
SUPER_DARK: r(
|
|
88
|
+
L(l[9]),
|
|
89
|
+
-0.6,
|
|
90
|
+
{
|
|
91
|
+
min: 0,
|
|
92
|
+
max: 0.02
|
|
93
|
+
}
|
|
94
|
+
),
|
|
95
|
+
DARK: r(L(l[8]), -0.4, {
|
|
96
|
+
min: 0.01,
|
|
97
|
+
max: 0.02
|
|
98
|
+
}),
|
|
99
|
+
// interactive components
|
|
100
|
+
MEDIUM: r(u[7], -0.2, {
|
|
101
|
+
min: 0,
|
|
102
|
+
max: 0.11
|
|
103
|
+
}),
|
|
104
|
+
//borders and seperators
|
|
105
|
+
MEDIUM_LIGHT: r(u[6], 0.1),
|
|
106
|
+
//solid colors
|
|
107
|
+
LIGHT: r(R(u[5], 0.1), 0.16),
|
|
108
|
+
//accessible text
|
|
109
|
+
LIGHTEST: r(
|
|
110
|
+
R(u[3], 0.2),
|
|
111
|
+
0.12,
|
|
112
|
+
{
|
|
113
|
+
min: 0.5,
|
|
114
|
+
max: 0.9
|
|
115
|
+
}
|
|
116
|
+
),
|
|
117
|
+
SUPER_LIGHT: r(u[1], 0.02, {
|
|
118
|
+
min: 0.76,
|
|
119
|
+
max: 0.92
|
|
120
|
+
}),
|
|
121
|
+
WHITE: r(u[1], 0.11, {
|
|
122
|
+
min: 0.9,
|
|
123
|
+
max: 0.98
|
|
124
|
+
})
|
|
125
|
+
},
|
|
126
|
+
//TODO: make theme aware grayscale color scale
|
|
127
|
+
//Can we remove the basecolor after this?
|
|
128
|
+
GRAYSCALE: {
|
|
129
|
+
SUPER_DARK: i.SUPER_DARK,
|
|
130
|
+
DARK: i.DARK,
|
|
131
|
+
MEDIUM: i.MEDIUM,
|
|
132
|
+
MEDIUM_LIGHT: i.MEDIUM_LIGHT,
|
|
133
|
+
LIGHT: i.LIGHT,
|
|
134
|
+
LIGHTEST: i.LIGHTEST,
|
|
135
|
+
SUPER_LIGHT: i.SUPER_LIGHT,
|
|
136
|
+
WHITE: i.WHITE
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
}, r = (e, a, t = { min: 0.03, max: 0.97 }) => {
|
|
140
|
+
let n = e, o = s(n);
|
|
141
|
+
if (t.min < 0 && (t.min = 0), t.max > 1 && (t.max = 1), t.min >= t.max)
|
|
142
|
+
throw new Error("Invalid range: min must be less than max");
|
|
143
|
+
if (a > 0) {
|
|
144
|
+
const c = t.max - o;
|
|
145
|
+
if (c <= 0) return m(n);
|
|
146
|
+
const l = a * (c / (1 - o));
|
|
147
|
+
n = S(n, l);
|
|
148
|
+
} else if (a < 0) {
|
|
149
|
+
const c = o - t.min;
|
|
150
|
+
if (c <= 0) return m(n);
|
|
151
|
+
const l = a * (c / o);
|
|
152
|
+
n = d(n, Math.abs(l));
|
|
153
|
+
}
|
|
154
|
+
const T = s(n);
|
|
155
|
+
return (T > t.max || T < t.min) && (n = G(n, t)), m(n);
|
|
156
|
+
}, G = (e, a) => {
|
|
157
|
+
let t = e, n = s(t);
|
|
158
|
+
for (; n > a.max; )
|
|
159
|
+
t = d(t, 0.05), n = s(t);
|
|
160
|
+
for (; n < a.min; )
|
|
161
|
+
t = S(t, 0.05), n = s(t);
|
|
162
|
+
return m(t);
|
|
163
|
+
}, L = (e) => {
|
|
164
|
+
for (; M(e, "readable", C.DARK); )
|
|
165
|
+
e = S(e, 0.01);
|
|
166
|
+
return m(e);
|
|
167
|
+
}, U = (e) => {
|
|
168
|
+
for (; M(C.SUPER_LIGHT, "readable", e); )
|
|
169
|
+
e = d(e, 0.01);
|
|
170
|
+
return m(e);
|
|
171
|
+
}, _ = (e) => {
|
|
172
|
+
let a = e, t = s(m(a)), n = 0;
|
|
173
|
+
const o = 6;
|
|
174
|
+
for (; t < 0.16 && n < o; )
|
|
175
|
+
n++, a = S(a, 0.1), t = s(m(a));
|
|
176
|
+
for (; t > 0.6 && n < o; )
|
|
177
|
+
n++, a = d(a, 0.1), t = s(m(a));
|
|
178
|
+
return m(a);
|
|
179
|
+
};
|
|
180
|
+
function j(e) {
|
|
181
|
+
return e instanceof HTMLImageElement ? Promise.resolve(g(e)) : y(e);
|
|
182
|
+
}
|
|
183
|
+
function g(e) {
|
|
184
|
+
try {
|
|
185
|
+
return new P().getColor(e);
|
|
186
|
+
} catch {
|
|
187
|
+
return [255, 255, 255];
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
function y(e) {
|
|
191
|
+
return new Promise((a, t) => {
|
|
192
|
+
const n = document.createElement("img");
|
|
193
|
+
n.crossOrigin = "anonymous", n.onload = () => {
|
|
194
|
+
try {
|
|
195
|
+
const o = new P().getColor(n);
|
|
196
|
+
a(o);
|
|
197
|
+
} catch {
|
|
198
|
+
a([255, 255, 255]);
|
|
199
|
+
}
|
|
200
|
+
}, n.onerror = () => t(new Error("Failed to load image")), n.src = e;
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
export {
|
|
204
|
+
j as a,
|
|
205
|
+
K as g
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=image-DFyN0Kd9.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-DFyN0Kd9.mjs","sources":["../src/utils/palette.ts","../src/utils/image.ts"],"sourcesContent":["import {\r\n adjustHue,\r\n darken,\r\n getLuminance,\r\n getScale,\r\n hasBadContrast,\r\n lighten,\r\n toRgba,\r\n} from \"color2k\";\r\nimport { ProtonPalette, RGBArray } from \"../design/types\";\r\nimport { arrayToRgbString, desaturate, saturate } from \"./color2k\";\r\nimport { LIGHT_GRAYSCALE } from \"../design/lightTheme/colors\";\r\nimport { DARK_GRAYSCALE } from \"../design/darkTheme/colors\";\r\n\r\n/**\r\n * Generates a complete color palette based on a primary color input.\r\n * The palette includes primary and secondary color scales with varying shades.\r\n *\r\n * @param primaryColor - The base RGB color array to generate the palette from\r\n * @returns A Palette object containing:\r\n * - BRAND colors (primary, light primary, and secondary)\r\n * - PRIMARY scale (7 shades from super dark to super light)\r\n * - SECONDARY scale (7 shades from super dark to super light)\r\n *\r\n * The function:\r\n * 1. Creates a 12-color scale from white to the primary color to black\r\n * 2. Generates a complementary secondary color by shifting the hue 180 degrees\r\n * 3. Creates another 12-color scale for the secondary color\r\n * 4. Maps specific positions from these scales to create the final palette structure\r\n */\r\nexport const generatePalette = (baseColor: RGBArray): ProtonPalette => {\r\n const primaryRgba = arrayToRgbString(baseColor);\r\n\r\n const primaryScaleFunc = getScale(\"#FFFFFF\", primaryRgba, \"#000000\");\r\n const primaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = primaryScaleFunc(i / 11);\r\n return desaturate(color, 0.0085);\r\n });\r\n\r\n const adjustedPrimaryScale = primaryScale.map((color) =>\r\n saturate(adjustBrightnessForLuminance(color), 0.005)\r\n );\r\n\r\n const secondaryColor = toRgba(saturate(adjustHue(primaryRgba, 180), 1));\r\n\r\n const secondaryScaleFunc = getScale(\"#FFFFFF\", secondaryColor, \"#000000\");\r\n const secondaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = secondaryScaleFunc(i / 11);\r\n return desaturate(color, 0.1);\r\n });\r\n\r\n const adjustedSecondaryScale = secondaryScale.map((color) =>\r\n desaturate(adjustBrightnessForLuminance(color), 0.22)\r\n );\r\n\r\n const brandPrimary = darkenForContrast(\r\n saturate(adjustedPrimaryScale[5], 0.115)\r\n );\r\n const brandSecondary = desaturate(adjustedSecondaryScale[4], 0.02);\r\n\r\n return {\r\n BASE_COLOR: arrayToRgbString(baseColor),\r\n BRAND: {\r\n PRIMARY: brandPrimary,\r\n PRIMARY_LIGHT: lightenWithinRange(brandPrimary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n PRIMARY_SUPER_LIGHT: lightenWithinRange(brandPrimary, 0.15, {\r\n min: 0.8,\r\n max: 0.9,\r\n }),\r\n SECONDARY: brandSecondary,\r\n SECONDARY_LIGHT: lightenWithinRange(brandSecondary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n SECONDARY_SUPER_LIGHT: lightenWithinRange(brandSecondary, 0.15, {\r\n min: 0.8,\r\n max: 0.9,\r\n }),\r\n },\r\n PRIMARY: {\r\n //backgrounds\r\n SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(primaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n DARK: lightenWithinRange(lightenForContrast(primaryScale[8]), -0.4, {\r\n min: 0.01,\r\n max: 0.02,\r\n }),\r\n //interactive components\r\n MEDIUM: lightenWithinRange(adjustedPrimaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n MEDIUM_LIGHT: lightenWithinRange(\r\n desaturate(adjustedPrimaryScale[6], 0.1),\r\n 0.08\r\n ),\r\n //solid colors\r\n LIGHT: lightenWithinRange(saturate(adjustedPrimaryScale[5], 0.1), 0.16),\r\n //accessible text\r\n LIGHTEST: lightenWithinRange(\r\n saturate(adjustedPrimaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SUPER_LIGHT: lightenWithinRange(adjustedPrimaryScale[1], 0.02, {\r\n min: 0.76,\r\n max: 0.92,\r\n }),\r\n WHITE: lightenWithinRange(adjustedPrimaryScale[1], 0.11, {\r\n min: 0.9,\r\n max: 0.98,\r\n }),\r\n },\r\n SECONDARY: {\r\n //backgrounds\r\n SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(secondaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n DARK: lightenWithinRange(lightenForContrast(secondaryScale[8]), -0.4, {\r\n min: 0.01,\r\n max: 0.02,\r\n }),\r\n // interactive components\r\n MEDIUM: lightenWithinRange(adjustedSecondaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n MEDIUM_LIGHT: lightenWithinRange(adjustedSecondaryScale[6], 0.1),\r\n //solid colors\r\n LIGHT: lightenWithinRange(saturate(adjustedSecondaryScale[5], 0.1), 0.16),\r\n //accessible text\r\n LIGHTEST: lightenWithinRange(\r\n saturate(adjustedSecondaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SUPER_LIGHT: lightenWithinRange(adjustedSecondaryScale[1], 0.02, {\r\n min: 0.76,\r\n max: 0.92,\r\n }),\r\n WHITE: lightenWithinRange(adjustedSecondaryScale[1], 0.11, {\r\n min: 0.9,\r\n max: 0.98,\r\n }),\r\n },\r\n //TODO: make theme aware grayscale color scale\r\n //Can we remove the basecolor after this?\r\n GRAYSCALE: {\r\n SUPER_DARK: DARK_GRAYSCALE.SUPER_DARK,\r\n DARK: DARK_GRAYSCALE.DARK,\r\n MEDIUM: DARK_GRAYSCALE.MEDIUM,\r\n MEDIUM_LIGHT: DARK_GRAYSCALE.MEDIUM_LIGHT,\r\n LIGHT: DARK_GRAYSCALE.LIGHT,\r\n LIGHTEST: DARK_GRAYSCALE.LIGHTEST,\r\n SUPER_LIGHT: DARK_GRAYSCALE.SUPER_LIGHT,\r\n WHITE: DARK_GRAYSCALE.WHITE,\r\n },\r\n };\r\n};\r\n\r\nconst lightenWithinRange = (\r\n color: string,\r\n amount: number,\r\n range: { min: number; max: number } = { min: 0.03, max: 0.97 }\r\n): string => {\r\n let adjustedColor = color;\r\n let currentLuminance = getLuminance(adjustedColor);\r\n\r\n // Validate range bounds\r\n if (range.min < 0) range.min = 0;\r\n if (range.max > 1) range.max = 1;\r\n if (range.min >= range.max) {\r\n throw new Error(\"Invalid range: min must be less than max\");\r\n }\r\n\r\n // For lightening (positive amount)\r\n if (amount > 0) {\r\n // Calculate how much we can lighten before hitting max\r\n const remainingLuminance = range.max - currentLuminance;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to lighten\r\n const scaledAmount = amount * (remainingLuminance / (1 - currentLuminance));\r\n adjustedColor = lighten(adjustedColor, scaledAmount);\r\n }\r\n // For darkening (negative amount)\r\n else if (amount < 0) {\r\n // Calculate how much we can darken before hitting min\r\n const remainingLuminance = currentLuminance - range.min;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to darken\r\n const scaledAmount = amount * (remainingLuminance / currentLuminance);\r\n adjustedColor = darken(adjustedColor, Math.abs(scaledAmount));\r\n }\r\n\r\n // Verify final luminance is within bounds\r\n const finalLuminance = getLuminance(adjustedColor);\r\n if (finalLuminance > range.max) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n } else if (finalLuminance < range.min) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst adjustBrightnessWithinRange = (\r\n color: string,\r\n range: { min: number; max: number }\r\n): string => {\r\n let adjustedColor = color;\r\n let luminance = getLuminance(adjustedColor);\r\n\r\n // Darken if too bright\r\n while (luminance > range.max) {\r\n adjustedColor = darken(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n // Lighten if too dark\r\n while (luminance < range.min) {\r\n adjustedColor = lighten(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst lightenForContrast = (color: string): string => {\r\n while (hasBadContrast(color, \"readable\", LIGHT_GRAYSCALE.DARK)) {\r\n color = lighten(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst darkenForContrast = (color: string): string => {\r\n while (hasBadContrast(LIGHT_GRAYSCALE.SUPER_LIGHT, \"readable\", color)) {\r\n color = darken(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst adjustBrightnessForLuminance = (color: string): string => {\r\n let currentColor = color;\r\n let currentLuminance = getLuminance(toRgba(currentColor));\r\n let adjustmentAttempts = 0;\r\n const MAX_ATTEMPTS = 6;\r\n\r\n while (currentLuminance < 0.16 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = lighten(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n while (currentLuminance > 0.6 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = darken(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n return toRgba(currentColor);\r\n};\r\n","import ColorThief from \"colorthief\";\r\nimport type { RGBArray } from \"../design/types\";\r\n\r\n/**\r\n * Gets the dominant color of an image. Avoids issues with low contrast colors.\r\n * @reference https://github.com/lokesh/color-thief/issues/40\r\n * @param image - The image to get the dominant color from.\r\n * @returns A Promise that resolves to an RGB array.\r\n */\r\nexport function getDominantColor(image: HTMLImageElement): Promise<RGBArray>;\r\nexport function getDominantColor(image: string): Promise<RGBArray>;\r\nexport function getDominantColor(\r\n image: HTMLImageElement | string\r\n): Promise<RGBArray> {\r\n if (image instanceof HTMLImageElement) {\r\n return Promise.resolve(getDominantColorFromImage(image));\r\n } else {\r\n return getDominantColorFromImageUrl(image);\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImage(image: HTMLImageElement): RGBArray {\r\n try {\r\n const colorThief = new ColorThief();\r\n const baseColor = colorThief.getColor(image);\r\n return baseColor;\r\n } catch {\r\n return [255, 255, 255];\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImageUrl(url: string): Promise<RGBArray> {\r\n return new Promise((resolve, reject) => {\r\n const imgElement = document.createElement(\"img\");\r\n imgElement.crossOrigin = \"anonymous\";\r\n\r\n imgElement.onload = () => {\r\n try {\r\n const baseColor = new ColorThief().getColor(imgElement);\r\n resolve(baseColor);\r\n } catch {\r\n resolve([255, 255, 255]);\r\n }\r\n };\r\n\r\n imgElement.onerror = () => reject(new Error(\"Failed to load image\"));\r\n imgElement.src = url;\r\n });\r\n}\r\n"],"names":["generatePalette","baseColor","primaryRgba","arrayToRgbString","primaryScaleFunc","getScale","primaryScale","_","i","color","desaturate","adjustedPrimaryScale","saturate","adjustBrightnessForLuminance","secondaryColor","toRgba","adjustHue","secondaryScaleFunc","secondaryScale","adjustedSecondaryScale","brandPrimary","darkenForContrast","brandSecondary","lightenWithinRange","lightenForContrast","DARK_GRAYSCALE","amount","range","adjustedColor","currentLuminance","getLuminance","remainingLuminance","scaledAmount","lighten","darken","finalLuminance","adjustBrightnessWithinRange","luminance","hasBadContrast","LIGHT_GRAYSCALE","currentColor","adjustmentAttempts","MAX_ATTEMPTS","getDominantColor","image","getDominantColorFromImage","getDominantColorFromImageUrl","ColorThief","url","resolve","reject","imgElement"],"mappings":"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"}
|