@protonradio/proton-ui 0.11.5 → 0.11.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/_virtual/jsx-runtime.cjs.js +2 -0
- package/dist/_virtual/jsx-runtime.cjs.js.map +1 -0
- package/dist/_virtual/jsx-runtime.es.js +5 -0
- package/dist/_virtual/jsx-runtime.es.js.map +1 -0
- package/dist/_virtual/react-jsx-runtime.development.cjs.js +2 -0
- package/dist/_virtual/react-jsx-runtime.development.cjs.js.map +1 -0
- package/dist/_virtual/react-jsx-runtime.development.es.js +5 -0
- package/dist/_virtual/react-jsx-runtime.development.es.js.map +1 -0
- package/dist/_virtual/react-jsx-runtime.production.min.cjs.js +2 -0
- package/dist/_virtual/react-jsx-runtime.production.min.cjs.js.map +1 -0
- package/dist/_virtual/react-jsx-runtime.production.min.es.js +5 -0
- package/dist/_virtual/react-jsx-runtime.production.min.es.js.map +1 -0
- package/dist/assets/svg/icons.svg.cjs.js +2 -0
- package/dist/assets/svg/icons.svg.cjs.js.map +1 -0
- package/dist/assets/svg/icons.svg.es.js +5 -0
- package/dist/assets/svg/icons.svg.es.js.map +1 -0
- package/dist/components/ActionMenu/ActionMenu.cjs.js +2 -0
- package/dist/components/ActionMenu/ActionMenu.cjs.js.map +1 -0
- package/dist/components/ActionMenu/ActionMenu.es.js +262 -0
- package/dist/components/ActionMenu/ActionMenu.es.js.map +1 -0
- package/dist/components/Badge/Badge.cjs.js +2 -0
- package/dist/components/Badge/Badge.cjs.js.map +1 -0
- package/dist/components/Badge/Badge.es.js +25 -0
- package/dist/components/Badge/Badge.es.js.map +1 -0
- package/dist/components/Banner/Banner.cjs.js +2 -0
- package/dist/components/Banner/Banner.cjs.js.map +1 -0
- package/dist/components/Banner/Banner.es.js +131 -0
- package/dist/components/Banner/Banner.es.js.map +1 -0
- package/dist/components/Button/Button.cjs.js +2 -0
- package/dist/components/Button/Button.cjs.js.map +1 -0
- package/dist/components/Button/Button.es.js +99 -0
- package/dist/components/Button/Button.es.js.map +1 -0
- package/dist/components/ButtonGroup/ButtonGroup.cjs.js +2 -0
- package/dist/components/ButtonGroup/ButtonGroup.cjs.js.map +1 -0
- package/dist/components/ButtonGroup/ButtonGroup.es.js +51 -0
- package/dist/components/ButtonGroup/ButtonGroup.es.js.map +1 -0
- package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js +2 -0
- package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js.map +1 -0
- package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js +80 -0
- package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js.map +1 -0
- package/dist/components/DataTable/DataTable.cjs.js +2 -0
- package/dist/components/DataTable/DataTable.cjs.js.map +1 -0
- package/dist/components/DataTable/DataTable.es.js +137 -0
- package/dist/components/DataTable/DataTable.es.js.map +1 -0
- package/dist/components/Dialog/Dialog.cjs.js +2 -0
- package/dist/components/Dialog/Dialog.cjs.js.map +1 -0
- package/dist/components/Dialog/Dialog.es.js +15 -0
- package/dist/components/Dialog/Dialog.es.js.map +1 -0
- package/dist/components/Elevation/Elevation.cjs.js +2 -0
- package/dist/components/Elevation/Elevation.cjs.js.map +1 -0
- package/dist/components/Elevation/Elevation.es.js +33 -0
- package/dist/components/Elevation/Elevation.es.js.map +1 -0
- package/dist/components/Icon/Icon.cjs.js +2 -0
- package/dist/components/Icon/Icon.cjs.js.map +1 -0
- package/dist/components/Icon/Icon.es.js +42 -0
- package/dist/components/Icon/Icon.es.js.map +1 -0
- package/dist/components/ImageBackground/ImageBackground.cjs.js +2 -0
- package/dist/components/ImageBackground/ImageBackground.cjs.js.map +1 -0
- package/dist/components/ImageBackground/ImageBackground.es.js +55 -0
- package/dist/components/ImageBackground/ImageBackground.es.js.map +1 -0
- package/dist/components/Input/BaseInput/Input.cjs.js +2 -0
- package/dist/components/Input/BaseInput/Input.cjs.js.map +1 -0
- package/dist/components/Input/BaseInput/Input.es.js +182 -0
- package/dist/components/Input/BaseInput/Input.es.js.map +1 -0
- package/dist/components/Input/CopyInput/CopyInput.cjs.js +2 -0
- package/dist/components/Input/CopyInput/CopyInput.cjs.js.map +1 -0
- package/dist/components/Input/CopyInput/CopyInput.es.js +83 -0
- package/dist/components/Input/CopyInput/CopyInput.es.js.map +1 -0
- package/dist/components/Input/SearchInput/SearchInput.cjs.js +2 -0
- package/dist/components/Input/SearchInput/SearchInput.cjs.js.map +1 -0
- package/dist/components/Input/SearchInput/SearchInput.es.js +118 -0
- package/dist/components/Input/SearchInput/SearchInput.es.js.map +1 -0
- package/dist/components/Menu/MenuTrigger.cjs.js +2 -0
- package/dist/components/Menu/MenuTrigger.cjs.js.map +1 -0
- package/dist/components/Menu/MenuTrigger.es.js +89 -0
- package/dist/components/Menu/MenuTrigger.es.js.map +1 -0
- package/dist/components/Menu/PopoverMenu.cjs.js +2 -0
- package/dist/components/Menu/PopoverMenu.cjs.js.map +1 -0
- package/dist/components/Menu/PopoverMenu.es.js +122 -0
- package/dist/components/Menu/PopoverMenu.es.js.map +1 -0
- package/dist/components/Modal/Modal.cjs.js +2 -0
- package/dist/components/Modal/Modal.cjs.js.map +1 -0
- package/dist/components/Modal/Modal.es.js +122 -0
- package/dist/components/Modal/Modal.es.js.map +1 -0
- package/dist/components/Popover/Popover.cjs.js +2 -0
- package/dist/components/Popover/Popover.cjs.js.map +1 -0
- package/dist/components/Popover/Popover.es.js +54 -0
- package/dist/components/Popover/Popover.es.js.map +1 -0
- package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js +2 -0
- package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js.map +1 -0
- package/dist/components/ScreenOverlay/ScreenOverlay.es.js +44 -0
- package/dist/components/ScreenOverlay/ScreenOverlay.es.js.map +1 -0
- package/dist/components/Select/Select.cjs.js +2 -0
- package/dist/components/Select/Select.cjs.js.map +1 -0
- package/dist/components/Select/Select.es.js +224 -0
- package/dist/components/Select/Select.es.js.map +1 -0
- package/dist/components/Switch/Switch.cjs.js +2 -0
- package/dist/components/Switch/Switch.cjs.js.map +1 -0
- package/dist/components/Switch/Switch.es.js +40 -0
- package/dist/components/Switch/Switch.es.js.map +1 -0
- package/dist/components/Table/Collection/CompoundComponents.cjs.js +2 -0
- package/dist/components/Table/Collection/CompoundComponents.cjs.js.map +1 -0
- package/dist/components/Table/Collection/CompoundComponents.es.js +9 -0
- package/dist/components/Table/Collection/CompoundComponents.es.js.map +1 -0
- package/dist/components/Table/Collection/collectionParser.cjs.js +2 -0
- package/dist/components/Table/Collection/collectionParser.cjs.js.map +1 -0
- package/dist/components/Table/Collection/collectionParser.es.js +54 -0
- package/dist/components/Table/Collection/collectionParser.es.js.map +1 -0
- package/dist/components/Table/Collection/useTableCollection.cjs.js +2 -0
- package/dist/components/Table/Collection/useTableCollection.cjs.js.map +1 -0
- package/dist/components/Table/Collection/useTableCollection.es.js +59 -0
- package/dist/components/Table/Collection/useTableCollection.es.js.map +1 -0
- package/dist/components/Table/Table.cjs.js +2 -0
- package/dist/components/Table/Table.cjs.js.map +1 -0
- package/dist/components/Table/Table.es.js +89 -0
- package/dist/components/Table/Table.es.js.map +1 -0
- package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js +2 -0
- package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js.map +1 -0
- package/dist/components/Text/TextEllipsis/TextEllipsis.es.js +30 -0
- package/dist/components/Text/TextEllipsis/TextEllipsis.es.js.map +1 -0
- package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js +2 -0
- package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js.map +1 -0
- package/dist/components/Text/TextEmphasis/TextEmphasis.es.js +54 -0
- package/dist/components/Text/TextEmphasis/TextEmphasis.es.js.map +1 -0
- package/dist/components/ThemeProvider.cjs.js +2 -0
- package/dist/components/ThemeProvider.cjs.js.map +1 -0
- package/dist/components/ThemeProvider.es.js +43 -0
- package/dist/components/ThemeProvider.es.js.map +1 -0
- package/dist/components/Tombstone/Tombstone.cjs.js +2 -0
- package/dist/components/Tombstone/Tombstone.cjs.js.map +1 -0
- package/dist/components/Tombstone/Tombstone.es.js +35 -0
- package/dist/components/Tombstone/Tombstone.es.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.cjs.js +2 -0
- package/dist/components/Tooltip/Tooltip.cjs.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.es.js +78 -0
- package/dist/components/Tooltip/Tooltip.es.js.map +1 -0
- package/dist/components/Waveform/Waveform.cjs.js +2 -0
- package/dist/components/Waveform/Waveform.cjs.js.map +1 -0
- package/dist/components/Waveform/Waveform.es.js +163 -0
- package/dist/components/Waveform/Waveform.es.js.map +1 -0
- package/dist/components/Waveform/WaveformBar.cjs.js +2 -0
- package/dist/components/Waveform/WaveformBar.cjs.js.map +1 -0
- package/dist/components/Waveform/WaveformBar.es.js +74 -0
- package/dist/components/Waveform/WaveformBar.es.js.map +1 -0
- package/dist/constants/breakpoint.cjs.js +2 -0
- package/dist/constants/breakpoint.cjs.js.map +1 -0
- package/dist/{breakpoint-9y1_8U_b.mjs → constants/breakpoint.es.js} +2 -2
- package/dist/constants/breakpoint.es.js.map +1 -0
- package/dist/constants/placement.cjs.js +2 -0
- package/dist/constants/placement.cjs.js.map +1 -0
- package/dist/constants/placement.es.js +28 -0
- package/dist/constants/placement.es.js.map +1 -0
- package/dist/constants.cjs.js +1 -1
- package/dist/constants.cjs.js.map +1 -1
- package/dist/constants.es.js +3 -26
- 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/dark.es.js +11 -0
- package/dist/dark.es.js.map +1 -0
- package/dist/design/colors.cjs.js +2 -0
- package/dist/design/colors.cjs.js.map +1 -0
- package/dist/{colors-CWaj9dFz.mjs → design/colors.es.js} +7 -7
- package/dist/design/colors.es.js.map +1 -0
- package/dist/design/darkTheme/colors.cjs.js +2 -0
- package/dist/{colors-Ceyo4oCJ.mjs.map → design/darkTheme/colors.cjs.js.map} +1 -1
- package/dist/{colors-Ceyo4oCJ.mjs → design/darkTheme/colors.es.js} +13 -13
- package/dist/{colors-CebzFjpe.js.map → design/darkTheme/colors.es.js.map} +1 -1
- package/dist/design/darkTheme/stylesheet.cjs.js +2 -0
- package/dist/design/darkTheme/stylesheet.cjs.js.map +1 -0
- package/dist/{theme/dark.es.js → design/darkTheme/stylesheet.es.js} +9 -15
- package/dist/design/darkTheme/stylesheet.es.js.map +1 -0
- package/dist/design/generateStylesheet.cjs.js +2 -0
- package/dist/design/generateStylesheet.cjs.js.map +1 -0
- package/dist/design/generateStylesheet.es.js +26 -0
- package/dist/design/generateStylesheet.es.js.map +1 -0
- package/dist/design/lightTheme/colors.cjs.js +2 -0
- package/dist/{colors-DMkDnu4U.mjs.map → design/lightTheme/colors.cjs.js.map} +1 -1
- package/dist/{colors-DMkDnu4U.mjs → design/lightTheme/colors.es.js} +11 -11
- package/dist/{colors-DL1dYffC.js.map → design/lightTheme/colors.es.js.map} +1 -1
- package/dist/design/lightTheme/stylesheet.cjs.js +2 -0
- package/dist/design/lightTheme/stylesheet.cjs.js.map +1 -0
- package/dist/{theme/light.es.js → design/lightTheme/stylesheet.es.js} +10 -16
- package/dist/design/lightTheme/stylesheet.es.js.map +1 -0
- package/dist/design/theme.cjs.js +2 -0
- package/dist/design/theme.cjs.js.map +1 -0
- package/dist/design/theme.es.js +12 -0
- package/dist/design/theme.es.js.map +1 -0
- package/dist/hooks/useBreakpoint.cjs.js +2 -0
- package/dist/hooks/useBreakpoint.cjs.js.map +1 -0
- package/dist/hooks/useBreakpoint.es.js +17 -0
- package/dist/hooks/useBreakpoint.es.js.map +1 -0
- package/dist/hooks/useIsClosing.cjs.js +2 -0
- package/dist/hooks/useIsClosing.cjs.js.map +1 -0
- package/dist/hooks/useIsClosing.es.js +30 -0
- package/dist/hooks/useIsClosing.es.js.map +1 -0
- package/dist/hooks/useLockBodyScroll.cjs.js +2 -0
- package/dist/hooks/useLockBodyScroll.cjs.js.map +1 -0
- package/dist/hooks/useLockBodyScroll.es.js +14 -0
- package/dist/hooks/useLockBodyScroll.es.js.map +1 -0
- package/dist/hooks/usePalette.cjs.js +2 -0
- package/dist/hooks/usePalette.cjs.js.map +1 -0
- package/dist/hooks/usePalette.es.js +37 -0
- package/dist/hooks/usePalette.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 +8 -37
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +1 -17
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +71 -105
- package/dist/index.es.js +60 -8700
- 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/light.es.js +11 -0
- package/dist/light.es.js.map +1 -0
- package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js +2 -0
- package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/button/dist/useButton.es.js +47 -0
- package/dist/node_modules/@react-aria/button/dist/useButton.es.js.map +1 -0
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js +2 -0
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js +44 -0
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js.map +1 -0
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js +2 -0
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js +423 -0
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js.map +1 -0
- package/dist/node_modules/@react-aria/focus/dist/isElementVisible.cjs.js +2 -0
- package/dist/node_modules/@react-aria/focus/dist/isElementVisible.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/focus/dist/isElementVisible.es.js +23 -0
- package/dist/node_modules/@react-aria/focus/dist/isElementVisible.es.js.map +1 -0
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js +2 -0
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js +76 -0
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js.map +1 -0
- package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js +2 -0
- package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/i18n/dist/context.es.js +11 -0
- package/dist/node_modules/@react-aria/i18n/dist/context.es.js.map +1 -0
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js +2 -0
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js +30 -0
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js.map +1 -0
- package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js +2 -0
- package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/i18n/dist/utils.es.js +45 -0
- package/dist/node_modules/@react-aria/i18n/dist/utils.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/context.es.js +10 -0
- package/dist/node_modules/@react-aria/interactions/dist/context.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js +29 -0
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js +15 -0
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js +35 -0
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js +30 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js +63 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js +56 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js +42 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js +51 -0
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js +13 -0
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js +375 -0
- package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js +2 -0
- package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/utils.es.js +92 -0
- package/dist/node_modules/@react-aria/interactions/dist/utils.es.js.map +1 -0
- package/dist/node_modules/@react-aria/label/dist/useField.cjs.js +2 -0
- package/dist/node_modules/@react-aria/label/dist/useField.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/label/dist/useField.es.js +36 -0
- package/dist/node_modules/@react-aria/label/dist/useField.es.js.map +1 -0
- package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js +2 -0
- package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/label/dist/useLabel.es.js +23 -0
- package/dist/node_modules/@react-aria/label/dist/useLabel.es.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js +2 -0
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js +16 -0
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js +2 -0
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js +64 -0
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js +2 -0
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js +30 -0
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js +2 -0
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js +53 -0
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js +2 -0
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js +98 -0
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js.map +1 -0
- package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js +2 -0
- package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js +58 -0
- package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js.map +1 -0
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js +2 -0
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js +78 -0
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js.map +1 -0
- package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js +2 -0
- package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/radio/dist/utils.es.js +5 -0
- package/dist/node_modules/@react-aria/radio/dist/utils.es.js.map +1 -0
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js +2 -0
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js +19 -0
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js.map +1 -0
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js +2 -0
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js +20 -0
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js.map +1 -0
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js +2 -0
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js +48 -0
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js.map +1 -0
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js +2 -0
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js.map +1 -0
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js +41 -0
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js.map +1 -0
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js +2 -0
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js.map +1 -0
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js +110 -0
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js.map +1 -0
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js +2 -0
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js.map +1 -0
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js +30 -0
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js.map +1 -0
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js +2 -0
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js.map +1 -0
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js +33 -0
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js.map +1 -0
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js +2 -0
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js.map +1 -0
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js +19 -0
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js.map +1 -0
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js +2 -0
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js.map +1 -0
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js +31 -0
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js +2 -0
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js +9 -0
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js +2 -0
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js +8 -0
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js +2 -0
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js +13 -0
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js +2 -0
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js +9 -0
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js +2 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js +11 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js +2 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js +9 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js +2 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js.map +1 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js +11 -0
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js.map +1 -0
- package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js +2 -0
- package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js.map +1 -0
- package/dist/node_modules/color2k/dist/index.exports.import.es.es.js +171 -0
- package/dist/node_modules/color2k/dist/index.exports.import.es.es.js.map +1 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js +23 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js.map +1 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js +609 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js.map +1 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js +10 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js.map +1 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js +29 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js.map +1 -0
- package/dist/node_modules/react/jsx-runtime.cjs.js +2 -0
- package/dist/node_modules/react/jsx-runtime.cjs.js.map +1 -0
- package/dist/node_modules/react/jsx-runtime.es.js +9 -0
- package/dist/node_modules/react/jsx-runtime.es.js.map +1 -0
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js +2 -0
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js.map +1 -0
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js +37 -0
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js.map +1 -0
- package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js +2 -0
- package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js.map +1 -0
- package/dist/node_modules/react-aria-components/dist/Tooltip.es.js +97 -0
- package/dist/node_modules/react-aria-components/dist/Tooltip.es.js.map +1 -0
- package/dist/node_modules/react-aria-components/dist/utils.cjs.js +2 -0
- package/dist/node_modules/react-aria-components/dist/utils.cjs.js.map +1 -0
- package/dist/node_modules/react-aria-components/dist/utils.es.js +89 -0
- package/dist/node_modules/react-aria-components/dist/utils.es.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/theme.cjs.js +1 -1
- package/dist/theme.cjs.js.map +1 -1
- package/dist/theme.es.js +9 -15
- package/dist/theme.es.js.map +1 -1
- package/dist/utils/color2k.cjs.js +2 -0
- package/dist/utils/color2k.cjs.js.map +1 -0
- package/dist/utils/color2k.es.js +14 -0
- package/dist/utils/color2k.es.js.map +1 -0
- package/dist/utils/copy.cjs.js +2 -0
- package/dist/utils/copy.cjs.js.map +1 -0
- package/dist/{copy-qSgElu2b.mjs → utils/copy.es.js} +2 -2
- package/dist/utils/copy.es.js.map +1 -0
- package/dist/utils/image.cjs.js +2 -0
- package/dist/utils/image.cjs.js.map +1 -0
- package/dist/utils/image.es.js +28 -0
- package/dist/utils/image.es.js.map +1 -0
- package/dist/utils/navigation.cjs.js +2 -0
- package/dist/utils/navigation.cjs.js.map +1 -0
- package/dist/utils/navigation.es.js +12 -0
- package/dist/utils/navigation.es.js.map +1 -0
- package/dist/utils/palette.cjs.js +2 -0
- package/dist/utils/palette.cjs.js.map +1 -0
- package/dist/utils/palette.es.js +183 -0
- package/dist/utils/palette.es.js.map +1 -0
- package/dist/utils/string.cjs.js +2 -0
- package/dist/utils/string.cjs.js.map +1 -0
- package/dist/utils/string.es.js +8 -0
- package/dist/utils/string.es.js.map +1 -0
- package/dist/utils.cjs.js +1 -1
- package/dist/utils.es.js +19 -16
- package/dist/utils.es.js.map +1 -1
- package/package.json +18 -22
- package/dist/Button-BLlr5ezy.js +0 -31
- package/dist/Button-BLlr5ezy.js.map +0 -1
- package/dist/Button-DuAhPJPD.mjs +0 -727
- package/dist/Button-DuAhPJPD.mjs.map +0 -1
- package/dist/Button.cjs.js +0 -2
- package/dist/Button.cjs.js.map +0 -1
- package/dist/Button.d.ts +0 -53
- package/dist/Button.es.js +0 -9
- package/dist/Button.es.js.map +0 -1
- package/dist/breakpoint-9y1_8U_b.mjs.map +0 -1
- package/dist/breakpoint-DtqbboOa.js +0 -2
- package/dist/breakpoint-DtqbboOa.js.map +0 -1
- package/dist/color2k-CpDB_dpw.mjs +0 -168
- package/dist/color2k-CpDB_dpw.mjs.map +0 -1
- package/dist/color2k-DCgwXUem.js +0 -2
- package/dist/color2k-DCgwXUem.js.map +0 -1
- package/dist/colors-CWaj9dFz.mjs.map +0 -1
- package/dist/colors-CebzFjpe.js +0 -2
- package/dist/colors-CmSJBHaf.js +0 -2
- package/dist/colors-CmSJBHaf.js.map +0 -1
- package/dist/colors-DL1dYffC.js +0 -2
- package/dist/copy-DxIZCnfT.js +0 -2
- package/dist/copy-DxIZCnfT.js.map +0 -1
- package/dist/copy-qSgElu2b.mjs.map +0 -1
- package/dist/image-CUSfY1_T.js +0 -2
- package/dist/image-CUSfY1_T.js.map +0 -1
- package/dist/image-DFyN0Kd9.mjs +0 -207
- package/dist/image-DFyN0Kd9.mjs.map +0 -1
- package/dist/navigation-DdxS0JoV.js +0 -2
- package/dist/navigation-DdxS0JoV.js.map +0 -1
- package/dist/navigation-DsfDNfej.mjs +0 -16
- package/dist/navigation-DsfDNfej.mjs.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.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.map +0 -1
- package/dist/useBreakpoint-CjRyGKN-.mjs +0 -53
- package/dist/useBreakpoint-CjRyGKN-.mjs.map +0 -1
- package/dist/useBreakpoint-DA-JqOu3.js +0 -2
- package/dist/useBreakpoint-DA-JqOu3.js.map +0 -1
package/dist/colors-CmSJBHaf.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const R={BLACK:"#121212",WHITE:"#FFFFFF"},I={PRIMARY:"#E26014",PRIMARY_LIGHT:"#FBE5D7",PRIMARY_SUPER_LIGHT:"#FFF7F0",SECONDARY:"#2a9edb",SECONDARY_LIGHT:"#b5d9ff",SECONDARY_SUPER_LIGHT:"#d9e7fa"},A={SUPER_DARK:"#2d1304",DARK:"#5a2608",MEDIUM:"#883a0c",MEDIUM_LIGHT:"#b54d10",LIGHT:"#e88043",LIGHTEST:"#eea072",SUPER_LIGHT:"#f9dfd0",WHITE:"#fcfbfa"},E={SUPER_DARK:"#991b1b",DARK:"#a80724",MEDIUM:"#e23f5c",LIGHT:"#f16880",SUPER_LIGHT:"#ffe1e1"},D={DARK:"#8b5600",MEDIUM:"#b37208",LIGHT:"#ffac23",SUPER_LIGHT:"#fff0c9"},S={DARK:"#247800",MEDIUM:"#339a07",LIGHT:"#66cf39",SUPER_LIGHT:"#deffd1"};exports.BACKGROUNDS=R;exports.BRAND=I;exports.BRAND_PRIMARY_SCALE=A;exports.DANGER=E;exports.SUCCESS=S;exports.WARNING=D;
|
|
2
|
-
//# sourceMappingURL=colors-CmSJBHaf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colors-CmSJBHaf.js","sources":["../src/design/colors.ts"],"sourcesContent":["import { ProtonColorScale, ProtonPalette } from \"./types\";\r\n\r\n/* Base Colors */\r\n\r\nexport const BACKGROUNDS = {\r\n BLACK: \"#121212\",\r\n WHITE: \"#FFFFFF\",\r\n};\r\n\r\nexport const BRAND: ProtonPalette[\"BRAND\"] = {\r\n PRIMARY: \"#E26014\",\r\n PRIMARY_LIGHT: \"#FBE5D7\",\r\n PRIMARY_SUPER_LIGHT: \"#FFF7F0\",\r\n SECONDARY: \"#2a9edb\",\r\n SECONDARY_LIGHT: \"#b5d9ff\",\r\n SECONDARY_SUPER_LIGHT: \"#d9e7fa\",\r\n};\r\n\r\nexport const BRAND_PRIMARY_SCALE: ProtonColorScale = {\r\n SUPER_DARK: \"#2d1304\",\r\n DARK: \"#5a2608\",\r\n MEDIUM: \"#883a0c\",\r\n MEDIUM_LIGHT: \"#b54d10\",\r\n LIGHT: \"#e88043\",\r\n LIGHTEST: \"#eea072\",\r\n SUPER_LIGHT: \"#f9dfd0\",\r\n WHITE: \"#fcfbfa\",\r\n};\r\n\r\n/* Semantic Colors */\r\n\r\nexport const DANGER: Partial<ProtonColorScale> = {\r\n SUPER_DARK: \"#991b1b\",\r\n DARK: \"#a80724\",\r\n MEDIUM: \"#e23f5c\",\r\n LIGHT: \"#f16880\",\r\n SUPER_LIGHT: \"#ffe1e1\",\r\n};\r\n\r\nexport const WARNING: Partial<ProtonColorScale> = {\r\n DARK: \"#8b5600\",\r\n MEDIUM: \"#b37208\",\r\n LIGHT: \"#ffac23\",\r\n SUPER_LIGHT: \"#fff0c9\",\r\n};\r\n\r\nexport const SUCCESS: Partial<ProtonColorScale> = {\r\n DARK: \"#247800\",\r\n MEDIUM: \"#339a07\",\r\n LIGHT: \"#66cf39\",\r\n SUPER_LIGHT: \"#deffd1\",\r\n};\r\n"],"names":["BACKGROUNDS","BRAND","BRAND_PRIMARY_SCALE","DANGER","WARNING","SUCCESS"],"mappings":"aAIO,MAAMA,EAAc,CACzB,MAAO,UACP,MAAO,SACT,EAEaC,EAAgC,CAC3C,QAAS,UACT,cAAe,UACf,oBAAqB,UACrB,UAAW,UACX,gBAAiB,UACjB,sBAAuB,SACzB,EAEaC,EAAwC,CACnD,WAAY,UACZ,KAAM,UACN,OAAQ,UACR,aAAc,UACd,MAAO,UACP,SAAU,UACV,YAAa,UACb,MAAO,SACT,EAIaC,EAAoC,CAC/C,WAAY,UACZ,KAAM,UACN,OAAQ,UACR,MAAO,UACP,YAAa,SACf,EAEaC,EAAqC,CAChD,KAAM,UACN,OAAQ,UACR,MAAO,UACP,YAAa,SACf,EAEaC,EAAqC,CAChD,KAAM,UACN,OAAQ,UACR,MAAO,UACP,YAAa,SACf"}
|
package/dist/colors-DL1dYffC.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const E=require("./colors-CmSJBHaf.js"),D="#DDDDDD",L=D,A="#F7F8F9",R={SUPER_DARK:"#141211",DARK:"#4D4D4D",MEDIUM:"#7D7D7D",MEDIUM_LIGHT:"#B1B1B1",LIGHT:D,LIGHTEST:"#F0F1F2",SUPER_LIGHT:A,WHITE:"#FFFFFF"},I={SUPER_DARK:"#032026",DARK:"#084657",MEDIUM:"#2085BA",MEDIUM_LIGHT:"#44A8EB",LIGHT:"#70B9F6",LIGHTEST:"#9DCBFC",SUPER_LIGHT:"#C8DFFF",WHITE:"#f5f9ff"},T={BASE_COLOR:E.BACKGROUNDS.WHITE,BRAND:E.BRAND,GRAYSCALE:R,PRIMARY:E.BRAND_PRIMARY_SCALE,SECONDARY:I};exports.BORDER=L;exports.ELEVATION=A;exports.LIGHT_GRAYSCALE=R;exports.LIGHT_PALETTE=T;exports.LIGHT_SECONDARY_SCALE=I;
|
|
2
|
-
//# sourceMappingURL=colors-DL1dYffC.js.map
|
package/dist/copy-DxIZCnfT.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const s=async(c,t)=>{let e=!1;if(navigator.clipboard)try{await navigator.clipboard.writeText(c),e=!0}catch(o){t?t==null||t(o):console.error(o)}else e=i(c);return e||(t?t==null||t(new Error("Failed to copy to clipboard")):console.error("Failed to copy to clipboard")),e},i=(c,{target:t=document.body}={})=>{if(typeof c!="string")throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof c}\`.`);const e=document.createElement("textarea"),o=document.activeElement;e.value=c,e.setAttribute("readonly",""),e.style.contain="strict",e.style.position="absolute",e.style.left="-9999px",e.style.fontSize="12pt";const a=document.getSelection(),l=a.rangeCount>0&&a.getRangeAt(0);t.append(e),e.select(),e.selectionStart=0,e.selectionEnd=c.length;let n=!1;try{n=document.execCommand("copy")}catch{}return e.remove(),l&&(a.removeAllRanges(),a.addRange(l)),o instanceof HTMLElement&&o.focus(),n};exports.copyTextToClipboard=s;
|
|
2
|
-
//# sourceMappingURL=copy-DxIZCnfT.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy-DxIZCnfT.js","sources":["../src/utils/copy.ts"],"sourcesContent":["export const copyTextToClipboard = async (\r\n text: string,\r\n onError?: (error: Error) => void\r\n): Promise<boolean> => {\r\n let copySuccess = false;\r\n if (navigator.clipboard) {\r\n try {\r\n await navigator.clipboard.writeText(text);\r\n copySuccess = true;\r\n } catch (error) {\r\n onError ? onError?.(error) : console.error(error);\r\n }\r\n } else {\r\n copySuccess = DEPRECATED_copyTextToClipboard(text);\r\n }\r\n if (!copySuccess) {\r\n onError ? onError?.(new Error(\"Failed to copy to clipboard\")) : console.error(\"Failed to copy to clipboard\");\r\n }\r\n return copySuccess;\r\n};\r\n\r\n/**\r\n * Fallback legacy function to copy text to clipboard for browsers that don't support navigator.clipboard.writeText\r\n * @reference https://github.com/sindresorhus/copy-text-to-clipboard/blob/main/index.js\r\n * @deprecated Use navigator.clipboard.writeText instead\r\n */\r\nconst DEPRECATED_copyTextToClipboard = (\r\n text,\r\n { target = document.body } = {}\r\n) => {\r\n if (typeof text !== \"string\") {\r\n throw new TypeError(\r\n `Expected parameter \\`text\\` to be a \\`string\\`, got \\`${typeof text}\\`.`\r\n );\r\n }\r\n\r\n const element = document.createElement(\"textarea\");\r\n const previouslyFocusedElement = document.activeElement;\r\n\r\n element.value = text;\r\n\r\n // Prevent keyboard from showing on mobile\r\n element.setAttribute(\"readonly\", \"\");\r\n\r\n element.style.contain = \"strict\";\r\n element.style.position = \"absolute\";\r\n element.style.left = \"-9999px\";\r\n element.style.fontSize = \"12pt\"; // Prevent zooming on iOS\r\n\r\n const selection = document.getSelection();\r\n const originalRange = selection.rangeCount > 0 && selection.getRangeAt(0);\r\n\r\n target.append(element);\r\n element.select();\r\n\r\n // Explicit selection workaround for iOS\r\n element.selectionStart = 0;\r\n element.selectionEnd = text.length;\r\n\r\n let isSuccess = false;\r\n try {\r\n isSuccess = document.execCommand(\"copy\");\r\n } catch {}\r\n\r\n element.remove();\r\n\r\n if (originalRange) {\r\n selection.removeAllRanges();\r\n selection.addRange(originalRange);\r\n }\r\n\r\n // Get the focus back on the previously focused element, if any\r\n if (previouslyFocusedElement instanceof HTMLElement) {\r\n previouslyFocusedElement.focus();\r\n }\r\n\r\n return isSuccess;\r\n};\r\n"],"names":["copyTextToClipboard","text","onError","copySuccess","error","DEPRECATED_copyTextToClipboard","target","element","previouslyFocusedElement","selection","originalRange","isSuccess"],"mappings":"aAAa,MAAAA,EAAsB,MACjCC,EACAC,IACqB,CACrB,IAAIC,EAAc,GAClB,GAAI,UAAU,UACR,GAAA,CACI,MAAA,UAAU,UAAU,UAAUF,CAAI,EAC1BE,EAAA,SACPC,EAAO,CACdF,EAAUA,GAAA,MAAAA,EAAUE,GAAS,QAAQ,MAAMA,CAAK,CAClD,MAEAD,EAAcE,EAA+BJ,CAAI,EAEnD,OAAKE,IACOD,EAAAA,GAAA,MAAAA,EAAU,IAAI,MAAM,6BAA6B,GAAK,QAAQ,MAAM,6BAA6B,GAEtGC,CACT,EAOME,EAAiC,CACrCJ,EACA,CAAE,OAAAK,EAAS,SAAS,IAAS,EAAA,KAC1B,CACC,GAAA,OAAOL,GAAS,SAClB,MAAM,IAAI,UACR,yDAAyD,OAAOA,CAAI,KAAA,EAIlE,MAAAM,EAAU,SAAS,cAAc,UAAU,EAC3CC,EAA2B,SAAS,cAE1CD,EAAQ,MAAQN,EAGRM,EAAA,aAAa,WAAY,EAAE,EAEnCA,EAAQ,MAAM,QAAU,SACxBA,EAAQ,MAAM,SAAW,WACzBA,EAAQ,MAAM,KAAO,UACrBA,EAAQ,MAAM,SAAW,OAEnB,MAAAE,EAAY,SAAS,eACrBC,EAAgBD,EAAU,WAAa,GAAKA,EAAU,WAAW,CAAC,EAExEH,EAAO,OAAOC,CAAO,EACrBA,EAAQ,OAAO,EAGfA,EAAQ,eAAiB,EACzBA,EAAQ,aAAeN,EAAK,OAE5B,IAAIU,EAAY,GACZ,GAAA,CACUA,EAAA,SAAS,YAAY,MAAM,CAAA,MACjC,CAAC,CAET,OAAAJ,EAAQ,OAAO,EAEXG,IACFD,EAAU,gBAAgB,EAC1BA,EAAU,SAASC,CAAa,GAI9BF,aAAoC,aACtCA,EAAyB,MAAM,EAG1BG,CACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy-qSgElu2b.mjs","sources":["../src/utils/copy.ts"],"sourcesContent":["export const copyTextToClipboard = async (\r\n text: string,\r\n onError?: (error: Error) => void\r\n): Promise<boolean> => {\r\n let copySuccess = false;\r\n if (navigator.clipboard) {\r\n try {\r\n await navigator.clipboard.writeText(text);\r\n copySuccess = true;\r\n } catch (error) {\r\n onError ? onError?.(error) : console.error(error);\r\n }\r\n } else {\r\n copySuccess = DEPRECATED_copyTextToClipboard(text);\r\n }\r\n if (!copySuccess) {\r\n onError ? onError?.(new Error(\"Failed to copy to clipboard\")) : console.error(\"Failed to copy to clipboard\");\r\n }\r\n return copySuccess;\r\n};\r\n\r\n/**\r\n * Fallback legacy function to copy text to clipboard for browsers that don't support navigator.clipboard.writeText\r\n * @reference https://github.com/sindresorhus/copy-text-to-clipboard/blob/main/index.js\r\n * @deprecated Use navigator.clipboard.writeText instead\r\n */\r\nconst DEPRECATED_copyTextToClipboard = (\r\n text,\r\n { target = document.body } = {}\r\n) => {\r\n if (typeof text !== \"string\") {\r\n throw new TypeError(\r\n `Expected parameter \\`text\\` to be a \\`string\\`, got \\`${typeof text}\\`.`\r\n );\r\n }\r\n\r\n const element = document.createElement(\"textarea\");\r\n const previouslyFocusedElement = document.activeElement;\r\n\r\n element.value = text;\r\n\r\n // Prevent keyboard from showing on mobile\r\n element.setAttribute(\"readonly\", \"\");\r\n\r\n element.style.contain = \"strict\";\r\n element.style.position = \"absolute\";\r\n element.style.left = \"-9999px\";\r\n element.style.fontSize = \"12pt\"; // Prevent zooming on iOS\r\n\r\n const selection = document.getSelection();\r\n const originalRange = selection.rangeCount > 0 && selection.getRangeAt(0);\r\n\r\n target.append(element);\r\n element.select();\r\n\r\n // Explicit selection workaround for iOS\r\n element.selectionStart = 0;\r\n element.selectionEnd = text.length;\r\n\r\n let isSuccess = false;\r\n try {\r\n isSuccess = document.execCommand(\"copy\");\r\n } catch {}\r\n\r\n element.remove();\r\n\r\n if (originalRange) {\r\n selection.removeAllRanges();\r\n selection.addRange(originalRange);\r\n }\r\n\r\n // Get the focus back on the previously focused element, if any\r\n if (previouslyFocusedElement instanceof HTMLElement) {\r\n previouslyFocusedElement.focus();\r\n }\r\n\r\n return isSuccess;\r\n};\r\n"],"names":["copyTextToClipboard","text","onError","copySuccess","error","DEPRECATED_copyTextToClipboard","target","element","previouslyFocusedElement","selection","originalRange","isSuccess"],"mappings":"AAAa,MAAAA,IAAsB,OACjCC,GACAC,MACqB;AACrB,MAAIC,IAAc;AAClB,MAAI,UAAU;AACR,QAAA;AACI,YAAA,UAAU,UAAU,UAAUF,CAAI,GAC1BE,IAAA;AAAA,aACPC,GAAO;AACd,MAAAF,IAAUA,KAAA,QAAAA,EAAUE,KAAS,QAAQ,MAAMA,CAAK;AAAA,IAClD;AAAA;AAEA,IAAAD,IAAcE,EAA+BJ,CAAI;AAEnD,SAAKE,MACOD,IAAAA,KAAA,QAAAA,EAAU,IAAI,MAAM,6BAA6B,KAAK,QAAQ,MAAM,6BAA6B,IAEtGC;AACT,GAOME,IAAiC,CACrCJ,GACA,EAAE,QAAAK,IAAS,SAAS,KAAS,IAAA,OAC1B;AACC,MAAA,OAAOL,KAAS;AAClB,UAAM,IAAI;AAAA,MACR,yDAAyD,OAAOA,CAAI;AAAA,IAAA;AAIlE,QAAAM,IAAU,SAAS,cAAc,UAAU,GAC3CC,IAA2B,SAAS;AAE1C,EAAAD,EAAQ,QAAQN,GAGRM,EAAA,aAAa,YAAY,EAAE,GAEnCA,EAAQ,MAAM,UAAU,UACxBA,EAAQ,MAAM,WAAW,YACzBA,EAAQ,MAAM,OAAO,WACrBA,EAAQ,MAAM,WAAW;AAEnB,QAAAE,IAAY,SAAS,gBACrBC,IAAgBD,EAAU,aAAa,KAAKA,EAAU,WAAW,CAAC;AAExE,EAAAH,EAAO,OAAOC,CAAO,GACrBA,EAAQ,OAAO,GAGfA,EAAQ,iBAAiB,GACzBA,EAAQ,eAAeN,EAAK;AAE5B,MAAIU,IAAY;AACZ,MAAA;AACU,IAAAA,IAAA,SAAS,YAAY,MAAM;AAAA,EAAA,QACjC;AAAA,EAAC;AAET,SAAAJ,EAAQ,OAAO,GAEXG,MACFD,EAAU,gBAAgB,GAC1BA,EAAU,SAASC,CAAa,IAI9BF,aAAoC,eACtCA,EAAyB,MAAM,GAG1BG;AACT;"}
|
package/dist/image-CUSfY1_T.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
package/dist/image-DFyN0Kd9.mjs
DELETED
|
@@ -1,207 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";function e(...t){return t.filter(i).join(" ")}const i=t=>typeof t=="string"||t instanceof String,s=t=>t.startsWith("http"),a=(t,n)=>{if(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.button&&t.button!==0)return;t.preventDefault();const r=n.startsWith("/")?n:`/${n}`;window.history.pushState({},"",r),window.dispatchEvent(new PopStateEvent("popstate"))};exports.csx=e;exports.handleInternalNavigation=a;exports.isUrlExternal=s;
|
|
2
|
-
//# sourceMappingURL=navigation-DdxS0JoV.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-DdxS0JoV.js","sources":["../src/utils/string.ts","../src/utils/navigation.ts"],"sourcesContent":["/**\r\n * Concatenates class names into a single string, filtering out non-string values.\r\n */\r\nexport function csx(...classnames: unknown[]): string {\r\n return classnames.filter(isString).join(\" \");\r\n}\r\n\r\nconst isString = (x: unknown): boolean =>\r\n typeof x === \"string\" || x instanceof String;\r\n","/**\r\n * [isUrlExternal] - determine if passed absolute url is external to the current domain.\r\n */\r\nexport const isUrlExternal = (url: string) => {\r\n return url.startsWith(\"http\");\r\n};\r\n\r\n/**\r\n * Handles internal navigation clicks by preventing default browser behavior and\r\n * programmatically updating the URL and history state.\r\n *\r\n * @param e - The click event from the anchor element\r\n * @param to - The destination path to navigate to\r\n *\r\n * @remarks\r\n * - Converts relative paths to absolute by prepending \"/\" if needed\r\n * - Updates browser history using pushState and dispatches a popstate event\r\n */\r\nexport const handleInternalNavigation = (\r\n e: React.MouseEvent<HTMLAnchorElement>,\r\n to: string\r\n) => {\r\n // Don't handle navigation if modifier keys are pressed\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\r\n return;\r\n }\r\n\r\n // Don't handle middle clicks or right clicks\r\n if (e.button && e.button !== 0) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Handle relative paths\r\n const resolvedPath = to.startsWith(\"/\") ? to : `/${to}`;\r\n window.history.pushState({}, \"\", resolvedPath);\r\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\r\n};\r\n"],"names":["csx","classnames","isString","x","isUrlExternal","url","handleInternalNavigation","e","to","resolvedPath"],"mappings":"aAGO,SAASA,KAAOC,EAA+B,CACpD,OAAOA,EAAW,OAAOC,CAAQ,EAAE,KAAK,GAAG,CAC7C,CAEA,MAAMA,EAAYC,GAChB,OAAOA,GAAM,UAAYA,aAAa,OCL3BC,EAAiBC,GACrBA,EAAI,WAAW,MAAM,EAcjBC,EAA2B,CACtCC,EACAC,IACG,CAOH,GALID,EAAE,SAAWA,EAAE,QAAUA,EAAE,SAAWA,EAAE,UAKxCA,EAAE,QAAUA,EAAE,SAAW,EAC3B,OAGFA,EAAE,eAAe,EAGjB,MAAME,EAAeD,EAAG,WAAW,GAAG,EAAIA,EAAK,IAAIA,CAAE,GACrD,OAAO,QAAQ,UAAU,CAAC,EAAG,GAAIC,CAAY,EAC7C,OAAO,cAAc,IAAI,cAAc,UAAU,CAAC,CACpD"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
function e(...t) {
|
|
2
|
-
return t.filter(s).join(" ");
|
|
3
|
-
}
|
|
4
|
-
const s = (t) => typeof t == "string" || t instanceof String, i = (t) => t.startsWith("http"), a = (t, n) => {
|
|
5
|
-
if (t.metaKey || t.altKey || t.ctrlKey || t.shiftKey || t.button && t.button !== 0)
|
|
6
|
-
return;
|
|
7
|
-
t.preventDefault();
|
|
8
|
-
const r = n.startsWith("/") ? n : `/${n}`;
|
|
9
|
-
window.history.pushState({}, "", r), window.dispatchEvent(new PopStateEvent("popstate"));
|
|
10
|
-
};
|
|
11
|
-
export {
|
|
12
|
-
e as c,
|
|
13
|
-
a as h,
|
|
14
|
-
i
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=navigation-DsfDNfej.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-DsfDNfej.mjs","sources":["../src/utils/string.ts","../src/utils/navigation.ts"],"sourcesContent":["/**\r\n * Concatenates class names into a single string, filtering out non-string values.\r\n */\r\nexport function csx(...classnames: unknown[]): string {\r\n return classnames.filter(isString).join(\" \");\r\n}\r\n\r\nconst isString = (x: unknown): boolean =>\r\n typeof x === \"string\" || x instanceof String;\r\n","/**\r\n * [isUrlExternal] - determine if passed absolute url is external to the current domain.\r\n */\r\nexport const isUrlExternal = (url: string) => {\r\n return url.startsWith(\"http\");\r\n};\r\n\r\n/**\r\n * Handles internal navigation clicks by preventing default browser behavior and\r\n * programmatically updating the URL and history state.\r\n *\r\n * @param e - The click event from the anchor element\r\n * @param to - The destination path to navigate to\r\n *\r\n * @remarks\r\n * - Converts relative paths to absolute by prepending \"/\" if needed\r\n * - Updates browser history using pushState and dispatches a popstate event\r\n */\r\nexport const handleInternalNavigation = (\r\n e: React.MouseEvent<HTMLAnchorElement>,\r\n to: string\r\n) => {\r\n // Don't handle navigation if modifier keys are pressed\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\r\n return;\r\n }\r\n\r\n // Don't handle middle clicks or right clicks\r\n if (e.button && e.button !== 0) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Handle relative paths\r\n const resolvedPath = to.startsWith(\"/\") ? to : `/${to}`;\r\n window.history.pushState({}, \"\", resolvedPath);\r\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\r\n};\r\n"],"names":["csx","classnames","isString","x","isUrlExternal","url","handleInternalNavigation","e","to","resolvedPath"],"mappings":"AAGO,SAASA,KAAOC,GAA+B;AACpD,SAAOA,EAAW,OAAOC,CAAQ,EAAE,KAAK,GAAG;AAC7C;AAEA,MAAMA,IAAW,CAACC,MAChB,OAAOA,KAAM,YAAYA,aAAa,QCL3BC,IAAgB,CAACC,MACrBA,EAAI,WAAW,MAAM,GAcjBC,IAA2B,CACtCC,GACAC,MACG;AAOH,MALID,EAAE,WAAWA,EAAE,UAAUA,EAAE,WAAWA,EAAE,YAKxCA,EAAE,UAAUA,EAAE,WAAW;AAC3B;AAGF,EAAAA,EAAE,eAAe;AAGjB,QAAME,IAAeD,EAAG,WAAW,GAAG,IAAIA,IAAK,IAAIA,CAAE;AACrD,SAAO,QAAQ,UAAU,CAAC,GAAG,IAAIC,CAAY,GAC7C,OAAO,cAAc,IAAI,cAAc,UAAU,CAAC;AACpD;"}
|
package/dist/theme/dark.cjs.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../colors-CebzFjpe.js"),_=require("../color2k-DCgwXUem.js"),o=require("../colors-CmSJBHaf.js"),A={"--proton-control__background-color":r.DARK_GRAYSCALE.DARK,"--proton-control__background-color-light":r.ELEVATION,"--proton-control__text-color":r.DARK_GRAYSCALE.WHITE,"--proton-control__title-color":"#FFFFFF","--proton-control__border-color":r.BORDER,"--proton-control__hover-color":r.DARK_GRAYSCALE.MEDIUM,"--proton-control__shadow-color":_.transparentize(r.DARK_GRAYSCALE.LIGHTEST,.5),"--proton-control__border-radius":"4px","--proton-control__interactive-color":o.BRAND.PRIMARY_LIGHT,"--proton-color__primary":o.BRAND.PRIMARY,"--proton-color__primary-light":o.BRAND.PRIMARY_LIGHT,"--proton-color__primary-super-light":o.BRAND.PRIMARY_SUPER_LIGHT,"--proton-color__secondary":o.BRAND.SECONDARY,"--proton-color__secondary-light":o.BRAND.SECONDARY_LIGHT,"--proton-color__secondary-super-light":o.BRAND.SECONDARY_SUPER_LIGHT,"--proton-color__danger-super-dark":o.DANGER.SUPER_DARK,"--proton-color__danger-dark":o.DANGER.DARK,"--proton-color__danger-medium":o.DANGER.MEDIUM,"--proton-color__danger-light":o.DANGER.LIGHT,"--proton-color__danger-super-light":o.DANGER.SUPER_LIGHT,"--proton-color__warning-dark":o.WARNING.DARK,"--proton-color__warning-medium":o.WARNING.MEDIUM,"--proton-color__warning-light":o.WARNING.LIGHT,"--proton-color__warning-super-light":o.WARNING.SUPER_LIGHT,"--proton-color__success-dark":o.SUCCESS.DARK,"--proton-color__success-medium":o.SUCCESS.MEDIUM,"--proton-color__success-light":o.SUCCESS.LIGHT,"--proton-color__success-super-light":o.SUCCESS.SUPER_LIGHT,"--proton-color__gray-super-dark":r.DARK_GRAYSCALE.SUPER_DARK,"--proton-color__gray-dark":r.DARK_GRAYSCALE.DARK,"--proton-color__gray-medium":r.DARK_GRAYSCALE.MEDIUM,"--proton-color__gray-medium-light":r.DARK_GRAYSCALE.MEDIUM_LIGHT,"--proton-color__gray-light":r.DARK_GRAYSCALE.LIGHT,"--proton-color__gray-lightest":r.DARK_GRAYSCALE.LIGHTEST,"--proton-color__gray-super-light":r.DARK_GRAYSCALE.SUPER_LIGHT,"--proton-color__white":r.DARK_GRAYSCALE.WHITE};exports.DARK_BORDER=r.BORDER;exports.DARK_ELEVATION=r.ELEVATION;exports.DARK_GRAYSCALE=r.DARK_GRAYSCALE;exports.DARK_PALETTE=r.DARK_PALETTE;exports.DARK_SECONDARY=r.DARK_SECONDARY;exports.DARK_STYLESHEET=A;
|
|
2
|
-
//# sourceMappingURL=dark.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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":"gMAKaA,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"}
|
package/dist/theme/dark.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
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/theme/light.cjs.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../colors-DL1dYffC.js"),_=require("../color2k-DCgwXUem.js"),o=require("../colors-CmSJBHaf.js"),t={"--proton-control__background-color":o.BACKGROUNDS.WHITE,"--proton-control__background-color-light":r.ELEVATION,"--proton-control__text-color":r.LIGHT_GRAYSCALE.DARK,"--proton-control__title-color":r.LIGHT_GRAYSCALE.SUPER_DARK,"--proton-control__border-color":r.BORDER,"--proton-control__hover-color":r.LIGHT_GRAYSCALE.SUPER_LIGHT,"--proton-control__shadow-color":_.transparentize(r.LIGHT_GRAYSCALE.SUPER_DARK,.9),"--proton-control__border-radius":"4px","--proton-control__interactive-color":o.BRAND.PRIMARY_LIGHT,"--proton-color__primary":o.BRAND.PRIMARY,"--proton-color__primary-light":o.BRAND.PRIMARY_LIGHT,"--proton-color__primary-super-light":o.BRAND.PRIMARY_SUPER_LIGHT,"--proton-color__secondary":o.BRAND.SECONDARY,"--proton-color__secondary-light":o.BRAND.SECONDARY_LIGHT,"--proton-color__secondary-super-light":o.BRAND.SECONDARY_SUPER_LIGHT,"--proton-color__danger-super-dark":o.DANGER.SUPER_DARK,"--proton-color__danger-dark":o.DANGER.DARK,"--proton-color__danger-medium":o.DANGER.MEDIUM,"--proton-color__danger-light":o.DANGER.LIGHT,"--proton-color__danger-super-light":o.DANGER.SUPER_LIGHT,"--proton-color__warning-dark":o.WARNING.DARK,"--proton-color__warning-medium":o.WARNING.MEDIUM,"--proton-color__warning-light":o.WARNING.LIGHT,"--proton-color__warning-super-light":o.WARNING.SUPER_LIGHT,"--proton-color__success-dark":o.SUCCESS.DARK,"--proton-color__success-medium":o.SUCCESS.MEDIUM,"--proton-color__success-light":o.SUCCESS.LIGHT,"--proton-color__success-super-light":o.SUCCESS.SUPER_LIGHT,"--proton-color__gray-super-dark":r.LIGHT_GRAYSCALE.SUPER_DARK,"--proton-color__gray-dark":r.LIGHT_GRAYSCALE.DARK,"--proton-color__gray-medium":r.LIGHT_GRAYSCALE.MEDIUM,"--proton-color__gray-medium-light":r.LIGHT_GRAYSCALE.MEDIUM_LIGHT,"--proton-color__gray-light":r.LIGHT_GRAYSCALE.LIGHT,"--proton-color__gray-lightest":r.LIGHT_GRAYSCALE.LIGHTEST,"--proton-color__gray-super-light":r.LIGHT_GRAYSCALE.SUPER_LIGHT,"--proton-color__white":r.LIGHT_GRAYSCALE.WHITE};exports.LIGHT_BORDER=r.BORDER;exports.LIGHT_ELEVATION=r.ELEVATION;exports.LIGHT_GRAYSCALE=r.LIGHT_GRAYSCALE;exports.LIGHT_PALETTE=r.LIGHT_PALETTE;exports.LIGHT_SECONDARY_SCALE=r.LIGHT_SECONDARY_SCALE;exports.LIGHT_STYLESHEET=t;
|
|
2
|
-
//# sourceMappingURL=light.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"light.cjs.js","sources":["../../src/design/lightTheme/stylesheet.ts"],"sourcesContent":["import { transparentize } from \"../../utils/color2k\";\r\nimport { BACKGROUNDS, BRAND, DANGER, WARNING, SUCCESS } from \"../colors\";\r\nimport { ELEVATION, LIGHT_GRAYSCALE } from \"./colors\";\r\nimport { BORDER } from \"./colors\";\r\nimport type { ProtonStyleSheet } from \"../types\";\r\n\r\nexport const LIGHT_STYLESHEET: ProtonStyleSheet = {\r\n // Control/component colors\r\n \"--proton-control__background-color\": BACKGROUNDS.WHITE,\r\n \"--proton-control__background-color-light\": ELEVATION,\r\n \"--proton-control__text-color\": LIGHT_GRAYSCALE.DARK,\r\n \"--proton-control__title-color\": LIGHT_GRAYSCALE.SUPER_DARK,\r\n \"--proton-control__border-color\": BORDER,\r\n \"--proton-control__hover-color\": LIGHT_GRAYSCALE.SUPER_LIGHT,\r\n \"--proton-control__shadow-color\": transparentize(\r\n LIGHT_GRAYSCALE.SUPER_DARK,\r\n 0.9\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\": LIGHT_GRAYSCALE.SUPER_DARK,\r\n \"--proton-color__gray-dark\": LIGHT_GRAYSCALE.DARK,\r\n \"--proton-color__gray-medium\": LIGHT_GRAYSCALE.MEDIUM,\r\n \"--proton-color__gray-medium-light\": LIGHT_GRAYSCALE.MEDIUM_LIGHT,\r\n \"--proton-color__gray-light\": LIGHT_GRAYSCALE.LIGHT,\r\n \"--proton-color__gray-lightest\": LIGHT_GRAYSCALE.LIGHTEST,\r\n \"--proton-color__gray-super-light\": LIGHT_GRAYSCALE.SUPER_LIGHT,\r\n \"--proton-color__white\": LIGHT_GRAYSCALE.WHITE,\r\n};\r\n"],"names":["LIGHT_STYLESHEET","BACKGROUNDS","ELEVATION","LIGHT_GRAYSCALE","BORDER","transparentize","BRAND","DANGER","WARNING","SUCCESS"],"mappings":"gMAMaA,EAAqC,CAEhD,qCAAsCC,EAAY,YAAA,MAClD,2CAA4CC,EAAA,UAC5C,+BAAgCC,EAAgB,gBAAA,KAChD,gCAAiCA,EAAgB,gBAAA,WACjD,iCAAkCC,EAAA,OAClC,gCAAiCD,EAAgB,gBAAA,YACjD,iCAAkCE,EAAA,eAChCF,EAAAA,gBAAgB,WAChB,EACF,EACA,kCAAmC,MACnC,sCAAuCG,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,kCAAmCN,EAAgB,gBAAA,WACnD,4BAA6BA,EAAgB,gBAAA,KAC7C,8BAA+BA,EAAgB,gBAAA,OAC/C,oCAAqCA,EAAgB,gBAAA,aACrD,6BAA8BA,EAAgB,gBAAA,MAC9C,gCAAiCA,EAAgB,gBAAA,SACjD,mCAAoCA,EAAgB,gBAAA,YACpD,wBAAyBA,EAAgB,gBAAA,KAC3C"}
|
package/dist/theme/light.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"light.es.js","sources":["../../src/design/lightTheme/stylesheet.ts"],"sourcesContent":["import { transparentize } from \"../../utils/color2k\";\r\nimport { BACKGROUNDS, BRAND, DANGER, WARNING, SUCCESS } from \"../colors\";\r\nimport { ELEVATION, LIGHT_GRAYSCALE } from \"./colors\";\r\nimport { BORDER } from \"./colors\";\r\nimport type { ProtonStyleSheet } from \"../types\";\r\n\r\nexport const LIGHT_STYLESHEET: ProtonStyleSheet = {\r\n // Control/component colors\r\n \"--proton-control__background-color\": BACKGROUNDS.WHITE,\r\n \"--proton-control__background-color-light\": ELEVATION,\r\n \"--proton-control__text-color\": LIGHT_GRAYSCALE.DARK,\r\n \"--proton-control__title-color\": LIGHT_GRAYSCALE.SUPER_DARK,\r\n \"--proton-control__border-color\": BORDER,\r\n \"--proton-control__hover-color\": LIGHT_GRAYSCALE.SUPER_LIGHT,\r\n \"--proton-control__shadow-color\": transparentize(\r\n LIGHT_GRAYSCALE.SUPER_DARK,\r\n 0.9\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\": LIGHT_GRAYSCALE.SUPER_DARK,\r\n \"--proton-color__gray-dark\": LIGHT_GRAYSCALE.DARK,\r\n \"--proton-color__gray-medium\": LIGHT_GRAYSCALE.MEDIUM,\r\n \"--proton-color__gray-medium-light\": LIGHT_GRAYSCALE.MEDIUM_LIGHT,\r\n \"--proton-color__gray-light\": LIGHT_GRAYSCALE.LIGHT,\r\n \"--proton-color__gray-lightest\": LIGHT_GRAYSCALE.LIGHTEST,\r\n \"--proton-color__gray-super-light\": LIGHT_GRAYSCALE.SUPER_LIGHT,\r\n \"--proton-color__white\": LIGHT_GRAYSCALE.WHITE,\r\n};\r\n"],"names":["LIGHT_STYLESHEET","BACKGROUNDS","ELEVATION","LIGHT_GRAYSCALE","BORDER","transparentize","BRAND","DANGER","WARNING","SUCCESS"],"mappings":";;;;AAMO,MAAMA,IAAqC;AAAA;AAAA,EAEhD,sCAAsCC,EAAY;AAAA,EAClD,4CAA4CC;AAAA,EAC5C,gCAAgCC,EAAgB;AAAA,EAChD,iCAAiCA,EAAgB;AAAA,EACjD,kCAAkCC;AAAA,EAClC,iCAAiCD,EAAgB;AAAA,EACjD,kCAAkCE;AAAA,IAChCF,EAAgB;AAAA,IAChB;AAAA,EACF;AAAA,EACA,mCAAmC;AAAA,EACnC,uCAAuCG,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,mCAAmCN,EAAgB;AAAA,EACnD,6BAA6BA,EAAgB;AAAA,EAC7C,+BAA+BA,EAAgB;AAAA,EAC/C,qCAAqCA,EAAgB;AAAA,EACrD,8BAA8BA,EAAgB;AAAA,EAC9C,iCAAiCA,EAAgB;AAAA,EACjD,oCAAoCA,EAAgB;AAAA,EACpD,yBAAyBA,EAAgB;AAC3C;"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { useState as r, useCallback as m, useEffect as o, useLayoutEffect as f } from "react";
|
|
2
|
-
function h({
|
|
3
|
-
duration: e = 200,
|
|
4
|
-
onClose: t,
|
|
5
|
-
overlayRef: n
|
|
6
|
-
}) {
|
|
7
|
-
const [d, s] = r(!1), [i, u] = r(), c = m(() => {
|
|
8
|
-
if (e <= 0) {
|
|
9
|
-
console.warn(
|
|
10
|
-
"useIsClosing: Duration must be positive. Executing onClose immediately."
|
|
11
|
-
), t == null || t();
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
s(!0), n != null && n.current && n.current.classList.add("proton-ScreenOverlay__fade-out");
|
|
15
|
-
const a = setTimeout(() => {
|
|
16
|
-
t == null || t(), s(!1);
|
|
17
|
-
}, e);
|
|
18
|
-
u(a);
|
|
19
|
-
}, [e, t, n]);
|
|
20
|
-
return o(() => () => {
|
|
21
|
-
i && clearTimeout(i);
|
|
22
|
-
}, [i]), {
|
|
23
|
-
isClosing: d,
|
|
24
|
-
handleClose: c
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
function l(e = !0) {
|
|
28
|
-
f(() => {
|
|
29
|
-
if (!e) return;
|
|
30
|
-
const t = window.getComputedStyle(document.body).overflow;
|
|
31
|
-
return document.body.style.overflow = "hidden", () => {
|
|
32
|
-
document.body.style.overflow = t;
|
|
33
|
-
};
|
|
34
|
-
}, [e]);
|
|
35
|
-
}
|
|
36
|
-
function g(e, t = "down") {
|
|
37
|
-
const n = t === "down" ? `(max-width: ${e}px)` : `(min-width: ${e}px)`, [d, s] = r(
|
|
38
|
-
() => typeof window < "u" ? window.matchMedia(n).matches : !1
|
|
39
|
-
);
|
|
40
|
-
return o(() => {
|
|
41
|
-
if (typeof window > "u") return;
|
|
42
|
-
const i = window.matchMedia(n), u = (c) => {
|
|
43
|
-
s(c.matches);
|
|
44
|
-
};
|
|
45
|
-
return i.addEventListener("change", u), () => i.removeEventListener("change", u);
|
|
46
|
-
}, [n]), d;
|
|
47
|
-
}
|
|
48
|
-
export {
|
|
49
|
-
h as a,
|
|
50
|
-
g as b,
|
|
51
|
-
l as u
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=useBreakpoint-CjRyGKN-.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBreakpoint-CjRyGKN-.mjs","sources":["../src/hooks/useIsClosing.tsx","../src/hooks/useLockBodyScroll.tsx","../src/hooks/useBreakpoint.tsx"],"sourcesContent":["import { useState, useCallback, RefObject, useEffect } from \"react\";\r\n\r\ninterface UseIsClosingOptions {\r\n /**\r\n * Duration of the closing animation in milliseconds\r\n * @default 200\r\n */\r\n duration?: number;\r\n /**\r\n * Callback to run after the closing animation completes\r\n */\r\n onClose?: () => void;\r\n /**\r\n * When passed, the fade-out class will be added to @ScreenOverlay on close\r\n */\r\n overlayRef?: RefObject<HTMLElement>;\r\n}\r\n\r\n/**\r\n * Hook to manage the closing animation state of a component\r\n * @interface UseIsClosingOptions\r\n * @returns Object containing isClosing state and handleClose function\r\n */\r\nexport function useIsClosing({\r\n duration = 200,\r\n onClose,\r\n overlayRef,\r\n}: UseIsClosingOptions) {\r\n const [isClosing, setIsClosing] = useState(false);\r\n const [timeoutId, setTimeoutId] = useState<number>();\r\n\r\n const handleClose = useCallback(() => {\r\n if (duration <= 0) {\r\n console.warn(\r\n \"useIsClosing: Duration must be positive. Executing onClose immediately.\"\r\n );\r\n onClose?.();\r\n return;\r\n }\r\n\r\n setIsClosing(true);\r\n\r\n if (overlayRef?.current) {\r\n overlayRef.current.classList.add(\"proton-ScreenOverlay__fade-out\");\r\n }\r\n\r\n const id = setTimeout(() => {\r\n onClose?.();\r\n setIsClosing(false);\r\n }, duration);\r\n\r\n setTimeoutId(id);\r\n }, [duration, onClose, overlayRef]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n }\r\n };\r\n }, [timeoutId]);\r\n\r\n return {\r\n isClosing,\r\n handleClose,\r\n };\r\n}\r\n","import { useLayoutEffect } from \"react\";\r\n\r\n/**\r\n * A React hook that prevents body scrolling while a component is mounted.\r\n * Useful for modals, overlays, and other components that should prevent background scrolling.\r\n */\r\nexport function useLockBodyScroll(isActive: boolean = true) {\r\n useLayoutEffect(() => {\r\n if (!isActive) return;\r\n\r\n // Get original body overflow\r\n const originalStyle = window.getComputedStyle(document.body).overflow;\r\n // Prevent scrolling on mount\r\n document.body.style.overflow = \"hidden\";\r\n // Re-enable scrolling when component unmounts\r\n return () => {\r\n document.body.style.overflow = originalStyle;\r\n };\r\n }, [isActive]); // Empty array ensures effect is only run on mount and unmount\r\n}\r\n","import { useState } from \"react\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { Breakpoint } from \"../constants\";\r\n\r\ntype BreakpointDirection = \"up\" | \"down\";\r\n\r\nexport function useBreakpoint(\r\n breakpoint: Breakpoint,\r\n direction: BreakpointDirection = \"down\"\r\n) {\r\n const query =\r\n direction === \"down\"\r\n ? `(max-width: ${breakpoint}px)`\r\n : `(min-width: ${breakpoint}px)`;\r\n\r\n const [matches, setMatches] = useState(() =>\r\n typeof window !== \"undefined\" ? window.matchMedia(query).matches : false\r\n );\r\n\r\n useEffect(() => {\r\n if (typeof window === \"undefined\") return;\r\n\r\n const mediaQuery = window.matchMedia(query);\r\n const handler = (event: MediaQueryListEvent) => {\r\n setMatches(event.matches);\r\n };\r\n\r\n mediaQuery.addEventListener(\"change\", handler);\r\n return () => mediaQuery.removeEventListener(\"change\", handler);\r\n }, [query]);\r\n\r\n return matches;\r\n}\r\n"],"names":["useIsClosing","duration","onClose","overlayRef","isClosing","setIsClosing","useState","timeoutId","setTimeoutId","handleClose","useCallback","id","useEffect","useLockBodyScroll","isActive","useLayoutEffect","originalStyle","useBreakpoint","breakpoint","direction","query","matches","setMatches","mediaQuery","handler","event"],"mappings":";AAuBO,SAASA,EAAa;AAAA,EAC3B,UAAAC,IAAW;AAAA,EACX,SAAAC;AAAA,EACA,YAAAC;AACF,GAAwB;AACtB,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAWC,CAAY,IAAIF,EAAiB,GAE7CG,IAAcC,EAAY,MAAM;AACpC,QAAIT,KAAY,GAAG;AACT,cAAA;AAAA,QACN;AAAA,MAAA,GAEQC,KAAA,QAAAA;AACV;AAAA,IACF;AAEA,IAAAG,EAAa,EAAI,GAEbF,KAAA,QAAAA,EAAY,WACHA,EAAA,QAAQ,UAAU,IAAI,gCAAgC;AAG7D,UAAAQ,IAAK,WAAW,MAAM;AAChB,MAAAT,KAAA,QAAAA,KACVG,EAAa,EAAK;AAAA,OACjBJ,CAAQ;AAEX,IAAAO,EAAaG,CAAE;AAAA,EACd,GAAA,CAACV,GAAUC,GAASC,CAAU,CAAC;AAElC,SAAAS,EAAU,MACD,MAAM;AACX,IAAIL,KACF,aAAaA,CAAS;AAAA,EACxB,GAED,CAACA,CAAS,CAAC,GAEP;AAAA,IACL,WAAAH;AAAA,IACA,aAAAK;AAAA,EAAA;AAEJ;AC5DgB,SAAAI,EAAkBC,IAAoB,IAAM;AAC1D,EAAAC,EAAgB,MAAM;AACpB,QAAI,CAACD,EAAU;AAGf,UAAME,IAAgB,OAAO,iBAAiB,SAAS,IAAI,EAAE;AAEpD,oBAAA,KAAK,MAAM,WAAW,UAExB,MAAM;AACF,eAAA,KAAK,MAAM,WAAWA;AAAA,IAAA;AAAA,EACjC,GACC,CAACF,CAAQ,CAAC;AACf;ACZgB,SAAAG,EACdC,GACAC,IAAiC,QACjC;AACA,QAAMC,IACJD,MAAc,SACV,eAAeD,CAAU,QACzB,eAAeA,CAAU,OAEzB,CAACG,GAASC,CAAU,IAAIhB;AAAA,IAAS,MACrC,OAAO,SAAW,MAAc,OAAO,WAAWc,CAAK,EAAE,UAAU;AAAA,EAAA;AAGrE,SAAAR,EAAU,MAAM;AACV,QAAA,OAAO,SAAW,IAAa;AAE7B,UAAAW,IAAa,OAAO,WAAWH,CAAK,GACpCI,IAAU,CAACC,MAA+B;AAC9C,MAAAH,EAAWG,EAAM,OAAO;AAAA,IAAA;AAGf,WAAAF,EAAA,iBAAiB,UAAUC,CAAO,GACtC,MAAMD,EAAW,oBAAoB,UAAUC,CAAO;AAAA,EAAA,GAC5D,CAACJ,CAAK,CAAC,GAEHC;AACT;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const s=require("react");function a({duration:t=200,onClose:e,overlayRef:n}){const[d,i]=s.useState(!1),[u,c]=s.useState(),r=s.useCallback(()=>{if(t<=0){console.warn("useIsClosing: Duration must be positive. Executing onClose immediately."),e==null||e();return}i(!0),n!=null&&n.current&&n.current.classList.add("proton-ScreenOverlay__fade-out");const o=setTimeout(()=>{e==null||e(),i(!1)},t);c(o)},[t,e,n]);return s.useEffect(()=>()=>{u&&clearTimeout(u)},[u]),{isClosing:d,handleClose:r}}function m(t=!0){s.useLayoutEffect(()=>{if(!t)return;const e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}},[t])}function f(t,e="down"){const n=e==="down"?`(max-width: ${t}px)`:`(min-width: ${t}px)`,[d,i]=s.useState(()=>typeof window<"u"?window.matchMedia(n).matches:!1);return s.useEffect(()=>{if(typeof window>"u")return;const u=window.matchMedia(n),c=r=>{i(r.matches)};return u.addEventListener("change",c),()=>u.removeEventListener("change",c)},[n]),d}exports.useBreakpoint=f;exports.useIsClosing=a;exports.useLockBodyScroll=m;
|
|
2
|
-
//# sourceMappingURL=useBreakpoint-DA-JqOu3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBreakpoint-DA-JqOu3.js","sources":["../src/hooks/useIsClosing.tsx","../src/hooks/useLockBodyScroll.tsx","../src/hooks/useBreakpoint.tsx"],"sourcesContent":["import { useState, useCallback, RefObject, useEffect } from \"react\";\r\n\r\ninterface UseIsClosingOptions {\r\n /**\r\n * Duration of the closing animation in milliseconds\r\n * @default 200\r\n */\r\n duration?: number;\r\n /**\r\n * Callback to run after the closing animation completes\r\n */\r\n onClose?: () => void;\r\n /**\r\n * When passed, the fade-out class will be added to @ScreenOverlay on close\r\n */\r\n overlayRef?: RefObject<HTMLElement>;\r\n}\r\n\r\n/**\r\n * Hook to manage the closing animation state of a component\r\n * @interface UseIsClosingOptions\r\n * @returns Object containing isClosing state and handleClose function\r\n */\r\nexport function useIsClosing({\r\n duration = 200,\r\n onClose,\r\n overlayRef,\r\n}: UseIsClosingOptions) {\r\n const [isClosing, setIsClosing] = useState(false);\r\n const [timeoutId, setTimeoutId] = useState<number>();\r\n\r\n const handleClose = useCallback(() => {\r\n if (duration <= 0) {\r\n console.warn(\r\n \"useIsClosing: Duration must be positive. Executing onClose immediately.\"\r\n );\r\n onClose?.();\r\n return;\r\n }\r\n\r\n setIsClosing(true);\r\n\r\n if (overlayRef?.current) {\r\n overlayRef.current.classList.add(\"proton-ScreenOverlay__fade-out\");\r\n }\r\n\r\n const id = setTimeout(() => {\r\n onClose?.();\r\n setIsClosing(false);\r\n }, duration);\r\n\r\n setTimeoutId(id);\r\n }, [duration, onClose, overlayRef]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n }\r\n };\r\n }, [timeoutId]);\r\n\r\n return {\r\n isClosing,\r\n handleClose,\r\n };\r\n}\r\n","import { useLayoutEffect } from \"react\";\r\n\r\n/**\r\n * A React hook that prevents body scrolling while a component is mounted.\r\n * Useful for modals, overlays, and other components that should prevent background scrolling.\r\n */\r\nexport function useLockBodyScroll(isActive: boolean = true) {\r\n useLayoutEffect(() => {\r\n if (!isActive) return;\r\n\r\n // Get original body overflow\r\n const originalStyle = window.getComputedStyle(document.body).overflow;\r\n // Prevent scrolling on mount\r\n document.body.style.overflow = \"hidden\";\r\n // Re-enable scrolling when component unmounts\r\n return () => {\r\n document.body.style.overflow = originalStyle;\r\n };\r\n }, [isActive]); // Empty array ensures effect is only run on mount and unmount\r\n}\r\n","import { useState } from \"react\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { Breakpoint } from \"../constants\";\r\n\r\ntype BreakpointDirection = \"up\" | \"down\";\r\n\r\nexport function useBreakpoint(\r\n breakpoint: Breakpoint,\r\n direction: BreakpointDirection = \"down\"\r\n) {\r\n const query =\r\n direction === \"down\"\r\n ? `(max-width: ${breakpoint}px)`\r\n : `(min-width: ${breakpoint}px)`;\r\n\r\n const [matches, setMatches] = useState(() =>\r\n typeof window !== \"undefined\" ? window.matchMedia(query).matches : false\r\n );\r\n\r\n useEffect(() => {\r\n if (typeof window === \"undefined\") return;\r\n\r\n const mediaQuery = window.matchMedia(query);\r\n const handler = (event: MediaQueryListEvent) => {\r\n setMatches(event.matches);\r\n };\r\n\r\n mediaQuery.addEventListener(\"change\", handler);\r\n return () => mediaQuery.removeEventListener(\"change\", handler);\r\n }, [query]);\r\n\r\n return matches;\r\n}\r\n"],"names":["useIsClosing","duration","onClose","overlayRef","isClosing","setIsClosing","useState","timeoutId","setTimeoutId","handleClose","useCallback","id","useEffect","useLockBodyScroll","isActive","useLayoutEffect","originalStyle","useBreakpoint","breakpoint","direction","query","matches","setMatches","mediaQuery","handler","event"],"mappings":"sCAuBO,SAASA,EAAa,CAC3B,SAAAC,EAAW,IACX,QAAAC,EACA,WAAAC,CACF,EAAwB,CACtB,KAAM,CAACC,EAAWC,CAAY,EAAIC,WAAS,EAAK,EAC1C,CAACC,EAAWC,CAAY,EAAIF,EAAiB,SAAA,EAE7CG,EAAcC,EAAAA,YAAY,IAAM,CACpC,GAAIT,GAAY,EAAG,CACT,QAAA,KACN,yEAAA,EAEQC,GAAA,MAAAA,IACV,MACF,CAEAG,EAAa,EAAI,EAEbF,GAAA,MAAAA,EAAY,SACHA,EAAA,QAAQ,UAAU,IAAI,gCAAgC,EAG7D,MAAAQ,EAAK,WAAW,IAAM,CAChBT,GAAA,MAAAA,IACVG,EAAa,EAAK,GACjBJ,CAAQ,EAEXO,EAAaG,CAAE,CACd,EAAA,CAACV,EAAUC,EAASC,CAAU,CAAC,EAElCS,OAAAA,EAAAA,UAAU,IACD,IAAM,CACPL,GACF,aAAaA,CAAS,CACxB,EAED,CAACA,CAAS,CAAC,EAEP,CACL,UAAAH,EACA,YAAAK,CAAA,CAEJ,CC5DgB,SAAAI,EAAkBC,EAAoB,GAAM,CAC1DC,EAAAA,gBAAgB,IAAM,CACpB,GAAI,CAACD,EAAU,OAGf,MAAME,EAAgB,OAAO,iBAAiB,SAAS,IAAI,EAAE,SAEpD,gBAAA,KAAK,MAAM,SAAW,SAExB,IAAM,CACF,SAAA,KAAK,MAAM,SAAWA,CAAA,CACjC,EACC,CAACF,CAAQ,CAAC,CACf,CCZgB,SAAAG,EACdC,EACAC,EAAiC,OACjC,CACA,MAAMC,EACJD,IAAc,OACV,eAAeD,CAAU,MACzB,eAAeA,CAAU,MAEzB,CAACG,EAASC,CAAU,EAAIhB,EAAA,SAAS,IACrC,OAAO,OAAW,IAAc,OAAO,WAAWc,CAAK,EAAE,QAAU,EAAA,EAGrER,OAAAA,EAAAA,UAAU,IAAM,CACV,GAAA,OAAO,OAAW,IAAa,OAE7B,MAAAW,EAAa,OAAO,WAAWH,CAAK,EACpCI,EAAWC,GAA+B,CAC9CH,EAAWG,EAAM,OAAO,CAAA,EAGf,OAAAF,EAAA,iBAAiB,SAAUC,CAAO,EACtC,IAAMD,EAAW,oBAAoB,SAAUC,CAAO,CAAA,EAC5D,CAACJ,CAAK,CAAC,EAEHC,CACT"}
|