@planningcenter/topbar 11.0.2 → 11.0.3-rc.0

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.
@@ -345,7 +345,7 @@ const X = ({
345
345
  fill: fill
346
346
  })));
347
347
 
348
- var styles$b = {"announcement":"announcement-pI5tM","announcement--platform":"announcement--platform-EcUn2","announcement-icon":"announcement-icon-Ov39-","announcement-content":"announcement-content-q2ad6","dismiss":"dismiss-wUAoU"};
348
+ var styles$b = {"announcement":"announcement-pI5tM","announcement--platform":"announcement--platform-EcUn2","announcement--promo":"announcement--promo-FarUk","announcement-icon":"announcement-icon-Ov39-","announcement-content":"announcement-content-q2ad6","dismiss":"dismiss-wUAoU","dismiss--promo":"dismiss--promo-7zvO4"};
349
349
 
350
350
  function AnnouncementIcon() {
351
351
  return /*#__PURE__*/React__default.createElement("svg", {
@@ -413,11 +413,14 @@ let StyledAnnouncement$1 = class StyledAnnouncement extends React__default.Compo
413
413
  render() {
414
414
  const {
415
415
  style,
416
+ variant,
416
417
  ...platformProps
417
418
  } = this.props;
419
+ const isPromo = variant === "promo";
418
420
  return /*#__PURE__*/React__default.createElement("div", {
419
- className: classnames(styles$b["announcement"], styles$b["announcement--platform"])
420
- }, /*#__PURE__*/React__default.createElement(AnnouncementIcon, null), /*#__PURE__*/React__default.createElement("div", {
421
+ className: classnames(styles$b["announcement"], styles$b[`announcement--${variant !== null && variant !== void 0 ? variant : "platform"}`]),
422
+ "data-announcement-variant": variant !== null && variant !== void 0 ? variant : "platform"
423
+ }, !isPromo && /*#__PURE__*/React__default.createElement(AnnouncementIcon, null), /*#__PURE__*/React__default.createElement("div", {
421
424
  className: styles$b["announcement-content"],
422
425
  style: style,
423
426
  ...platformProps
@@ -440,10 +443,12 @@ class PlatformAnnouncements extends React__default.Component {
440
443
  env: this.props.env,
441
444
  initialAnnouncements: this.props.data,
442
445
  configuredFetch: this.props.configuredFetch
443
- }, (data, actions) => Boolean(data.announcements.length > 0) ? (/*#__PURE__*/React__default.createElement("div", null, data.announcements.map(announcement => this.props.renderItem({
444
- actions,
445
- announcement
446
- })))) : null));
446
+ }, (data, actions) => {
447
+ return data.announcements.length > 0 ? (/*#__PURE__*/React__default.createElement("div", null, data.announcements.map(announcement => this.props.renderItem({
448
+ actions,
449
+ announcement
450
+ })))) : null;
451
+ }));
447
452
  }
448
453
  }
449
454
  PlatformAnnouncements.defaultProps = {
@@ -451,33 +456,39 @@ PlatformAnnouncements.defaultProps = {
451
456
  renderItem: ({
452
457
  announcement,
453
458
  actions
454
- }) => (/*#__PURE__*/React__default.createElement(DissmissibleAnnouncement, {
459
+ }) => (/*#__PURE__*/React__default.createElement(DismissibleAnnouncement, {
455
460
  key: announcement.id,
456
461
  html: announcement.data.html,
462
+ variant: announcement.data.style,
457
463
  onClick: () => actions.dismissAnnouncements(announcement.id)
458
464
  }))
459
465
  };
460
466
  function StyledDismissButton$1({
467
+ variant,
461
468
  ...props
462
469
  }) {
470
+ const isPromo = variant === "promo";
463
471
  return /*#__PURE__*/React__default.createElement("button", {
464
472
  type: "button",
465
- className: styles$b.dismiss,
473
+ className: classnames(styles$b.dismiss, isPromo && styles$b["dismiss--promo"]),
466
474
  ...props
467
475
  }, /*#__PURE__*/React__default.createElement(X, {
468
- fill: "white",
476
+ fill: isPromo ? "currentColor" : "white",
469
477
  style: {
470
478
  height: 20,
471
479
  width: 20
472
480
  }
473
481
  }));
474
482
  }
475
- function DissmissibleAnnouncement(props) {
476
- return /*#__PURE__*/React__default.createElement(StyledAnnouncement$1, null, /*#__PURE__*/React__default.createElement("span", {
483
+ function DismissibleAnnouncement(props) {
484
+ return /*#__PURE__*/React__default.createElement(StyledAnnouncement$1, {
485
+ variant: props.variant
486
+ }, /*#__PURE__*/React__default.createElement("span", {
477
487
  dangerouslySetInnerHTML: {
478
488
  __html: props.html
479
489
  }
480
490
  }), /*#__PURE__*/React__default.createElement(StyledDismissButton$1, {
491
+ variant: props.variant,
481
492
  onClick: props.onClick
482
493
  }));
483
494
  }
@@ -674,6 +685,39 @@ const useJoltEffect = (channelSubscription, eventName, callback) => {
674
685
  }, [channelSubscription, callback]);
675
686
  };
676
687
 
688
+ function useMediaQuery(query) {
689
+ const getMatches = query => {
690
+ // Prevents SSR issues
691
+ if (typeof window !== "undefined") {
692
+ return window.matchMedia(query).matches;
693
+ }
694
+ return false;
695
+ };
696
+ const [matches, setMatches] = useState(getMatches(query));
697
+ function handleChange() {
698
+ setMatches(getMatches(query));
699
+ }
700
+ useEffect(() => {
701
+ const matchMedia = window.matchMedia(query);
702
+ // Triggered at the first client-side load and if query changes
703
+ handleChange();
704
+ // Listen matchMedia
705
+ if (matchMedia.addListener) {
706
+ matchMedia.addListener(handleChange);
707
+ } else {
708
+ matchMedia.addEventListener("change", handleChange);
709
+ }
710
+ return () => {
711
+ if (matchMedia.removeListener) {
712
+ matchMedia.removeListener(handleChange);
713
+ } else {
714
+ matchMedia.removeEventListener("change", handleChange);
715
+ }
716
+ };
717
+ }, [query]);
718
+ return matches;
719
+ }
720
+
677
721
  const capitalize = s => s.charAt(0).toUpperCase() + s.slice(1);
678
722
  const RESOLVED_COLOR_MODE_ATTRIBUTE = "data-resolved-color-mode";
679
723
  function resolveColorMode(colorMode) {
@@ -762,39 +806,6 @@ const useNotificationsHasUnread = ({
762
806
  return storedValue;
763
807
  };
764
808
 
765
- function useMediaQuery(query) {
766
- const getMatches = query => {
767
- // Prevents SSR issues
768
- if (typeof window !== "undefined") {
769
- return window.matchMedia(query).matches;
770
- }
771
- return false;
772
- };
773
- const [matches, setMatches] = useState(getMatches(query));
774
- function handleChange() {
775
- setMatches(getMatches(query));
776
- }
777
- useEffect(() => {
778
- const matchMedia = window.matchMedia(query);
779
- // Triggered at the first client-side load and if query changes
780
- handleChange();
781
- // Listen matchMedia
782
- if (matchMedia.addListener) {
783
- matchMedia.addListener(handleChange);
784
- } else {
785
- matchMedia.addEventListener("change", handleChange);
786
- }
787
- return () => {
788
- if (matchMedia.removeListener) {
789
- matchMedia.removeListener(handleChange);
790
- } else {
791
- matchMedia.removeEventListener("change", handleChange);
792
- }
793
- };
794
- }, [query]);
795
- return matches;
796
- }
797
-
798
809
  function createStore(initialState) {
799
810
  let currentState = initialState;
800
811
  const listeners = new Set();
@@ -2457,7 +2468,7 @@ function AccountSettingsLink({
2457
2468
  width: 24,
2458
2469
  xmlns: "http://www.w3.org/2000/svg"
2459
2470
  }, /*#__PURE__*/React__default.createElement(Accounts$1, {
2460
- color: "var(--t-icon-color-secondary",
2471
+ color: "var(--t-icon-color-secondary)",
2461
2472
  key: "key2"
2462
2473
  })), /*#__PURE__*/React__default.createElement("span", null, "Account settings"));
2463
2474
  }
@@ -2705,8 +2716,8 @@ function useFragmentKey(key) {
2705
2716
  function onHashChange() {
2706
2717
  updateFragment(location.hash);
2707
2718
  }
2708
- window.addEventListener('hashchange', onHashChange);
2709
- return () => window.removeEventListener('hashchange', onHashChange);
2719
+ window.addEventListener("hashchange", onHashChange);
2720
+ return () => window.removeEventListener("hashchange", onHashChange);
2710
2721
  }, [updateFragment]);
2711
2722
  return [value, updateFragment];
2712
2723
  }
@@ -2720,9 +2731,9 @@ function useFragmentRouting() {
2720
2731
  }, [updateFragment]);
2721
2732
  const route = useMemo(() => {
2722
2733
  if (toolbarFragment) {
2723
- const [tool, ...rest] = toolbarFragment.split('/');
2734
+ const [tool, ...rest] = toolbarFragment.split("/");
2724
2735
  return {
2725
- path: rest.join('/'),
2736
+ path: rest.join("/"),
2726
2737
  tool
2727
2738
  };
2728
2739
  } else {
@@ -4256,11 +4267,11 @@ function useStableIframeSrcAttributeAndSyncFragmentRoute({
4256
4267
  return iframeSrc;
4257
4268
  }
4258
4269
  function encodeQueryString(path) {
4259
- const [pathPart, queryPart] = path.split('?', 2);
4270
+ const [pathPart, queryPart] = path.split("?", 2);
4260
4271
  return queryPart ? `${pathPart}?${encodeURIComponent(queryPart)}` : pathPart;
4261
4272
  }
4262
4273
  function decodeQueryString(path) {
4263
- const [pathPart, queryPart] = path.split('?', 2);
4274
+ const [pathPart, queryPart] = path.split("?", 2);
4264
4275
  return queryPart ? `${pathPart}?${decodeURIComponent(queryPart)}` : pathPart;
4265
4276
  }
4266
4277