@pelcro/react-pelcro-js 2.6.0-beta.9 → 2.6.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.
package/dist/index.cjs.js CHANGED
@@ -3658,12 +3658,14 @@ var cancel$1 = "Cancel your subscription online at anytime.";
3658
3658
  var giftSent$1 = "Subscription gift has been sent to";
3659
3659
  var successfully$1 = "successfully";
3660
3660
  var entitlement$1 = "Some of the content on this page is available with one or more of our plans. <1>Subscribe</1> now to get full page access.";
3661
+ var recaptcha$1 = "This site is protected by reCAPTCHA and the Google <1>Privacy Policy</1> and <3>Terms of Service</3> apply.";
3661
3662
  var messages_en = {
3662
3663
  youAreSafe: youAreSafe$1,
3663
3664
  cancel: cancel$1,
3664
3665
  giftSent: giftSent$1,
3665
3666
  successfully: successfully$1,
3666
- entitlement: entitlement$1
3667
+ entitlement: entitlement$1,
3668
+ recaptcha: recaptcha$1
3667
3669
  };
3668
3670
 
3669
3671
  var youAreSafe = "Vous êtes en sécurité - PCI conforme 128 SSL par";
@@ -3671,12 +3673,14 @@ var cancel = "Annuler votre abonnement en ligne à tout moment.";
3671
3673
  var giftSent = "Le cadeau d’abonnement a été envoyé à";
3672
3674
  var successfully = "avec succès.";
3673
3675
  var entitlement = "Une partie du contenu de cette page est disponible sous un ou plusieurs de nos plans. <1>Abonnez-vous</1> à l'un de nos plans disponibles pour accéder à plus de contenu";
3676
+ var recaptcha = "Ce site est protégé par reCAPTCHA - les <1>règles de confidentialité</1> Google ainsi que les <3>conditions d'utilisation</3> s'appliquent.";
3674
3677
  var messages_fr = {
3675
3678
  youAreSafe: youAreSafe,
3676
3679
  cancel: cancel,
3677
3680
  giftSent: giftSent,
3678
3681
  successfully: successfully,
3679
- entitlement: entitlement
3682
+ entitlement: entitlement,
3683
+ recaptcha: recaptcha
3680
3684
  };
3681
3685
 
3682
3686
  var labels$f = {
@@ -9783,7 +9787,7 @@ const RegisterContainer = ({
9783
9787
  selectFields
9784
9788
  } = filteredData;
9785
9789
 
9786
- if (!hasSecurityTokenEnabled()) {
9790
+ if (!hasSecurityTokenEnabled$1()) {
9787
9791
  sendRegisterRequest();
9788
9792
  return;
9789
9793
  }
@@ -9984,7 +9988,7 @@ const RegisterContainer = ({
9984
9988
  * @return {boolean}
9985
9989
  */
9986
9990
 
9987
- function hasSecurityTokenEnabled() {
9991
+ function hasSecurityTokenEnabled$1() {
9988
9992
  const hasSecuritySdkLoaded = Boolean(window.grecaptcha);
9989
9993
  return hasSecuritySdkLoaded;
9990
9994
  }
@@ -10614,7 +10618,17 @@ function RegisterView(props) {
10614
10618
  className: "plc-w-full plc-mt-2",
10615
10619
  id: "pelcro-submit",
10616
10620
  name: t("messages.createAccount")
10617
- }), socialLoginEnabled && /*#__PURE__*/React__default['default'].createElement("div", {
10621
+ }), hasSecurityTokenEnabled() && /*#__PURE__*/React__default['default'].createElement("p", {
10622
+ className: "plc-text-sm plc-text-gray-500 plc-mt-1"
10623
+ }, /*#__PURE__*/React__default['default'].createElement(Trans, {
10624
+ i18nKey: "messages:recaptcha"
10625
+ }, "This site is protected by reCAPTCHA and the Google", /*#__PURE__*/React__default['default'].createElement(Link, {
10626
+ href: "https://policies.google.com/privacy",
10627
+ className: "plc-text-sm plc-text-gray-500"
10628
+ }, "Privacy Policy"), "and", /*#__PURE__*/React__default['default'].createElement(Link, {
10629
+ href: "https://policies.google.com/terms",
10630
+ className: "plc-text-sm plc-text-gray-500"
10631
+ }, "Terms of Service"), "apply.")), socialLoginEnabled && /*#__PURE__*/React__default['default'].createElement("div", {
10618
10632
  className: "plc-mt-5"
10619
10633
  }, /*#__PURE__*/React__default['default'].createElement("div", {
10620
10634
  className: "plc-flex plc-items-center plc-justify-between "
@@ -10628,6 +10642,16 @@ function RegisterView(props) {
10628
10642
  className: "plc-flex plc-justify-center plc-px-5 plc-mt-1 plc-space-x-3"
10629
10643
  }, /*#__PURE__*/React__default['default'].createElement(GoogleLoginButton, null), /*#__PURE__*/React__default['default'].createElement(FacebookLoginButton, null))))));
10630
10644
  }
10645
+ /**
10646
+ * Checks if the current site has security token enabled
10647
+ * @return {boolean}
10648
+ */
10649
+
10650
+ function hasSecurityTokenEnabled() {
10651
+ var _window$Pelcro$site, _window$Pelcro$site$r3;
10652
+
10653
+ return Boolean((_window$Pelcro$site = window.Pelcro.site) === null || _window$Pelcro$site === void 0 ? void 0 : (_window$Pelcro$site$r3 = _window$Pelcro$site.read()) === null || _window$Pelcro$site$r3 === void 0 ? void 0 : _window$Pelcro$site$r3.security_key);
10654
+ }
10631
10655
 
10632
10656
  function TextInput({
10633
10657
  store,
@@ -21008,6 +21032,23 @@ function SvgPlus(props) {
21008
21032
  })));
21009
21033
  }
