@apple-pie/slice 0.1.25 → 0.1.26

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.
Files changed (60) hide show
  1. package/dist/cjs/components/AudioBubble/index.js +3 -2
  2. package/dist/cjs/components/Button/index.js +2 -2
  3. package/dist/cjs/components/ButtonBar/index.js +3 -2
  4. package/dist/cjs/components/Camera/index.js +4 -3
  5. package/dist/cjs/components/CheckBox/index.js +3 -2
  6. package/dist/cjs/components/Chip/index.js +3 -3
  7. package/dist/cjs/components/DraggablePanel/index.js +3 -2
  8. package/dist/cjs/components/DropDown/index.js +3 -2
  9. package/dist/cjs/components/ErrorSummary/index.js +2 -1
  10. package/dist/cjs/components/FileIcon/index.js +2 -1
  11. package/dist/cjs/components/FileList/index.js +4 -4
  12. package/dist/cjs/components/Grouper/index.js +3 -2
  13. package/dist/cjs/components/Icon/index.js +3 -3
  14. package/dist/cjs/components/IconButton/index.js +2 -2
  15. package/dist/cjs/components/Progress/index.js +3 -3
  16. package/dist/cjs/components/PromptInput/index.js +7 -6
  17. package/dist/cjs/components/RadioButton/index.js +3 -2
  18. package/dist/cjs/components/RadioButtonList/index.js +2 -2
  19. package/dist/cjs/components/TabBar/index.js +6 -5
  20. package/dist/cjs/components/TextArea/index.js +2 -1
  21. package/dist/cjs/components/Textfield/index.js +5 -4
  22. package/dist/cjs/components/Toast/index.js +2 -2
  23. package/dist/cjs/components/UploadArea/index.js +4 -4
  24. package/dist/cjs/hooks/useObserveTheme.js +8 -7
  25. package/dist/cjs/hooks/useTheme.js +1 -0
  26. package/dist/cjs/hooks/useToolTip.js +17 -5
  27. package/dist/cjs/hooks.js +1 -0
  28. package/dist/cjs/providers/ThemeProvider.js +33 -14
  29. package/dist/esm/components/AudioBubble/index.mjs +4 -2
  30. package/dist/esm/components/Button/index.mjs +2 -0
  31. package/dist/esm/components/ButtonBar/index.mjs +3 -1
  32. package/dist/esm/components/Camera/index.mjs +4 -2
  33. package/dist/esm/components/CheckBox/index.mjs +3 -1
  34. package/dist/esm/components/Chip/index.mjs +3 -1
  35. package/dist/esm/components/DraggablePanel/index.mjs +4 -2
  36. package/dist/esm/components/DropDown/index.mjs +3 -1
  37. package/dist/esm/components/ErrorSummary/index.mjs +4 -2
  38. package/dist/esm/components/FileIcon/index.mjs +4 -0
  39. package/dist/esm/components/FileList/index.mjs +4 -2
  40. package/dist/esm/components/Grouper/index.mjs +4 -2
  41. package/dist/esm/components/Icon/index.mjs +4 -2
  42. package/dist/esm/components/IconButton/index.mjs +2 -0
  43. package/dist/esm/components/Progress/index.mjs +4 -2
  44. package/dist/esm/components/PromptInput/index.mjs +4 -2
  45. package/dist/esm/components/RadioButton/index.mjs +3 -1
  46. package/dist/esm/components/RadioButtonList/index.mjs +3 -1
  47. package/dist/esm/components/TabBar/index.mjs +4 -2
  48. package/dist/esm/components/TextArea/index.mjs +2 -0
  49. package/dist/esm/components/Textfield/index.mjs +4 -2
  50. package/dist/esm/components/Toast/index.mjs +4 -2
  51. package/dist/esm/components/UploadArea/index.mjs +4 -2
  52. package/dist/esm/hooks/useObserveTheme.mjs +10 -4
  53. package/dist/esm/hooks/useTheme.mjs +6 -0
  54. package/dist/esm/hooks/useToolTip.mjs +18 -6
  55. package/dist/esm/hooks.mjs +6 -0
  56. package/dist/esm/providers/ThemeProvider.mjs +38 -18
  57. package/dist/types/hooks/useWindow/useWindow.d.ts +1 -1
  58. package/dist/types/providers/ThemeProvider.d.ts +4 -0
  59. package/dist/types/stores/window/windowStore.d.ts +2 -2
  60. package/package.json +1 -1
@@ -5,6 +5,7 @@ var AudioBubble = require("../../chunks/AudioBubble-Bqb2Jexf.js");
5
5
  require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), require("react"),
6
6
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
7
7
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
8
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../chunks/colors-njquvHkx.js"),
8
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
9
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/colors-njquvHkx.js"),
9
10
  require("../../chunks/audioVisualizer-EIfIjWH7.js"), require("../../hooks/useWindow.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), exports.AudioBubble = AudioBubble.AudioBubble;
11
+ exports.AudioBubble = AudioBubble.AudioBubble;
@@ -7,6 +7,6 @@ require("react"), require("../../chunks/Badge-DjPJ_iJX.js"), require("../../chun
7
7
  require("../../chunks/Dot-fKIwhjYA.js"), require("../../chunks/Icon-fRM3E0N6.js"),
8
8
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
9
9
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
10
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../chunks/misc-BTF7BCZW.js"),
11
- require("../../hooks/useWindow.js"), require("../../chunks/ProgressIndicator-t-jv4OhI.js"),
10
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
11
+ require("../../chunks/misc-BTF7BCZW.js"), require("../../hooks/useWindow.js"), require("../../chunks/ProgressIndicator-t-jv4OhI.js"),
12
12
  require("../../chunks/sharedTypes-gCECyn2N.js"), exports.Button = Button.Button;
@@ -6,5 +6,6 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("../../chunks/misc-BTF7BCZW.js"), require("../../chunks/Icon-fRM3E0N6.js"),
7
7
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
8
8
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
9
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../hooks/useWindow.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), exports.ButtonBar = ButtonBar.ButtonBar;
9
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
10
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../hooks/useWindow.js"),
11
+ exports.ButtonBar = ButtonBar.ButtonBar;
@@ -5,7 +5,8 @@ var Camera = require("../../chunks/Camera-BnsGhOrt.js");
5
5
  require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), require("react"),
6
6
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
7
7
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
8
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../chunks/misc-BTF7BCZW.js"),
8
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
9
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/misc-BTF7BCZW.js"),
9
10
  require("../../chunks/colors-njquvHkx.js"), require("../../hooks/useWindow.js"),
10
- require("../../chunks/Avatar-Dg8ZHnw6.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
11
- require("../../chunks/Icon-fRM3E0N6.js"), exports.Camera = Camera.Camera;
11
+ require("../../chunks/Avatar-Dg8ZHnw6.js"), require("../../chunks/Icon-fRM3E0N6.js"),
12
+ exports.Camera = Camera.Camera;
@@ -6,5 +6,6 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("react"), require("../../chunks/misc-BTF7BCZW.js"), require("../../chunks/Icon-fRM3E0N6.js"),
7
7
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
8
8
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
9
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../hooks/useWindow.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), exports.CheckBox = CheckBox.CheckBox;
9
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
10
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../hooks/useWindow.js"),
11
+ exports.CheckBox = CheckBox.CheckBox;
@@ -6,6 +6,6 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("../../chunks/misc-BTF7BCZW.js"), require("../../chunks/Icon-fRM3E0N6.js"),
7
7
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
8
8
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
9
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../hooks/useWindow.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/sharedTypes-gCECyn2N.js"),
11
- exports.Chip = Chip.Chip;
9
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
10
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../hooks/useWindow.js"),
11
+ require("../../chunks/sharedTypes-gCECyn2N.js"), exports.Chip = Chip.Chip;
@@ -5,6 +5,7 @@ var DrggablePanel = require("../../chunks/DrggablePanel-Duv0nmOm.js");
5
5
  require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), require("react"),