21010
21034
 
21035
+ var _path$9;
21036
+
21037
+ function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); }
21038
+
21039
+ function SvgCheckMark(props) {
21040
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$a({
21041
+ className: "plc-w-4 plc-h-4 plc-mr-1",
21042
+ xmlns: "http://www.w3.org/2000/svg",
21043
+ viewBox: "0 0 20 20",
21044
+ fill: "currentColor"
21045
+ }, props), _path$9 || (_path$9 = /*#__PURE__*/React__namespace.createElement("path", {
21046
+ fillRule: "evenodd",
21047
+ d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
21048
+ clipRule: "evenodd"
21049
+ })));
21050
+ }
21051
+
21011
21052
  const SubscriptionsMenu = props => {
21012
21053
  const {
21013
21054
  t
@@ -21098,28 +21139,36 @@ const SubscriptionsItems = ({
21098
21139
  setView("plan-select");
21099
21140
  };
21100
21141
 
21101
- const getFuturePhases = () => {
21142
+ const getPhases = () => {
21102
21143
  if (!sub.schedule) return [];
21103
21144
  const currentPhaseStartDate = sub.schedule.current_phase.start_date;
21104
- return sub.schedule.phases.filter(phase => {
21145
+ const currentPhase = sub.schedule.phases.find(phase => {
21146
+ return phase.start_date === currentPhaseStartDate;
21147
+ });
21148
+ const futurePhases = sub.schedule.phases.filter(phase => {
21105
21149
  return phase.start_date > currentPhaseStartDate;
21106
21150
  });
21151
+ return [currentPhase, ...futurePhases];
21107
21152
  };
21108
21153
 
21109
- const hasFuturePhases = getFuturePhases().length > 0;
21154
+ const hasPhases = getPhases().length > 0;
21110
21155
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, {
21111
21156
  key: sub.id
21112
21157
  }, /*#__PURE__*/React__default['default'].createElement("tbody", null, /*#__PURE__*/React__default['default'].createElement("tr", {
21113
- onClick: () => toggleActiveMenu(sub.id),
21158
+ onClick: () => {
21159
+ if (hasPhases) toggleActiveMenu(sub.id);
21160
+ },
21114
21161
  key: sub.id,
21115
21162
  className: `plc-w-full plc-align-middle plc-cursor-pointer accordion-header ${isActive ? "plc-bg-gray-100" : "hover:plc-bg-gray-50"}`
21116
21163
  }, /*#__PURE__*/React__default['default'].createElement("td", {
21117
- className: "plc-truncate plc-py-2"
21164
+ className: "plc-truncate"
21118
21165
  }, sub.plan.nickname && /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("span", {
21119
21166
  className: "plc-font-semibold plc-text-gray-500"
21120
21167
  }, sub.plan.nickname), /*#__PURE__*/React__default['default'].createElement("br", null), /*#__PURE__*/React__default['default'].createElement("span", {
21121
21168
  className: "plc-text-xs plc-text-gray-400"
21122
- }, getFormattedPriceByLocal(sub.plan.amount, sub.plan.currency, getPageOrDefaultLanguage())))), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement("span", {
21169
+ }, getFormattedPriceByLocal(sub.plan.amount, sub.plan.currency, getPageOrDefaultLanguage())))), /*#__PURE__*/React__default['default'].createElement("td", {
21170
+ className: "plc-py-2"
21171
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
21123
21172
  className: `plc-inline-flex plc-p-1 plc-text-xs plc-font-semibold ${getSubscriptionStatus(sub).bgColor} plc-uppercase ${getSubscriptionStatus(sub).textColor} plc-rounded-lg`
21124
21173
  }, getSubscriptionStatus(sub).icon, getSubscriptionStatus(sub).title), /*#__PURE__*/React__default['default'].createElement("br", null), /*#__PURE__*/React__default['default'].createElement("div", {
21125
21174
  className: "plc-text-xs plc-text-gray-500"
@@ -21148,31 +21197,38 @@ const SubscriptionsItems = ({
21148
21197
  onClick: onRenewClick,
21149
21198
  disabled: disableSubmit,
21150
21199
  "data-key": sub.id
21151
- }, t("labels.renew"))), /*#__PURE__*/React__default['default'].createElement("td", null, hasFuturePhases && /*#__PURE__*/React__default['default'].createElement("div", {
21200
+ }, t("labels.renew"))), /*#__PURE__*/React__default['default'].createElement("td", null, hasPhases && /*#__PURE__*/React__default['default'].createElement("div", {
21152
21201
  className: `plc-flex plc-items-center plc-justify-center plc-transition-transform plc-ease-out plc-transform plc-rounded-full plc-w-7 plc-h-7 ${isActive ? "plc-flex plc-place-items-center plc-w-7 plc-h-7 plc-p-1 plc-bg-primary-400 plc-rounded-full" : "accordion-chevron"}`
21153
21202
  }, /*#__PURE__*/React__default['default'].createElement("span", {
21154
21203
  className: `plc-transition plc-ease-out ${isActive && "plc-text-white plc-transform plc-rotate-90"}`
21155
- }, /*#__PURE__*/React__default['default'].createElement(SvgChevronRight, null)))))), /*#__PURE__*/React__default['default'].createElement("tbody", null, isActive && /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, getFuturePhases().map(phase => {
21204
+ }, /*#__PURE__*/React__default['default'].createElement(SvgChevronRight, null)))))), /*#__PURE__*/React__default['default'].createElement("tbody", null, isActive && /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, getPhases().map((phase, i) => {
21156
21205
  var _phase$plans;
21157
21206
 
21158
21207
  const plan = (_phase$plans = phase.plans) === null || _phase$plans === void 0 ? void 0 : _phase$plans[0].plan;
21208
+ const isCurrentPhase = i === 0;
21159
21209
  const startDate = new Date(Number(`${phase.start_date}000`));
21210
+ const endDate = new Date(Number(`${phase.end_date}000`));
21160
21211
  const formattedStartDate = new Intl.DateTimeFormat("en-CA").format(startDate);
21212
+ const formattedEndDate = new Intl.DateTimeFormat("en-CA").format(endDate);
21161
21213
  const startDateString = `${t("labels.startsOn")} ${formattedStartDate}`;
21214
+ const endDateString = `${t("labels.expiresOn")} ${formattedEndDate}`;
21162
21215
  return /*#__PURE__*/React__default['default'].createElement("tr", {
21163
21216
  key: `${phase.start_date}-${phase.end_date}`,
21164
21217
  className: "pelcro-sub-phase-row plc-w-full plc-align-middle"
21165
21218
  }, /*#__PURE__*/React__default['default'].createElement("td", {
21166
- className: "plc-truncate plc-py-2"
21219
+ className: "plc-truncate"
21167
21220
  }, plan.nickname && /*#__PURE__*/React__default['default'].createElement("span", {
21168
21221
  className: "plc-font-semibold plc-text-gray-500"
21169
- }, plan.nickname)), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement("span", {
21170
- className: "plc-inline-flex plc-p-1 plc-text-xs plc-font-semibold plc-text-blue-700 plc-bg-blue-100 plc-uppercase plc-rounded-lg"
21171
- }, /*#__PURE__*/React__default['default'].createElement(SvgCalendar, null), t("labels.status.scheduled")), /*#__PURE__*/React__default['default'].createElement("br", null), /*#__PURE__*/React__default['default'].createElement("div", {
21222
+ }, plan.nickname)), /*#__PURE__*/React__default['default'].createElement("td", {
21223
+ className: "plc-py-2"
21224
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
21225
+ className: `plc-inline-flex plc-p-1 plc-text-xs plc-font-semibold plc-uppercase plc-rounded-lg ${isCurrentPhase ? "plc-text-green-700 plc-bg-green-100" : "plc-text-blue-700 plc-bg-blue-100"}
21226
+ `
21227
+ }, isCurrentPhase ? /*#__PURE__*/React__default['default'].createElement(SvgCheckMark, null) : /*#__PURE__*/React__default['default'].createElement(SvgCalendar, null), isCurrentPhase ? t("labels.status.active") : t("labels.status.scheduled")), /*#__PURE__*/React__default['default'].createElement("br", null), /*#__PURE__*/React__default['default'].createElement("div", {
21172
21228
  className: "plc-text-xs plc-text-gray-500"
21173
21229
  }, /*#__PURE__*/React__default['default'].createElement("span", {
21174
21230
  className: "plc-inline-block plc-mt-1 plc-underline"
21175
- }, startDateString))));
21231
+ }, isCurrentPhase ? endDateString : startDateString))));
21176
21232
  }), /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("td", {
21177
21233
  colSpan: "4"
21178
21234
  }, /*#__PURE__*/React__default['default'].createElement("hr", {
@@ -21263,18 +21319,18 @@ Accordion.item = function AccordionItem({
21263
21319
  }, content)) : null;
21264
21320
  };
21265
21321
 
21266
- var _path$9;
21322
+ var _path$8;
21267
21323
 
21268
- function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); }
21324
+ function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
21269
21325
 
21270
21326
  function SvgExit(props) {
21271
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$a({
21327
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$9({
21272
21328
  className: "plc-w-6 plc-h-6",
21273
21329
  xmlns: "http://www.w3.org/2000/svg",
21274
21330
  fill: "none",
21275
21331
  viewBox: "0 0 24 24",
21276
21332
  stroke: "currentColor"
21277
- }, props), _path$9 || (_path$9 = /*#__PURE__*/React__namespace.createElement("path", {
21333
+ }, props), _path$8 || (_path$8 = /*#__PURE__*/React__namespace.createElement("path", {
21278
21334
  strokeLinecap: "round",
21279
21335
  strokeLinejoin: "round",
21280
21336
  strokeWidth: 2,
@@ -21282,23 +21338,6 @@ function SvgExit(props) {
21282
21338
  })));
21283
21339
  }
21284
21340
 
21285
- var _path$8;
21286
-
21287
- function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
21288
-
21289
- function SvgCheckMark(props) {
21290
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$9({
21291
- className: "plc-w-4 plc-h-4 plc-mr-1",
21292
- xmlns: "http://www.w3.org/2000/svg",
21293
- viewBox: "0 0 20 20",
21294
- fill: "currentColor"
21295
- }, props), _path$8 || (_path$8 = /*#__PURE__*/React__namespace.createElement("path", {
21296
- fillRule: "evenodd",
21297
- d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
21298
- clipRule: "evenodd"
21299
- })));
21300
- }
21301
-
21302
21341
  var _path$7;
21303
21342
 
21304
21343
  function _extends$8() { _extends$8 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); }
package/dist/index.esm.js CHANGED
@@ -3628,12 +3628,14 @@ var cancel$1 = "Cancel your subscription online at anytime.";
3628
3628
  var giftSent$1 = "Subscription gift has been sent to";
3629
3629
  var successfully$1 = "successfully";
3630
3630
  var entitlement$1 = "Some of the content on this page is available with one or more of our plans. <1>Subscribe</1> now to get full page access.";
3631
+ var recaptcha$1 = "This site is protected by reCAPTCHA and the Google <1>Privacy Policy</1> and <3>Terms of Service</3> apply.";
3631
3632
  var messages_en = {
3632
3633
  youAreSafe: youAreSafe$1,
3633
3634
  cancel: cancel$1,
3634
3635
  giftSent: giftSent$1,
3635
3636
  successfully: successfully$1,
3636
- entitlement: entitlement$1
3637
+ entitlement: entitlement$1,
3638
+ recaptcha: recaptcha$1
3637
3639
  };
3638
3640
 
3639
3641
  var youAreSafe = "Vous êtes en sécurité - PCI conforme 128 SSL par";
@@ -3641,12 +3643,14 @@ var cancel = "Annuler votre abonnement en ligne à tout moment.";
3641
3643
  var giftSent = "Le cadeau d’abonnement a été envoyé à";
3642
3644
  var successfully = "avec succès.";
3643
3645
  var entitlement = "Une partie du contenu de cette page est disponible sous un ou plusieurs de nos plans. <1>Abonnez-vous</1> à l'un de nos plans disponibles pour accéder à plus de contenu";
3646
+ var recaptcha = "Ce site est protégé par reCAPTCHA - les <1>règles de confidentialité</1> Google ainsi que les <3>conditions d'utilisation</3> s'appliquent.";
3644
3647
  var messages_fr = {
3645
3648
  youAreSafe: youAreSafe,
3646
3649
  cancel: cancel,
3647
3650
  giftSent: giftSent,
3648
3651
  successfully: successfully,
3649
- entitlement: entitlement
3652
+ entitlement: entitlement,
3653
+ recaptcha: recaptcha
3650
3654
  };
3651
3655
 
3652
3656
  var labels$f = {
@@ -9753,7 +9757,7 @@ const RegisterContainer = ({
9753
9757
  selectFields
9754
9758
  } = filteredData;
9755
9759
 
9756
- if (!hasSecurityTokenEnabled()) {
9760
+ if (!hasSecurityTokenEnabled$1()) {
9757
9761
  sendRegisterRequest();
9758
9762
  return;
9759
9763
  }
@@ -9954,7 +9958,7 @@ const RegisterContainer = ({
9954
9958
  * @return {boolean}
9955
9959
  */
9956
9960
 
9957
- function hasSecurityTokenEnabled() {
9961
+ function hasSecurityTokenEnabled$1() {
9958
9962
  const hasSecuritySdkLoaded = Boolean(window.grecaptcha);
9959
9963
  return hasSecuritySdkLoaded;
9960
9964
  }
@@ -10584,7 +10588,17 @@ function RegisterView(props) {
10584
10588
  className: "plc-w-full plc-mt-2",
10585
10589
  id: "pelcro-submit",
10586
10590
  name: t("messages.createAccount")
10587
- }), socialLoginEnabled && /*#__PURE__*/React__default.createElement("div", {
10591
+ }), hasSecurityTokenEnabled() && /*#__PURE__*/React__default.createElement("p", {
10592
+ className: "plc-text-sm plc-text-gray-500 plc-mt-1"
10593
+ }, /*#__PURE__*/React__default.createElement(Trans, {
10594
+ i18nKey: "messages:recaptcha"
10595
+ }, "This site is protected by reCAPTCHA and the Google", /*#__PURE__*/React__default.createElement(Link, {
10596
+ href: "https://policies.google.com/privacy",
10597
+ className: "plc-text-sm plc-text-gray-500"
10598
+ }, "Privacy Policy"), "and", /*#__PURE__*/React__default.createElement(Link, {
10599
+ href: "https://policies.google.com/terms",
10600
+ className: "plc-text-sm plc-text-gray-500"
10601
+ }, "Terms of Service"), "apply.")), socialLoginEnabled && /*#__PURE__*/React__default.createElement("div", {
10588
10602
  className: "plc-mt-5"
10589
10603
  }, /*#__PURE__*/React__default.createElement("div", {
10590
10604
  className: "plc-flex plc-items-center plc-justify-between "
@@ -10598,6 +10612,16 @@ function RegisterView(props) {
10598
10612
  className: "plc-flex plc-justify-center plc-px-5 plc-mt-1 plc-space-x-3"
10599
10613
  }, /*#__PURE__*/React__default.createElement(GoogleLoginButton, null), /*#__PURE__*/React__default.createElement(FacebookLoginButton, null))))));
10600
10614
  }
10615
+ /**
10616
+ * Checks if the current site has security token enabled
10617
+ * @return {boolean}
10618
+ */
10619
+
10620
+ function hasSecurityTokenEnabled() {
10621
+ var _window$Pelcro$site, _window$Pelcro$site$r3;
10622
+
10623
+ return Boolean((_window$Pelcro$site = window.Pelcro.site) === null || _window$Pelcro$site === void 0 ? void 0 : (_window$Pelcro$site$r3 = _window$Pelcro$site.read()) === null || _window$Pelcro$site$r3 === void 0 ? void 0 : _window$Pelcro$site$r3.security_key);
10624
+ }
10601
10625
 
10602
10626
  function TextInput({
10603
10627
  store,
@@ -20978,6 +21002,23 @@ function SvgPlus(props) {
20978
21002
  })));
20979
21003
  }
20980
21004
 
21005
+ var _path$9;
21006
+
21007
+ function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); }
21008
+
21009
+ function SvgCheckMark(props) {
21010
+ return /*#__PURE__*/React.createElement("svg", _extends$a({
21011
+ className: "plc-w-4 plc-h-4 plc-mr-1",
21012
+ xmlns: "http://www.w3.org/2000/svg",
21013
+ viewBox: "0 0 20 20",
21014
+ fill: "currentColor"
21015
+ }, props), _path$9 || (_path$9 = /*#__PURE__*/React.createElement("path", {
21016
+ fillRule: "evenodd",
21017
+ d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
21018
+ clipRule: "evenodd"
21019
+ })));
21020
+ }
21021
+
20981
21022
  const SubscriptionsMenu = props => {
20982
21023
  const {
20983
21024
  t
@@ -21068,28 +21109,36 @@ const SubscriptionsItems = ({
21068
21109
  setView("plan-select");
21069
21110
  };
21070
21111
 
21071
- const getFuturePhases = () => {
21112
+ const getPhases = () => {
21072
21113
  if (!sub.schedule) return [];
21073
21114
  const currentPhaseStartDate = sub.schedule.current_phase.start_date;
21074
- return sub.schedule.phases.filter(phase => {
21115
+ const currentPhase = sub.schedule.phases.find(phase => {
21116
+ return phase.start_date === currentPhaseStartDate;
21117
+ });
21118
+ const futurePhases = sub.schedule.phases.filter(phase => {
21075
21119
  return phase.start_date > currentPhaseStartDate;
21076
21120
  });
21121
+ return [currentPhase, ...futurePhases];
21077
21122
  };
21078
21123
 
21079
- const hasFuturePhases = getFuturePhases().length > 0;
21124
+ const hasPhases = getPhases().length > 0;
21080
21125
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
21081
21126
  key: sub.id
21082
21127
  }, /*#__PURE__*/React__default.createElement("tbody", null, /*#__PURE__*/React__default.createElement("tr", {
21083
- onClick: () => toggleActiveMenu(sub.id),
21128
+ onClick: () => {
21129
+ if (hasPhases) toggleActiveMenu(sub.id);
21130
+ },
21084
21131
  key: sub.id,
21085
21132
  className: `plc-w-full plc-align-middle plc-cursor-pointer accordion-header ${isActive ? "plc-bg-gray-100" : "hover:plc-bg-gray-50"}`
21086
21133
  }, /*#__PURE__*/React__default.createElement("td", {
21087
- className: "plc-truncate plc-py-2"
21134
+ className: "plc-truncate"
21088
21135
  }, sub.plan.nickname && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("span", {
21089
21136
  className: "plc-font-semibold plc-text-gray-500"
21090
21137
  }, sub.plan.nickname), /*#__PURE__*/React__default.createElement("br", null), /*#__PURE__*/React__default.createElement("span", {
21091
21138
  className: "plc-text-xs plc-text-gray-400"
21092
- }, getFormattedPriceByLocal(sub.plan.amount, sub.plan.currency, getPageOrDefaultLanguage())))), /*#__PURE__*/React__default.createElement("td", null, /*#__PURE__*/React__default.createElement("span", {
21139
+ }, getFormattedPriceByLocal(sub.plan.amount, sub.plan.currency, getPageOrDefaultLanguage())))), /*#__PURE__*/React__default.createElement("td", {
21140
+ className: "plc-py-2"
21141
+ }, /*#__PURE__*/React__default.createElement("span", {
21093
21142
  className: `plc-inline-flex plc-p-1 plc-text-xs plc-font-semibold ${getSubscriptionStatus(sub).bgColor} plc-uppercase ${getSubscriptionStatus(sub).textColor} plc-rounded-lg`
21094
21143
  }, getSubscriptionStatus(sub).icon, getSubscriptionStatus(sub).title), /*#__PURE__*/React__default.createElement("br", null), /*#__PURE__*/React__default.createElement("div", {
21095
21144
  className: "plc-text-xs plc-text-gray-500"
@@ -21118,31 +21167,38 @@ const SubscriptionsItems = ({
21118
21167
  onClick: onRenewClick,
21119
21168
  disabled: disableSubmit,
21120
21169
  "data-key": sub.id
21121
- }, t("labels.renew"))), /*#__PURE__*/React__default.createElement("td", null, hasFuturePhases && /*#__PURE__*/React__default.createElement("div", {
21170
+ }, t("labels.renew"))), /*#__PURE__*/React__default.createElement("td", null, hasPhases && /*#__PURE__*/React__default.createElement("div", {
21122
21171
  className: `plc-flex plc-items-center plc-justify-center plc-transition-transform plc-ease-out plc-transform plc-rounded-full plc-w-7 plc-h-7 ${isActive ? "plc-flex plc-place-items-center plc-w-7 plc-h-7 plc-p-1 plc-bg-primary-400 plc-rounded-full" : "accordion-chevron"}`
21123
21172
  }, /*#__PURE__*/React__default.createElement("span", {
21124
21173
  className: `plc-transition plc-ease-out ${isActive && "plc-text-white plc-transform plc-rotate-90"}`
21125
- }, /*#__PURE__*/React__default.createElement(SvgChevronRight, null)))))), /*#__PURE__*/React__default.createElement("tbody", null, isActive && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, getFuturePhases().map(phase => {
21174
+ }, /*#__PURE__*/React__default.createElement(SvgChevronRight, null)))))), /*#__PURE__*/React__default.createElement("tbody", null, isActive && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, getPhases().map((phase, i) => {
21126
21175
  var _phase$plans;
21127
21176
 
21128
21177
  const plan = (_phase$plans = phase.plans) === null || _phase$plans === void 0 ? void 0 : _phase$plans[0].plan;
21178
+ const isCurrentPhase = i === 0;
21129
21179
  const startDate = new Date(Number(`${phase.start_date}000`));
21180
+ const endDate = new Date(Number(`${phase.end_date}000`));
21130
21181
  const formattedStartDate = new Intl.DateTimeFormat("en-CA").format(startDate);
21182
+ const formattedEndDate = new Intl.DateTimeFormat("en-CA").format(endDate);
21131
21183
  const startDateString = `${t("labels.startsOn")} ${formattedStartDate}`;
21184
+ const endDateString = `${t("labels.expiresOn")} ${formattedEndDate}`;
21132
21185
  return /*#__PURE__*/React__default.createElement("tr", {
21133
21186
  key: `${phase.start_date}-${phase.end_date}`,
21134
21187
  className: "pelcro-sub-phase-row plc-w-full plc-align-middle"
21135
21188
  }, /*#__PURE__*/React__default.createElement("td", {
21136
- className: "plc-truncate plc-py-2"
21189
+ className: "plc-truncate"
21137
21190
  }, plan.nickname && /*#__PURE__*/React__default.createElement("span", {
21138
21191
  className: "plc-font-semibold plc-text-gray-500"
21139
- }, plan.nickname)), /*#__PURE__*/React__default.createElement("td", null, /*#__PURE__*/React__default.createElement("span", {
21140
- className: "plc-inline-flex plc-p-1 plc-text-xs plc-font-semibold plc-text-blue-700 plc-bg-blue-100 plc-uppercase plc-rounded-lg"
21141
- }, /*#__PURE__*/React__default.createElement(SvgCalendar, null), t("labels.status.scheduled")), /*#__PURE__*/React__default.createElement("br", null), /*#__PURE__*/React__default.createElement("div", {
21192
+ }, plan.nickname)), /*#__PURE__*/React__default.createElement("td", {
21193
+ className: "plc-py-2"
21194
+ }, /*#__PURE__*/React__default.createElement("span", {
21195
+ className: `plc-inline-flex plc-p-1 plc-text-xs plc-font-semibold plc-uppercase plc-rounded-lg ${isCurrentPhase ? "plc-text-green-700 plc-bg-green-100" : "plc-text-blue-700 plc-bg-blue-100"}
21196
+ `
21197
+ }, isCurrentPhase ? /*#__PURE__*/React__default.createElement(SvgCheckMark, null) : /*#__PURE__*/React__default.createElement(SvgCalendar, null), isCurrentPhase ? t("labels.status.active") : t("labels.status.scheduled")), /*#__PURE__*/React__default.createElement("br", null), /*#__PURE__*/React__default.createElement("div", {
21142
21198
  className: "plc-text-xs plc-text-gray-500"
21143
21199
  }, /*#__PURE__*/React__default.createElement("span", {
21144
21200
  className: "plc-inline-block plc-mt-1 plc-underline"
21145
- }, startDateString))));
21201
+ }, isCurrentPhase ? endDateString : startDateString))));
21146
21202
  }), /*#__PURE__*/React__default.createElement("tr", null, /*#__PURE__*/React__default.createElement("td", {
21147
21203
  colSpan: "4"
21148
21204
  }, /*#__PURE__*/React__default.createElement("hr", {
@@ -21233,18 +21289,18 @@ Accordion.item = function AccordionItem({
21233
21289
  }, content)) : null;
21234
21290
  };
21235
21291
 
21236
- var _path$9;
21292
+ var _path$8;
21237
21293
 
21238
- function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); }
21294
+ function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
21239
21295
 