6
6
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
7
7
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
8
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../chunks/misc-BTF7BCZW.js"),
8
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
9
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/misc-BTF7BCZW.js"),
9
10
  require("../../hooks/useWindow.js"), require("../../hooks/useObserveResize.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), exports.DraggablePanel = DrggablePanel.DraggablePanel;
11
+ exports.DraggablePanel = DrggablePanel.DraggablePanel;
@@ -6,5 +6,6 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("../../chunks/misc-BTF7BCZW.js"), require("../../chunks/Icon-fRM3E0N6.js"),
7
7
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
8
8
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
9
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../hooks/useWindow.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), exports.DropDown = DropDown.DropDown;
9
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
10
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../hooks/useWindow.js"),
11
+ exports.DropDown = DropDown.DropDown;
@@ -6,5 +6,6 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("react"), require("../../hooks/useTheme.js"), require("../../theme/themes.js"),
7
7
  require("../../theme/colors.js"), require("../../theme/corners.js"), require("../../theme/elevations.js"),
8
8
  require("../../theme/motion.js"), require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"),
9
+ require("../../providers/ThemeProvider.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
9
10
  require("../../chunks/colors-njquvHkx.js"), require("../../hooks/useWindow.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), exports.ErrorSummary = ErrorSummary.ErrorSummary;
11
+ exports.ErrorSummary = ErrorSummary.ErrorSummary;
@@ -5,7 +5,8 @@ var FileIcon = require("../../chunks/FileIcon-DgRlhqzv.js");
5
5
  require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), require("react"),
6
6
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
7
7
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
8
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../chunks/misc-BTF7BCZW.js"),
8
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
9
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/misc-BTF7BCZW.js"),
9
10
  require("../../hooks/useWindow.js"), exports.FileIcon = FileIcon.FileIcon, Object.defineProperty(exports, "FileIconNames", {
10
11
  enumerable: !0,
11
12
  get: function() {
@@ -6,7 +6,7 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("../../chunks/misc-BTF7BCZW.js"), require("../../chunks/FileIcon-DgRlhqzv.js"),
7
7
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
8
8
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
9
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../hooks/useWindow.js"),
10
- require("../../chunks/Icon-fRM3E0N6.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
11
- require("../../chunks/ProgressIndicator-t-jv4OhI.js"), require("motion/react"),
12
- exports.FileList = FileList.FileList;
9
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
10
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../hooks/useWindow.js"),
11
+ require("../../chunks/Icon-fRM3E0N6.js"), require("../../chunks/ProgressIndicator-t-jv4OhI.js"),
12
+ require("motion/react"), exports.FileList = FileList.FileList;
@@ -6,6 +6,7 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("react"), require("../../hooks/useTheme.js"), require("../../theme/themes.js"),
7
7
  require("../../theme/colors.js"), require("../../theme/corners.js"), require("../../theme/elevations.js"),
8
8
  require("../../theme/motion.js"), require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"),
9
+ require("../../providers/ThemeProvider.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
9
10
  require("../../hooks/useWindow.js"), require("../../chunks/Badge-DjPJ_iJX.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/Icon-fRM3E0N6.js"),
11
- require("../../chunks/misc-BTF7BCZW.js"), exports.Grouper = Grouper.Grouper;
11
+ require("../../chunks/Icon-fRM3E0N6.js"), require("../../chunks/misc-BTF7BCZW.js"),
12
+ exports.Grouper = Grouper.Grouper;
@@ -5,6 +5,6 @@ var Icon = require("../../chunks/Icon-fRM3E0N6.js"), _types = require("../../chu
5
5
  require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), require("react"),
6
6
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
7
7
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
8
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../chunks/misc-BTF7BCZW.js"),
9
- require("../../hooks/useWindow.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
10
- exports.Icon = Icon.Icon, exports.SliceIcons = _types.SliceIcons;
8
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
9
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/misc-BTF7BCZW.js"),
10
+ require("../../hooks/useWindow.js"), exports.Icon = Icon.Icon, exports.SliceIcons = _types.SliceIcons;
@@ -7,6 +7,6 @@ require("react"), require("../../chunks/Badge-DjPJ_iJX.js"), require("../../chun
7
7
  require("../../chunks/Dot-fKIwhjYA.js"), require("../../chunks/Icon-fRM3E0N6.js"),
8
8
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
9
9
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
10
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../chunks/misc-BTF7BCZW.js"),
11
- require("../../hooks/useWindow.js"), require("../../chunks/sharedTypes-gCECyn2N.js"),
10
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
11
+ require("../../chunks/misc-BTF7BCZW.js"), require("../../hooks/useWindow.js"), require("../../chunks/sharedTypes-gCECyn2N.js"),
12
12
  exports.IconButton = IconButton.IconButton;
@@ -5,7 +5,7 @@ var ProgressIndicator = require("../../chunks/ProgressIndicator-t-jv4OhI.js");
5
5
  require("react/jsx-runtime"), require("react"), require("../../hooks/useTheme.js"),
6
6
  require("../../theme/themes.js"), require("../../theme/colors.js"), require("../../theme/corners.js"),
7
7
  require("../../theme/elevations.js"), require("../../theme/motion.js"), require("../../theme/type.js"),
8
- require("../../hooks/useObserveTheme.js"), require("../../chunks/tslib.es6-C8dZW5nY.js"),
8
+ require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
9
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/tslib.es6-C8dZW5nY.js"),
9
10
  require("../../hooks/useWindow.js"), require("../../chunks/Icon-fRM3E0N6.js"), require("../../chunks/misc-BTF7BCZW.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("motion/react"), exports.DoneCheck = ProgressIndicator.DoneCheck,
11
- exports.ProgressIndicator = ProgressIndicator.ProgressIndicator;
11
+ require("motion/react"), exports.DoneCheck = ProgressIndicator.DoneCheck, exports.ProgressIndicator = ProgressIndicator.ProgressIndicator;
@@ -5,10 +5,11 @@ var PromptInput = require("../../chunks/PromptInput-B1WG22xz.js");
5
5
  require("react/jsx-runtime"), require("react"), require("../../hooks/useTheme.js"),
6
6
  require("../../theme/themes.js"), require("../../theme/colors.js"), require("../../theme/corners.js"),
7
7
  require("../../theme/elevations.js"), require("../../theme/motion.js"), require("../../theme/type.js"),
8
- require("../../hooks/useObserveTheme.js"), require("../../chunks/tslib.es6-C8dZW5nY.js"),
8
+ require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
9
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/tslib.es6-C8dZW5nY.js"),
9
10
  require("../../hooks/useWindow.js"), require("../../chunks/Button-D3wZtdtj.js"),
10
- require("motion/react"), require("../../chunks/Badge-DjPJ_iJX.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
11
- require("../../chunks/Dot-fKIwhjYA.js"), require("../../chunks/Icon-fRM3E0N6.js"),
12
- require("../../chunks/misc-BTF7BCZW.js"), require("../../chunks/ProgressIndicator-t-jv4OhI.js"),
13
- require("../../chunks/sharedTypes-gCECyn2N.js"), require("../../chunks/FileList-DobAcOSH.js"),
14
- require("../../chunks/FileIcon-DgRlhqzv.js"), exports.PromptInput = PromptInput.PromptInput;
11
+ require("motion/react"), require("../../chunks/Badge-DjPJ_iJX.js"), require("../../chunks/Dot-fKIwhjYA.js"),
12
+ require("../../chunks/Icon-fRM3E0N6.js"), require("../../chunks/misc-BTF7BCZW.js"),
13
+ require("../../chunks/ProgressIndicator-t-jv4OhI.js"), require("../../chunks/sharedTypes-gCECyn2N.js"),
14
+ require("../../chunks/FileList-DobAcOSH.js"), require("../../chunks/FileIcon-DgRlhqzv.js"),
15
+ exports.PromptInput = PromptInput.PromptInput;
@@ -6,5 +6,6 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("../../chunks/misc-BTF7BCZW.js"), require("../../chunks/Icon-fRM3E0N6.js"),
7
7
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
8
8
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
9
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../hooks/useWindow.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), exports.RadioButton = RadioButton.RadioButton;
9
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
10
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../hooks/useWindow.js"),
11
+ exports.RadioButton = RadioButton.RadioButton;
@@ -7,5 +7,5 @@ require("../../chunks/misc-BTF7BCZW.js"), require("../../chunks/RadioButton-BAIM
7
7
  require("../../chunks/Icon-fRM3E0N6.js"), require("../../hooks/useTheme.js"), require("../../theme/themes.js"),
8
8
  require("../../theme/colors.js"), require("../../theme/corners.js"), require("../../theme/elevations.js"),
9
9
  require("../../theme/motion.js"), require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"),
10
- require("../../hooks/useWindow.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
11
- exports.RadioButtonList = RadioButtonList.RadioButtonList;
10
+ require("../../providers/ThemeProvider.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
11
+ require("../../hooks/useWindow.js"), exports.RadioButtonList = RadioButtonList.RadioButtonList;
@@ -5,8 +5,9 @@ var TabBar = require("../../chunks/TabBar-BfyfjmPQ.js");
5
5
  require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), require("react"),
6
6
  require("../../hooks/useTheme.js"), require("../../theme/themes.js"), require("../../theme/colors.js"),
7
7
  require("../../theme/corners.js"), require("../../theme/elevations.js"), require("../../theme/motion.js"),
8
- require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../hooks/useWindow.js"),
9
- require("../../chunks/Badge-DjPJ_iJX.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
10
- require("../../chunks/Icon-fRM3E0N6.js"), require("../../chunks/misc-BTF7BCZW.js"),
11
- require("../../chunks/IconButton-Cf2RBUKA.js"), require("motion/react"), require("../../chunks/Dot-fKIwhjYA.js"),
12
- require("../../chunks/sharedTypes-gCECyn2N.js"), exports.TabBar = TabBar.TabBar;
8
+ require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
9
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../hooks/useWindow.js"),
10
+ require("../../chunks/Badge-DjPJ_iJX.js"), require("../../chunks/Icon-fRM3E0N6.js"),
11
+ require("../../chunks/misc-BTF7BCZW.js"), require("../../chunks/IconButton-Cf2RBUKA.js"),
12
+ require("motion/react"), require("../../chunks/Dot-fKIwhjYA.js"), require("../../chunks/sharedTypes-gCECyn2N.js"),
13
+ exports.TabBar = TabBar.TabBar;
@@ -8,5 +8,6 @@ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../chunks/Dot-f
8
8
  require("../../chunks/Icon-fRM3E0N6.js"), require("../../hooks/useTheme.js"), require("../../theme/themes.js"),
9
9
  require("../../theme/colors.js"), require("../../theme/corners.js"), require("../../theme/elevations.js"),
10
10
  require("../../theme/motion.js"), require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"),
11
- require("../../chunks/misc-BTF7BCZW.js"), require("../../hooks/useWindow.js"), require("../../chunks/ProgressIndicator-t-jv4OhI.js"),
11
+ require("../../providers/ThemeProvider.js"), require("../../chunks/misc-BTF7BCZW.js"),
12
+ require("../../hooks/useWindow.js"), require("../../chunks/ProgressIndicator-t-jv4OhI.js"),
12
13
  require("../../chunks/sharedTypes-gCECyn2N.js"), exports.TextArea = TextArea.TextArea;
@@ -6,8 +6,9 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("react"), require("../../hooks/useTheme.js"), require("../../theme/themes.js"),
7
7
  require("../../theme/colors.js"), require("../../theme/corners.js"), require("../../theme/elevations.js"),
8
8
  require("../../theme/motion.js"), require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"),
9
+ require("../../providers/ThemeProvider.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
9
10
  require("../../chunks/misc-BTF7BCZW.js"), require("../../hooks/useWindow.js"), require("../../chunks/Button-D3wZtdtj.js"),
10
- require("../../chunks/Badge-DjPJ_iJX.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
11
- require("../../chunks/Dot-fKIwhjYA.js"), require("../../chunks/Icon-fRM3E0N6.js"),
12
- require("../../chunks/ProgressIndicator-t-jv4OhI.js"), require("../../chunks/sharedTypes-gCECyn2N.js"),
13
- require("../../chunks/IconButton-Cf2RBUKA.js"), exports.TextField = TextField.TextField;
11
+ require("../../chunks/Badge-DjPJ_iJX.js"), require("../../chunks/Dot-fKIwhjYA.js"),
12
+ require("../../chunks/Icon-fRM3E0N6.js"), require("../../chunks/ProgressIndicator-t-jv4OhI.js"),
13
+ require("../../chunks/sharedTypes-gCECyn2N.js"), require("../../chunks/IconButton-Cf2RBUKA.js"),
14
+ exports.TextField = TextField.TextField;
@@ -6,9 +6,9 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("react/jsx-runtime"), req
6
6
  require("react"), require("../../hooks/useTheme.js"), require("../../theme/themes.js"),
7
7
  require("../../theme/colors.js"), require("../../theme/corners.js"), require("../../theme/elevations.js"),
8
8
  require("../../theme/motion.js"), require("../../theme/type.js"), require("../../hooks/useObserveTheme.js"),
9
+ require("../../providers/ThemeProvider.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
9
10
  require("../../chunks/misc-BTF7BCZW.js"), require("../../hooks/useWindow.js"), require("../../chunks/Icon-fRM3E0N6.js"),
10
- require("../../chunks/style-inject.es-CMuL-BfJ.js"), exports.Toast = Toast.Toast,
11
- Object.defineProperty(exports, "ToastType", {
11
+ exports.Toast = Toast.Toast, Object.defineProperty(exports, "ToastType", {
12
12
  enumerable: !0,
13
13
  get: function() {
14
14
  return Toast.ToastType;
@@ -7,10 +7,10 @@ require("../../chunks/tslib.es6-C8dZW5nY.js"), require("../../chunks/FileList-Do
7
7
  require("../../chunks/FileIcon-DgRlhqzv.js"), require("../../hooks/useTheme.js"),
8
8
  require("../../theme/themes.js"), require("../../theme/colors.js"), require("../../theme/corners.js"),
9
9
  require("../../theme/elevations.js"), require("../../theme/motion.js"), require("../../theme/type.js"),
10
- require("../../hooks/useObserveTheme.js"), require("../../hooks/useWindow.js"),
11
- require("../../chunks/Icon-fRM3E0N6.js"), require("../../chunks/style-inject.es-CMuL-BfJ.js"),
12
- require("../../chunks/ProgressIndicator-t-jv4OhI.js"), require("motion/react"),
13
- exports.UploadArea = UploadArea.UploadArea, exports.allTypes = UploadArea.allTypes,
10
+ require("../../hooks/useObserveTheme.js"), require("../../providers/ThemeProvider.js"),
11
+ require("../../chunks/style-inject.es-CMuL-BfJ.js"), require("../../hooks/useWindow.js"),
12
+ require("../../chunks/Icon-fRM3E0N6.js"), require("../../chunks/ProgressIndicator-t-jv4OhI.js"),
13
+ require("motion/react"), exports.UploadArea = UploadArea.UploadArea, exports.allTypes = UploadArea.allTypes,
14
14
  exports.audioTypes = UploadArea.audioTypes, exports.documentTypes = UploadArea.documentTypes,
15
15
  exports.imageTypes = UploadArea.imageTypes, exports.textTypes = UploadArea.textTypes,
16
16
  exports.videoTypes = UploadArea.videoTypes;
@@ -1,26 +1,27 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var React = require("react"), theme_themes = require("../theme/themes.js");
4
+ var React = require("react"), providers_ThemeProvider = require("../providers/ThemeProvider.js"), theme_themes = require("../theme/themes.js");
5
5
 
6
6
  function resolveTheme(themeName) {
7
7
  return !themeName || "" === themeName || themeName.includes(theme_themes.lightTheme.name) ? theme_themes.lightTheme : theme_themes.darkTheme;
8
8
  }
9
9
 
10
- require("../theme/colors.js"), require("../theme/corners.js"), require("../theme/elevations.js"),
11
- require("../theme/motion.js"), require("../theme/type.js"), exports.useObserveTheme = function() {
12
- const [theme, setTheme] = React.useState(() => "undefined" == typeof document ? theme_themes.lightTheme : resolveTheme(document.documentElement.dataset.sliceTheme));
10
+ require("../theme/colors.js"), require("react/jsx-runtime"), require("../chunks/style-inject.es-CMuL-BfJ.js"),
11
+ require("../theme/corners.js"), require("../theme/elevations.js"), require("../theme/motion.js"),
12
+ require("../theme/type.js"), exports.useObserveTheme = function() {
13
+ const {initialTheme: initialTheme} = providers_ThemeProvider.useThemeContext(), [theme, setTheme] = React.useState(() => "undefined" == typeof document ? resolveTheme(initialTheme) : resolveTheme(document.documentElement.dataset.sliceTheme || initialTheme));
13
14
  return React.useEffect(() => {
14
- setTheme(resolveTheme(document.documentElement.dataset.sliceTheme));
15
+ setTheme(resolveTheme(document.documentElement.dataset.sliceTheme || initialTheme));
15
16
  const observer = new MutationObserver(mutations => {
16
17
  for (const mutation of mutations) if ("attributes" === mutation.type && "data-slice-theme" === mutation.attributeName) {
17
18
  const newTheme = document.documentElement.dataset.sliceTheme;
18
- setTheme(resolveTheme(newTheme));
19
+ setTheme(resolveTheme(newTheme || initialTheme));
19
20
  }
20
21
  });
21
22
  return observer.observe(document.documentElement, {
22
23
  attributes: !0,
23
24
  attributeFilter: [ "data-slice-theme" ]
24
25
  }), () => observer.disconnect();
25
- }, []), theme;
26
+ }, [ initialTheme ]), theme;
26
27
  };
@@ -4,6 +4,7 @@
4
4
  var React = require("react"), theme_themes = require("../theme/themes.js"), theme_colors = require("../theme/colors.js"), theme_type = require("../theme/type.js"), hooks_useObserveTheme = require("./useObserveTheme.js");
5
5
 
6
6
  require("../theme/corners.js"), require("../theme/elevations.js"), require("../theme/motion.js"),
7
+ require("../providers/ThemeProvider.js"), require("react/jsx-runtime"), require("../chunks/style-inject.es-CMuL-BfJ.js"),
7
8
  exports.useTheme =
8
9
  /**
9
10
  * Hook to manage Slice theming
@@ -9,16 +9,28 @@ const hiddenCoords = {
9
9
  };
10
10
 
11
11
  exports.useToolTip = function(toolTip, tipElement) {
12
- const [coords, setCoords] = React.useState(hiddenCoords);
12
+ const [coords, setCoords] = React.useState(hiddenCoords), adjustX = React.useCallback(x => {
13
+ if (x < 10) return 10;
14
+ const maxWidth = globalThis.innerWidth - 10;
15
+ if (x > maxWidth) {
16
+ return x - (x - maxWidth);
17
+ }
18
+ return x;
19
+ }, []), adjustY = React.useCallback((y, parentY) => {
20
+ var _a, _b;
21
+ if (y < 10) return 10;
22
+ const tipHeight = null !== (_b = null === (_a = tipElement.current) || void 0 === _a ? void 0 : _a.offsetHeight) && void 0 !== _b ? _b : 0;
23
+ return y + tipHeight > globalThis.innerHeight - 10 ? parentY - tipHeight - 10 : y;
24
+ }, [ tipElement ]);
13
25
  return React.useLayoutEffect(() => {
14
26
  var _a;
15
27
  if (!toolTip || !(null == tipElement ? void 0 : tipElement.current)) return void setCoords(hiddenCoords);
16
28
  const target = null === (_a = toolTip.ref) || void 0 === _a ? void 0 : _a.current;
17
29
  if (!target) return void setCoords(hiddenCoords);
18
- const parentRect = target.getBoundingClientRect(), tipRect = tipElement.current.getBoundingClientRect(), {x: parentX, y: parentY, width: parentWidth, height: parentHeight} = parentRect, {width: tipWidth} = tipRect;
30
+ const parentRect = target.getBoundingClientRect(), tipRect = tipElement.current.getBoundingClientRect(), {x: parentX, y: parentY, width: parentWidth, height: parentHeight} = parentRect, {width: tipWidth} = tipRect, y = parentY + parentHeight + 10;
19
31
  setCoords({
20
- x: parentX + parentWidth / 2 - tipWidth / 2,
21
- y: parentY + parentHeight + 10
32
+ x: adjustX(parentX + parentWidth / 2 - tipWidth / 2),
33
+ y: adjustY(y, parentY)
22
34
  });
23
- }, [ toolTip, tipElement ]), coords;
35
+ }, [ toolTip, tipElement, adjustX, adjustY ]), coords;
24
36
  };
package/dist/cjs/hooks.js CHANGED
@@ -4,6 +4,7 @@ var hooks_useTheme = require("./hooks/useTheme.js"), hooks_useObserveTheme = req
4
4
 
5
5
  require("react"), require("./theme/themes.js"), require("./theme/colors.js"), require("./theme/corners.js"),
6
6
  require("./theme/elevations.js"), require("./theme/motion.js"), require("./theme/type.js"),
7
+ require("./providers/ThemeProvider.js"), require("react/jsx-runtime"), require("./chunks/style-inject.es-CMuL-BfJ.js"),
7
8
  require("./chunks/tslib.es6-C8dZW5nY.js"), require("./chunks/MdStreamBuffer-DObxjnAm.js"),
8
9
  exports.useTheme = hooks_useTheme.useTheme, exports.useObserveTheme = hooks_useObserveTheme.useObserveTheme,
9
10
  exports.useDoubleClick = hooks_useDoubleClick.useDoubleClick, exports.useToolTip = hooks_useToolTip.useToolTip,
@@ -16,42 +16,61 @@ styleInject_es.styleInject("/* Keep these values in sync with src/hooks/useWindo
16
16
 
17
17
  styleInject_es.styleInject("[data-slice-theme-scope] {\n\t--motion-magnet: cubic-bezier(0.352, 0.003, 0.993, -0.052);\n\t--motion-water: cubic-bezier(0.36, 0, 0.64, 1);\n\t--motion-spring: linear(\n\t\t0,\n\t\t0.002 0.2%,\n\t\t0.011 0.5%,\n\t\t0.041 1%,\n\t\t0.1 1.6%,\n\t\t0.18 2.2%,\n\t\t0.365 3.3%,\n\t\t0.925 6.2%,\n\t\t1.058 7%,\n\t\t1.17 7.8%,\n\t\t1.26 8.6%,\n\t\t1.318 9.3%,\n\t\t1.342 9.7%,\n\t\t1.36 10.1%,\n\t\t1.372 10.5%,\n\t\t1.378 10.9%,\n\t\t1.378 11.4%,\n\t\t1.374 11.7%,\n\t\t1.368 12%,\n\t\t1.348 12.6%,\n\t\t1.314 13.3%,\n\t\t1.237 14.5%,\n\t\t1.026 17.4%,\n\t\t0.975 18.2%,\n\t\t0.933 19%,\n\t\t0.9 19.8%,\n\t\t0.878 20.5%,\n\t\t0.864 21.2%,\n\t\t0.859 21.6%,\n\t\t0.857 22%,\n\t\t0.856 22.5%,\n\t\t0.86 23.1%,\n\t\t0.867 23.7%,\n\t\t0.88 24.4%,\n\t\t0.909 25.6%,\n\t\t0.991 28.6%,\n\t\t1.01 29.4%,\n\t\t1.026 30.2%,\n\t\t1.037 30.9%,\n\t\t1.046 31.6%,\n\t\t1.051 32.3%,\n\t\t1.054 33.1%,\n\t\t1.053 34.2%,\n\t\t1.046 35.5%,\n\t\t1.035 36.7%,\n\t\t1.003 39.8%,\n\t\t0.99 41.4%,\n\t\t0.983 42.8%,\n\t\t0.979 44.2%,\n\t\t0.982 46.3%,\n\t\t1.002 52%,\n\t\t1.006 53.6%,\n\t\t1.008 55.2%,\n\t\t1.007 57.5%,\n\t\t0.999 63.1%,\n\t\t0.997 66.3%,\n\t\t1.001 77.2%,\n\t\t1 88.2%,\n\t\t1\n\t);\n\t--motion-magnet-duration: 0.5s;\n\t--motion-water-duration: 0.25s;\n\t--motion-spring-duration: 1s;\n}\n");
18
18
 
19
- styleInject_es.styleInject('.slice-global-body {\n\t/* apply themed background color */\n\tbackground-color: var(--core-surface-primary);\n\t/* remove gaps */\n\tmargin: 0;\n\tpadding: 0;\n\t/* base medium body font style with pref. for theme google font */\n\tfont-family: "Funnel Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",\n\t\tRoboto, Helvetica, Arial, sans-serif;\n\tfont-weight: 360;\n\tfont-size: 15px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n\t-webkit-font-smoothing: antialiased;\n}\n'),
19
+ styleInject_es.styleInject('.slice-global-body {\n\t/* apply themed background color */\n\tbackground-color: var(--core-surface-primary);\n\t/* remove gaps */\n\tmargin: 0;\n\tpadding: 0;\n\t/* base medium body font style with pref. for theme google font */\n\tfont-family: "Funnel Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",\n\t\tRoboto, Helvetica, Arial, sans-serif;\n\tfont-weight: 360;\n\tfont-size: 15px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n\t-webkit-font-smoothing: antialiased;\n}\n');
20
+
21
+ const ThemeContext = React.createContext({
22
+ initialTheme: theme_themes.lightTheme.name
23
+ });
24
+
25
+ function setDocumentTheme(name) {
26
+ "undefined" != typeof document && (document.documentElement.dataset.sliceTheme = name,
27
+ document.cookie = `slice-theme=${encodeURIComponent(name)}; path=/; max-age=31536000; samesite=lax`);
28
+ }
29
+
20
30
  exports.ThemeProvider = function(props) {
21
- const {children: children, theme: theme, system: system, global: global, initialTheme: initialTheme} = props;
31
+ const {children: children, theme: theme, system: system, global: global, initialTheme: initialTheme} = props, contextValue = React.useMemo(() => ({
32
+ initialTheme: null != initialTheme ? initialTheme : theme_themes.lightTheme.name
33
+ }), [ initialTheme ]);
22
34
  return React.useEffect(() => {
23
35
  if (theme || initialTheme) {
24
36
  const newTheme = function(theme) {
25
37
  if (theme) return theme.includes("dark") ? theme_themes.darkTheme : theme_themes.lightTheme;
26
38
  }(null != theme ? theme : initialTheme);
27
39
  if (!newTheme) return;
28
- name = newTheme.name, "undefined" != typeof document && (document.documentElement.dataset.sliceTheme = name);
40
+ setDocumentTheme(newTheme.name);
29
41
  }
30
- var name;
31
42
  }, [ theme, initialTheme ]), React.useEffect(() => {
32
43
  if (!system) return;
33
44
  const darkModeMediaQuery = "undefined" == typeof globalThis || "function" != typeof globalThis.matchMedia ? null : globalThis.matchMedia("(prefers-color-scheme: dark)");
34
45
  if (!darkModeMediaQuery) return;
35
46
  const handleSystemThemeChange = e => {
36
47
  if (system) {
37
- const autoTheme = e.matches ? theme_themes.darkTheme : theme_themes.lightTheme;
38
- document.documentElement.dataset.sliceTheme = autoTheme.name;
48
+ setDocumentTheme((e.matches ? theme_themes.darkTheme : theme_themes.lightTheme).name);
39
49
  }
40
50
  };
41
51
  if (system) {
42
- const autoTheme = darkModeMediaQuery.matches ? theme_themes.darkTheme : theme_themes.lightTheme;
43
- document.documentElement.dataset.sliceTheme = autoTheme.name;
52
+ setDocumentTheme((darkModeMediaQuery.matches ? theme_themes.darkTheme : theme_themes.lightTheme).name);
44
53
  }
45
54
  return darkModeMediaQuery.addEventListener("change", handleSystemThemeChange), () => {
46
55
  darkModeMediaQuery.removeEventListener("change", handleSystemThemeChange);
47
56
  };
48
57
  }, [ system ]), React.useEffect(() => {
49
- if (global) return document.body.classList.add("slice-global-body"), () => {
58
+ if (global) {
59
+ if ("undefined" != typeof document) return document.body.classList.add("slice-global-body"),
60
+ () => {
61
+ document.body.classList.remove("slice-global-body");
62
+ };
63
+ } else {
64
+ if ("undefined" == typeof document) return;
50
65
  document.body.classList.remove("slice-global-body");
51
- };
52
- document.body.classList.remove("slice-global-body");
53
- }, [ global ]), jsxRuntime.jsx("div", {
54
- "data-slice-theme-scope": !0,
55
- children: children
66
+ }
67
+ }, [ global ]), jsxRuntime.jsx(ThemeContext.Provider, {
68
+ value: contextValue,
69
+ children: jsxRuntime.jsx("div", {
70
+ "data-slice-theme-scope": !0,
71
+ children: children
72
+ })
56
73
  });
74
+ }, exports.useThemeContext = function() {
75
+ return React.useContext(ThemeContext);
57
76
  };
@@ -22,10 +22,12 @@ import "../../theme/type.mjs";
22
22
 
23
23
  import "../../hooks/useObserveTheme.mjs";
24
24
 
25
+ import "../../providers/ThemeProvider.mjs";
26
+
27
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
28
+
25
29
  import "../../chunks/colors-FQ0uNQcW.mjs";
26
30
 
27
31
  import "../../chunks/audioVisualizer-ZgT77nUw.mjs";
28
32
 
29
33
  import "../../hooks/useWindow.mjs";
30
-
31
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
@@ -32,6 +32,8 @@ import "../../theme/type.mjs";
32
32
 
33
33
  import "../../hooks/useObserveTheme.mjs";
34
34
 
35
+ import "../../providers/ThemeProvider.mjs";
36
+
35
37
  import "../../chunks/misc-BeEWwOaJ.mjs";
36
38
 
37
39
  import "../../hooks/useWindow.mjs";
@@ -26,6 +26,8 @@ import "../../theme/type.mjs";
26
26
 
27
27
  import "../../hooks/useObserveTheme.mjs";
28
28
 
29
- import "../../hooks/useWindow.mjs";
29
+ import "../../providers/ThemeProvider.mjs";
30
30
 
31
31
  import "../../chunks/style-inject.es-D0BjEaN8.mjs";
32
+
33
+ import "../../hooks/useWindow.mjs";
@@ -22,6 +22,10 @@ import "../../theme/type.mjs";
22
22
 
23
23
  import "../../hooks/useObserveTheme.mjs";
24
24
 
25
+ import "../../providers/ThemeProvider.mjs";
26
+
27
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
28
+
25
29
  import "../../chunks/misc-BeEWwOaJ.mjs";
26
30
 
27
31
  import "../../chunks/colors-FQ0uNQcW.mjs";
@@ -30,6 +34,4 @@ import "../../hooks/useWindow.mjs";
30
34
 
31
35
  import "../../chunks/Avatar-m5-zleDk.mjs";
32
36
 
33
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
34
-
35
37
  import "../../chunks/Icon-DI32kOA1.mjs";
@@ -28,6 +28,8 @@ import "../../theme/type.mjs";
28
28
 
29
29
  import "../../hooks/useObserveTheme.mjs";
30
30
 
31
- import "../../hooks/useWindow.mjs";
31
+ import "../../providers/ThemeProvider.mjs";
32
32
 
33
33
  import "../../chunks/style-inject.es-D0BjEaN8.mjs";
34
+
35
+ import "../../hooks/useWindow.mjs";
@@ -26,8 +26,10 @@ import "../../theme/type.mjs";
26
26
 
27
27
  import "../../hooks/useObserveTheme.mjs";
28
28
 
29
- import "../../hooks/useWindow.mjs";
29
+ import "../../providers/ThemeProvider.mjs";
30
30
 
31
31
  import "../../chunks/style-inject.es-D0BjEaN8.mjs";
32
32
 
33
+ import "../../hooks/useWindow.mjs";
34
+
33
35
  import "../../chunks/sharedTypes-tn9-uJvb.mjs";
@@ -22,10 +22,12 @@ import "../../theme/type.mjs";
22
22
 
23
23
  import "../../hooks/useObserveTheme.mjs";
24
24
 
25
+ import "../../providers/ThemeProvider.mjs";
26
+
27
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
28
+
25
29
  import "../../chunks/misc-BeEWwOaJ.mjs";
26
30
 
27
31
  import "../../hooks/useWindow.mjs";
28
32
 
29
33
  import "../../hooks/useObserveResize.mjs";
30
-
31
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
@@ -26,6 +26,8 @@ import "../../theme/type.mjs";
26
26
 
27
27
  import "../../hooks/useObserveTheme.mjs";
28
28
 
29
- import "../../hooks/useWindow.mjs";
29
+ import "../../providers/ThemeProvider.mjs";
30
30
 
31
31
  import "../../chunks/style-inject.es-D0BjEaN8.mjs";
32
+
33
+ import "../../hooks/useWindow.mjs";
@@ -24,8 +24,10 @@ import "../../theme/type.mjs";
24
24
 
25
25
  import "../../hooks/useObserveTheme.mjs";
26
26
 
27
+ import "../../providers/ThemeProvider.mjs";
28
+
29
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
30
+
27
31
  import "../../chunks/colors-FQ0uNQcW.mjs";
28
32
 
29
33
  import "../../hooks/useWindow.mjs";
30
-
31
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
@@ -22,6 +22,10 @@ import "../../theme/type.mjs";
22
22
 
23
23
  import "../../hooks/useObserveTheme.mjs";
24
24
 
25
+ import "../../providers/ThemeProvider.mjs";
26
+
27
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
28
+
25
29
  import "../../chunks/misc-BeEWwOaJ.mjs";
26
30
 
27
31
  import "../../hooks/useWindow.mjs";
@@ -26,12 +26,14 @@ import "../../theme/type.mjs";
26
26
 
27
27
  import "../../hooks/useObserveTheme.mjs";
28
28
 
29
+ import "../../providers/ThemeProvider.mjs";
30
+
31
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
32
+
29
33
  import "../../hooks/useWindow.mjs";
30
34
 
31
35
  import "../../chunks/Icon-DI32kOA1.mjs";
32
36
 
33
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
34
-
35
37
  import "../../chunks/ProgressIndicator-CB_oazMD.mjs";
36
38
 
37
39
  import "motion/react";
@@ -24,12 +24,14 @@ import "../../theme/type.mjs";
24
24
 
25
25
  import "../../hooks/useObserveTheme.mjs";
26
26
 
27
+ import "../../providers/ThemeProvider.mjs";
28
+
29
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
30
+
27
31
  import "../../hooks/useWindow.mjs";
28
32
 
29
33
  import "../../chunks/Badge-CC0zSLMf.mjs";
30
34
 
31
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
32
-
33
35
  import "../../chunks/Icon-DI32kOA1.mjs";
34
36
 
35
37
  import "../../chunks/misc-BeEWwOaJ.mjs";
@@ -24,8 +24,10 @@ import "../../theme/type.mjs";
24
24
 
25
25
  import "../../hooks/useObserveTheme.mjs";
26
26
 
27
+ import "../../providers/ThemeProvider.mjs";
28
+
29
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
30
+
27
31
  import "../../chunks/misc-BeEWwOaJ.mjs";
28
32
 
29
33
  import "../../hooks/useWindow.mjs";
30
-
31
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
@@ -32,6 +32,8 @@ import "../../theme/type.mjs";
32
32
 
33
33
  import "../../hooks/useObserveTheme.mjs";
34
34
 
35
+ import "../../providers/ThemeProvider.mjs";
36
+
35
37
  import "../../chunks/misc-BeEWwOaJ.mjs";
36
38
 
37
39
  import "../../hooks/useWindow.mjs";
@@ -20,6 +20,10 @@ import "../../theme/type.mjs";
20
20
 
21
21
  import "../../hooks/useObserveTheme.mjs";
22
22
 
23
+ import "../../providers/ThemeProvider.mjs";
24
+
25
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
26
+
23
27
  import "../../chunks/tslib.es6-C-olHjXV.mjs";
24
28
 
25
29
  import "../../hooks/useWindow.mjs";
@@ -28,6 +32,4 @@ import "../../chunks/Icon-DI32kOA1.mjs";
28
32
 
29
33
  import "../../chunks/misc-BeEWwOaJ.mjs";
30
34
 
31
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
32
-
33
35
  import "motion/react";
@@ -20,6 +20,10 @@ import "../../theme/type.mjs";
20
20
 
21
21
  import "../../hooks/useObserveTheme.mjs";
22
22
 
23
+ import "../../providers/ThemeProvider.mjs";
24
+
25
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
26
+
23
27
  import "../../chunks/tslib.es6-C-olHjXV.mjs";
24
28
 
25
29
  import "../../hooks/useWindow.mjs";
@@ -30,8 +34,6 @@ import "motion/react";
30
34
 
31
35
  import "../../chunks/Badge-CC0zSLMf.mjs";
32
36
 
33
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
34
-
35
37
  import "../../chunks/Dot-DZE134mJ.mjs";
36
38
 
37
39
  import "../../chunks/Icon-DI32kOA1.mjs";
@@ -26,6 +26,8 @@ import "../../theme/type.mjs";
26
26
 
27
27
  import "../../hooks/useObserveTheme.mjs";
28
28
 
29
- import "../../hooks/useWindow.mjs";
29
+ import "../../providers/ThemeProvider.mjs";
30
30
 
31
31
  import "../../chunks/style-inject.es-D0BjEaN8.mjs";
32
+
33
+ import "../../hooks/useWindow.mjs";
@@ -28,6 +28,8 @@ import "../../theme/type.mjs";
28
28
 
29
29
  import "../../hooks/useObserveTheme.mjs";
30
30
 
31
- import "../../hooks/useWindow.mjs";
31
+ import "../../providers/ThemeProvider.mjs";
32
32
 
33
33
  import "../../chunks/style-inject.es-D0BjEaN8.mjs";
34
+
35
+ import "../../hooks/useWindow.mjs";
@@ -22,12 +22,14 @@ import "../../theme/type.mjs";
22
22
 
23
23
  import "../../hooks/useObserveTheme.mjs";
24
24
 
25
+ import "../../providers/ThemeProvider.mjs";
26
+
27
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
28
+
25
29
  import "../../hooks/useWindow.mjs";
26
30
 
27
31
  import "../../chunks/Badge-CC0zSLMf.mjs";
28
32
 
29
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
30
-
31
33
  import "../../chunks/Icon-DI32kOA1.mjs";
32
34
 
33
35
  import "../../chunks/misc-BeEWwOaJ.mjs";
@@ -34,6 +34,8 @@ import "../../theme/type.mjs";
34
34
 
35
35
  import "../../hooks/useObserveTheme.mjs";
36
36
 
37
+ import "../../providers/ThemeProvider.mjs";
38
+
37
39
  import "../../chunks/misc-BeEWwOaJ.mjs";
38
40
 
39
41
  import "../../hooks/useWindow.mjs";
@@ -24,6 +24,10 @@ import "../../theme/type.mjs";
24
24
 
25
25
  import "../../hooks/useObserveTheme.mjs";
26
26
 
27
+ import "../../providers/ThemeProvider.mjs";
28
+
29
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
30
+
27
31
  import "../../chunks/misc-BeEWwOaJ.mjs";
28
32
 
29
33
  import "../../hooks/useWindow.mjs";
@@ -32,8 +36,6 @@ import "../../chunks/Button-YER9dCLE.mjs";
32
36
 
33
37
  import "../../chunks/Badge-CC0zSLMf.mjs";
34
38
 
35
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
36
-
37
39
  import "../../chunks/Dot-DZE134mJ.mjs";
38
40
 
39
41
  import "../../chunks/Icon-DI32kOA1.mjs";
@@ -24,10 +24,12 @@ import "../../theme/type.mjs";
24
24
 
25
25
  import "../../hooks/useObserveTheme.mjs";
26
26
 
27
+ import "../../providers/ThemeProvider.mjs";
28
+
29
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
30
+
27
31
  import "../../chunks/misc-BeEWwOaJ.mjs";
28
32
 
29
33
  import "../../hooks/useWindow.mjs";
30
34
 
31
35
  import "../../chunks/Icon-DI32kOA1.mjs";
32
-
33
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
@@ -28,12 +28,14 @@ import "../../theme/type.mjs";
28
28
 
29
29
  import "../../hooks/useObserveTheme.mjs";
30
30
 
31
+ import "../../providers/ThemeProvider.mjs";
32
+
33
+ import "../../chunks/style-inject.es-D0BjEaN8.mjs";
34
+
31
35
  import "../../hooks/useWindow.mjs";
32
36
 
33
37
  import "../../chunks/Icon-DI32kOA1.mjs";
34
38
 
35
- import "../../chunks/style-inject.es-D0BjEaN8.mjs";
36
-
37
39
  import "../../chunks/ProgressIndicator-CB_oazMD.mjs";
38
40
 
39
41
  import "motion/react";
@@ -1,10 +1,16 @@
1
1
  'use client';
2
2
  import { useState, useEffect } from "react";
3
3
 
4
+ import { useThemeContext } from "../providers/ThemeProvider.mjs";
5
+
4
6
  import { lightTheme, darkTheme } from "../theme/themes.mjs";
5
7
 
6
8
  import "../theme/colors.mjs";
7
9
 
10
+ import "react/jsx-runtime";
11
+
12
+ import "../chunks/style-inject.es-D0BjEaN8.mjs";
13
+
8
14
  import "../theme/corners.mjs";
9
15
 
10
16
  import "../theme/elevations.mjs";
@@ -18,20 +24,20 @@ function resolveTheme(themeName) {
18
24
  }
19
25
 
20
26
  function useObserveTheme() {
21
- const [theme, setTheme] = useState(() => "undefined" == typeof document ? lightTheme : resolveTheme(document.documentElement.dataset.sliceTheme));
27
+ const {initialTheme: initialTheme} = useThemeContext(), [theme, setTheme] = useState(() => "undefined" == typeof document ? resolveTheme(initialTheme) : resolveTheme(document.documentElement.dataset.sliceTheme || initialTheme));
22
28
  return useEffect(() => {
23
- setTheme(resolveTheme(document.documentElement.dataset.sliceTheme));
29
+ setTheme(resolveTheme(document.documentElement.dataset.sliceTheme || initialTheme));
24
30
  const observer = new MutationObserver(mutations => {
25
31
  for (const mutation of mutations) if ("attributes" === mutation.type && "data-slice-theme" === mutation.attributeName) {
26
32
  const newTheme = document.documentElement.dataset.sliceTheme;
27
- setTheme(resolveTheme(newTheme));
33
+ setTheme(resolveTheme(newTheme || initialTheme));
28
34
  }
29
35
  });
30
36
  return observer.observe(document.documentElement, {
31
37
  attributes: !0,
32
38
  attributeFilter: [ "data-slice-theme" ]
33
39
  }), () => observer.disconnect();
34
- }, []), theme;
40
+ }, [ initialTheme ]), theme;
35
41
  }
36
42
 
37
43
  export { useObserveTheme };
@@ -15,6 +15,12 @@ import "../theme/elevations.mjs";
15
15
 
16
16
  import "../theme/motion.mjs";
17
17
 
18
+ import "../providers/ThemeProvider.mjs";
19
+
20
+ import "react/jsx-runtime";
21
+
22
+ import "../chunks/style-inject.es-D0BjEaN8.mjs";
23
+
18
24
  /**
19
25
  * Hook to manage Slice theming
20
26
  */ function useTheme() {
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { useState, useLayoutEffect } from "react";
2
+ import { useState, useCallback, useLayoutEffect } from "react";
3
3
 
4
4
  const hiddenCoords = {
5
5
  x: 0,
@@ -7,18 +7,30 @@ const hiddenCoords = {
7
7
  };
8
8
 
9
9
  function useToolTip(toolTip, tipElement) {
10
- const [coords, setCoords] = useState(hiddenCoords);
10
+ const [coords, setCoords] = useState(hiddenCoords), adjustX = useCallback(x => {
11
+ if (x < 10) return 10;
12
+ const maxWidth = globalThis.innerWidth - 10;
13
+ if (x > maxWidth) {
14
+ return x - (x - maxWidth);
15
+ }
16
+ return x;
17
+ }, []), adjustY = useCallback((y, parentY) => {
18
+ var _a, _b;
19
+ if (y < 10) return 10;
20
+ const tipHeight = null !== (_b = null === (_a = tipElement.current) || void 0 === _a ? void 0 : _a.offsetHeight) && void 0 !== _b ? _b : 0;
21
+ return y + tipHeight > globalThis.innerHeight - 10 ? parentY - tipHeight - 10 : y;
22
+ }, [ tipElement ]);
11
23
  return useLayoutEffect(() => {
12
24
  var _a;
13
25
  if (!toolTip || !(null == tipElement ? void 0 : tipElement.current)) return void setCoords(hiddenCoords);
14
26
  const target = null === (_a = toolTip.ref) || void 0 === _a ? void 0 : _a.current;
15
27
  if (!target) return void setCoords(hiddenCoords);
16
- const parentRect = target.getBoundingClientRect(), tipRect = tipElement.current.getBoundingClientRect(), {x: parentX, y: parentY, width: parentWidth, height: parentHeight} = parentRect, {width: tipWidth} = tipRect;
28
+ const parentRect = target.getBoundingClientRect(), tipRect = tipElement.current.getBoundingClientRect(), {x: parentX, y: parentY, width: parentWidth, height: parentHeight} = parentRect, {width: tipWidth} = tipRect, y = parentY + parentHeight + 10;
17
29
  setCoords({
18
- x: parentX + parentWidth / 2 - tipWidth / 2,
19
- y: parentY + parentHeight + 10
30
+ x: adjustX(parentX + parentWidth / 2 - tipWidth / 2),
31
+ y: adjustY(y, parentY)
20
32
  });
21
- }, [ toolTip, tipElement ]), coords;
33
+ }, [ toolTip, tipElement, adjustX, adjustY ]), coords;
22
34
  }
23
35
 
24
36
  export { useToolTip };
@@ -36,6 +36,12 @@ import "./theme/motion.mjs";
36
36
 
37
37
  import "./theme/type.mjs";
38
38
 
39
+ import "./providers/ThemeProvider.mjs";
40
+
41
+ import "react/jsx-runtime";
42
+
43
+ import "./chunks/style-inject.es-D0BjEaN8.mjs";
44
+
39
45
  import "./chunks/tslib.es6-C-olHjXV.mjs";
40
46
 
41
47
  import "./chunks/MdStreamBuffer-DNXE4XbN.mjs";
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
  import { jsx } from "react/jsx-runtime";
3
3
 
4
- import { useEffect } from "react";
4
+ import { createContext, useContext, useMemo, useEffect } from "react";
5
5
 
6
6
  import { s as styleInject } from "../chunks/style-inject.es-D0BjEaN8.mjs";
7
7
 
8
- import { darkTheme, lightTheme } from "../theme/themes.mjs";
8
+ import { lightTheme, darkTheme } from "../theme/themes.mjs";
9
9
 
10
10
  import "../theme/colors.mjs";
11
11
 
@@ -27,45 +27,65 @@ styleInject("/* Keep these values in sync with src/hooks/useWindow/useWindow.ts
27
27
 
28
28
  styleInject("[data-slice-theme-scope] {\n\t--motion-magnet: cubic-bezier(0.352, 0.003, 0.993, -0.052);\n\t--motion-water: cubic-bezier(0.36, 0, 0.64, 1);\n\t--motion-spring: linear(\n\t\t0,\n\t\t0.002 0.2%,\n\t\t0.011 0.5%,\n\t\t0.041 1%,\n\t\t0.1 1.6%,\n\t\t0.18 2.2%,\n\t\t0.365 3.3%,\n\t\t0.925 6.2%,\n\t\t1.058 7%,\n\t\t1.17 7.8%,\n\t\t1.26 8.6%,\n\t\t1.318 9.3%,\n\t\t1.342 9.7%,\n\t\t1.36 10.1%,\n\t\t1.372 10.5%,\n\t\t1.378 10.9%,\n\t\t1.378 11.4%,\n\t\t1.374 11.7%,\n\t\t1.368 12%,\n\t\t1.348 12.6%,\n\t\t1.314 13.3%,\n\t\t1.237 14.5%,\n\t\t1.026 17.4%,\n\t\t0.975 18.2%,\n\t\t0.933 19%,\n\t\t0.9 19.8%,\n\t\t0.878 20.5%,\n\t\t0.864 21.2%,\n\t\t0.859 21.6%,\n\t\t0.857 22%,\n\t\t0.856 22.5%,\n\t\t0.86 23.1%,\n\t\t0.867 23.7%,\n\t\t0.88 24.4%,\n\t\t0.909 25.6%,\n\t\t0.991 28.6%,\n\t\t1.01 29.4%,\n\t\t1.026 30.2%,\n\t\t1.037 30.9%,\n\t\t1.046 31.6%,\n\t\t1.051 32.3%,\n\t\t1.054 33.1%,\n\t\t1.053 34.2%,\n\t\t1.046 35.5%,\n\t\t1.035 36.7%,\n\t\t1.003 39.8%,\n\t\t0.99 41.4%,\n\t\t0.983 42.8%,\n\t\t0.979 44.2%,\n\t\t0.982 46.3%,\n\t\t1.002 52%,\n\t\t1.006 53.6%,\n\t\t1.008 55.2%,\n\t\t1.007 57.5%,\n\t\t0.999 63.1%,\n\t\t0.997 66.3%,\n\t\t1.001 77.2%,\n\t\t1 88.2%,\n\t\t1\n\t);\n\t--motion-magnet-duration: 0.5s;\n\t--motion-water-duration: 0.25s;\n\t--motion-spring-duration: 1s;\n}\n");
29
29
 
30
+ styleInject('.slice-global-body {\n\t/* apply themed background color */\n\tbackground-color: var(--core-surface-primary);\n\t/* remove gaps */\n\tmargin: 0;\n\tpadding: 0;\n\t/* base medium body font style with pref. for theme google font */\n\tfont-family: "Funnel Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",\n\t\tRoboto, Helvetica, Arial, sans-serif;\n\tfont-weight: 360;\n\tfont-size: 15px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n\t-webkit-font-smoothing: antialiased;\n}\n');
31
+
32
+ const ThemeContext = createContext({
33
+ initialTheme: lightTheme.name
34
+ });
35
+
36
+ function useThemeContext() {
37
+ return useContext(ThemeContext);
38
+ }
39
+
40
+ function setDocumentTheme(name) {
41
+ "undefined" != typeof document && (document.documentElement.dataset.sliceTheme = name,
42
+ document.cookie = `slice-theme=${encodeURIComponent(name)}; path=/; max-age=31536000; samesite=lax`);
43
+ }
44
+
30
45
  function ThemeProvider(props) {
31
- const {children: children, theme: theme, system: system, global: global, initialTheme: initialTheme} = props;
46
+ const {children: children, theme: theme, system: system, global: global, initialTheme: initialTheme} = props, contextValue = useMemo(() => ({
47
+ initialTheme: null != initialTheme ? initialTheme : lightTheme.name
48
+ }), [ initialTheme ]);
32
49
  return useEffect(() => {
33
50
  if (theme || initialTheme) {
34
51
  const newTheme = function(theme) {
35
52
  if (theme) return theme.includes("dark") ? darkTheme : lightTheme;
36
53
  }(null != theme ? theme : initialTheme);
37
54
  if (!newTheme) return;
38
- name = newTheme.name, "undefined" != typeof document && (document.documentElement.dataset.sliceTheme = name);
55
+ setDocumentTheme(newTheme.name);
39
56
  }
40
- var name;
41
57
  }, [ theme, initialTheme ]), useEffect(() => {
42
58
  if (!system) return;
43
59
  const darkModeMediaQuery = "undefined" == typeof globalThis || "function" != typeof globalThis.matchMedia ? null : globalThis.matchMedia("(prefers-color-scheme: dark)");
44
60
  if (!darkModeMediaQuery) return;
45
61
  const handleSystemThemeChange = e => {
46
62
  if (system) {
47
- const autoTheme = e.matches ? darkTheme : lightTheme;
48
- document.documentElement.dataset.sliceTheme = autoTheme.name;
63
+ setDocumentTheme((e.matches ? darkTheme : lightTheme).name);
49
64
  }
50
65
  };
51
66
  if (system) {
52
- const autoTheme = darkModeMediaQuery.matches ? darkTheme : lightTheme;
53
- document.documentElement.dataset.sliceTheme = autoTheme.name;
67
+ setDocumentTheme((darkModeMediaQuery.matches ? darkTheme : lightTheme).name);
54
68
  }
55
69
  return darkModeMediaQuery.addEventListener("change", handleSystemThemeChange), () => {
56
70
  darkModeMediaQuery.removeEventListener("change", handleSystemThemeChange);
57
71
  };
58
72
  }, [ system ]), useEffect(() => {
59
- if (global) return document.body.classList.add("slice-global-body"), () => {
73
+ if (global) {
74
+ if ("undefined" != typeof document) return document.body.classList.add("slice-global-body"),
75
+ () => {
76
+ document.body.classList.remove("slice-global-body");
77
+ };
78
+ } else {
79
+ if ("undefined" == typeof document) return;
60
80
  document.body.classList.remove("slice-global-body");
61
- };
62
- document.body.classList.remove("slice-global-body");
63
- }, [ global ]), jsx("div", {
64
- "data-slice-theme-scope": !0,
65
- children: children
81
+ }
82
+ }, [ global ]), jsx(ThemeContext.Provider, {
83
+ value: contextValue,
84
+ children: jsx("div", {
85
+ "data-slice-theme-scope": !0,
86
+ children: children
87
+ })
66
88
  });
67
89
  }
68
90
 
69
- styleInject('.slice-global-body {\n\t/* apply themed background color */\n\tbackground-color: var(--core-surface-primary);\n\t/* remove gaps */\n\tmargin: 0;\n\tpadding: 0;\n\t/* base medium body font style with pref. for theme google font */\n\tfont-family: "Funnel Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",\n\t\tRoboto, Helvetica, Arial, sans-serif;\n\tfont-weight: 360;\n\tfont-size: 15px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n\t-webkit-font-smoothing: antialiased;\n}\n');
70
-
71
- export { ThemeProvider };
91
+ export { ThemeProvider, useThemeContext };
@@ -34,7 +34,7 @@ export declare function useWindow(breakpoints?: BreakPoints, top?: boolean): {
34
34
  isElectron: boolean;
35
35
  isAppleDevice: boolean;
36
36
  formFactor: FormFactor;
37
- dpr: 2 | 1 | 3;
37
+ dpr: 1 | 2 | 3;
38
38
  geolocationSupported: boolean;
39
39
  location: WindowGeolocation | null;
40
40
  locationError: Error | null;
@@ -12,5 +12,9 @@ interface ThemeProviderProps {
12
12
  system?: boolean;
13
13
  global?: boolean;
14
14
  }
15
+ type ThemeContextValue = {
16
+ initialTheme: string;
17
+ };
18
+ export declare function useThemeContext(): ThemeContextValue;
15
19
  export declare function ThemeProvider(props: Readonly<ThemeProviderProps>): import("react/jsx-runtime").JSX.Element;
16
20
  export {};
@@ -7,7 +7,7 @@ export declare const useViewportHeight: () => number;
7
7
  export declare const useIsAppleDevice: () => boolean;
8
8
  export declare const useIsTouchDevice: () => boolean;
9
9
  export declare const useIsElectron: () => boolean;
10
- export declare const useDpr: () => 2 | 1 | 3;
10
+ export declare const useDpr: () => 1 | 2 | 3;
11
11
  export declare const useLocation: () => WindowGeolocation | null;
12
12
  export declare const useLocationError: () => Error | null;
13
13
  export declare const useGettingLocation: () => boolean;
@@ -19,7 +19,7 @@ export declare const viewportHeight: () => number;
19
19
  export declare const isAppleDevice: () => boolean;
20
20
  export declare const isTouchDevice: () => boolean;
21
21
  export declare const isElectron: () => boolean;
22
- export declare const dpr: () => 2 | 1 | 3;
22
+ export declare const dpr: () => 1 | 2 | 3;
23
23
  export declare const location: () => WindowGeolocation | null;
24
24
  export declare const locationError: () => Error | null;
25
25
  export declare const gettingLocation: () => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apple-pie/slice",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.mjs",
6
6
  "exports": {