21240
21296
  function SvgExit(props) {
21241
- return /*#__PURE__*/React.createElement("svg", _extends$a({
21297
+ return /*#__PURE__*/React.createElement("svg", _extends$9({
21242
21298
  className: "plc-w-6 plc-h-6",
21243
21299
  xmlns: "http://www.w3.org/2000/svg",
21244
21300
  fill: "none",
21245
21301
  viewBox: "0 0 24 24",
21246
21302
  stroke: "currentColor"
21247
- }, props), _path$9 || (_path$9 = /*#__PURE__*/React.createElement("path", {
21303
+ }, props), _path$8 || (_path$8 = /*#__PURE__*/React.createElement("path", {
21248
21304
  strokeLinecap: "round",
21249
21305
  strokeLinejoin: "round",
21250
21306
  strokeWidth: 2,
@@ -21252,23 +21308,6 @@ function SvgExit(props) {
21252
21308
  })));
21253
21309
  }
21254
21310
 
21255
- var _path$8;
21256
-
21257
- function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
21258
-
21259
- function SvgCheckMark(props) {
21260
- return /*#__PURE__*/React.createElement("svg", _extends$9({
21261
- className: "plc-w-4 plc-h-4 plc-mr-1",
21262
- xmlns: "http://www.w3.org/2000/svg",
21263
- viewBox: "0 0 20 20",
21264
- fill: "currentColor"
21265
- }, props), _path$8 || (_path$8 = /*#__PURE__*/React.createElement("path", {
21266
- fillRule: "evenodd",
21267
- d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
21268
- clipRule: "evenodd"
21269
- })));
21270
- }
21271
-
21272
21311
  var _path$7;
21273
21312
 
21274
21313
  function _extends$8() { _extends$8 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); }
package/dist/pelcro.css CHANGED
@@ -648,6 +648,10 @@ Add the correct display in Chrome and Safari.
648
648
  --plc-primary-lightness: 44%;
649
649
  }
650
650
 
651
+ .grecaptcha-badge {
652
+ visibility: hidden;
653
+ }
654
+
651
655
  /* sub-components and components */
652
656
 
653
657
  .pelcro-root .pelcro-badge-wrapper {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pelcro/react-pelcro-js",
3
3
  "description": "Pelcro's React UI Elements",
4
- "version": "2.6.0-beta.9",
4
+ "version": "2.6.0",
5
5
  "license": "MIT",
6
6
  "private": false,
7
7
  "main": "dist/index.cjs.js",