@saasquatch/mint-components 2.1.8-2 → 2.1.8-4

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 (59) hide show
  1. package/dist/cjs/{ShadowViewAddon-a26deae6.js → ShadowViewAddon-f5a79b05.js} +377 -10
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/mint-components.cjs.js +1 -1
  4. package/dist/cjs/sqm-banking-info-form_10.cjs.entry.js +4 -4
  5. package/dist/cjs/sqm-big-stat_45.cjs.entry.js +175 -31
  6. package/dist/cjs/sqm-stencilbook.cjs.entry.js +168 -19
  7. package/dist/collection/components/sqm-referral-iframe/ReferralIframe.stories.js +0 -1
  8. package/dist/collection/components/sqm-referral-iframe/sqm-referral-iframe-view.js +1 -1
  9. package/dist/collection/components/sqm-referral-iframe/sqm-referral-iframe.js +1 -27
  10. package/dist/collection/components/sqm-share-code/sqm-share-code.js +0 -1
  11. package/dist/collection/components/sqm-share-link/ShareLink.stories.js +142 -11
  12. package/dist/collection/components/sqm-share-link/UseShareLink.stories.js +14 -5
  13. package/dist/collection/components/sqm-share-link/sqm-share-link-view.js +173 -0
  14. package/dist/collection/components/sqm-share-link/sqm-share-link.js +536 -26
  15. package/dist/collection/components/sqm-share-link/useShareLink.js +201 -5
  16. package/dist/collection/components/tax-and-cash/sqm-indirect-tax-form/sqm-indirect-tax-form.js +4 -4
  17. package/dist/collection/components/tax-and-cash/sqm-payout-details-card/sqm-payout-details-card.js +2 -2
  18. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.js +6 -6
  19. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash-dashboard/sqm-tax-and-cash-dashboard.js +2 -2
  20. package/dist/esm/{ShadowViewAddon-47f1e579.js → ShadowViewAddon-491b58b8.js} +378 -12
  21. package/dist/esm/loader.js +1 -1
  22. package/dist/esm/mint-components.js +1 -1
  23. package/dist/esm/sqm-banking-info-form_10.entry.js +4 -4
  24. package/dist/esm/sqm-big-stat_45.entry.js +175 -31
  25. package/dist/esm/sqm-stencilbook.entry.js +168 -19
  26. package/dist/esm-es5/ShadowViewAddon-491b58b8.js +1 -0
  27. package/dist/esm-es5/loader.js +1 -1
  28. package/dist/esm-es5/mint-components.js +1 -1
  29. package/dist/esm-es5/sqm-banking-info-form_10.entry.js +1 -1
  30. package/dist/esm-es5/sqm-big-stat_45.entry.js +1 -1
  31. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  32. package/dist/mint-components/mint-components.esm.js +1 -1
  33. package/dist/mint-components/p-17be8df0.entry.js +9 -0
  34. package/dist/mint-components/p-296fda71.system.entry.js +1 -0
  35. package/dist/mint-components/p-75520f1a.js +500 -0
  36. package/dist/mint-components/{p-7ee8f2ed.entry.js → p-8465e839.entry.js} +20 -20
  37. package/dist/mint-components/p-aa226140.system.entry.js +1 -0
  38. package/dist/mint-components/p-ca098be1.system.js +1 -1
  39. package/dist/mint-components/{p-5492dd51.system.entry.js → p-cacb897d.system.entry.js} +1 -1
  40. package/dist/mint-components/p-cd24ecfc.system.js +1 -0
  41. package/dist/mint-components/{p-d4f332a7.entry.js → p-ff378015.entry.js} +7 -7
  42. package/dist/types/components/sqm-referral-iframe/sqm-referral-iframe-view.d.ts +0 -1
  43. package/dist/types/components/sqm-referral-iframe/sqm-referral-iframe.d.ts +0 -5
  44. package/dist/types/components/sqm-share-link/ShareLink.stories.d.ts +10 -0
  45. package/dist/types/components/sqm-share-link/UseShareLink.stories.d.ts +6 -0
  46. package/dist/types/components/sqm-share-link/sqm-share-link-view.d.ts +37 -0
  47. package/dist/types/components/sqm-share-link/sqm-share-link.d.ts +107 -2
  48. package/dist/types/components/sqm-share-link/useShareLink.d.ts +27 -4
  49. package/dist/types/components.d.ts +183 -12
  50. package/docs/docs.docx +0 -0
  51. package/docs/raisins.json +1 -1
  52. package/grapesjs/grapesjs.js +1 -1
  53. package/package.json +1 -1
  54. package/dist/esm-es5/ShadowViewAddon-47f1e579.js +0 -1
  55. package/dist/mint-components/p-0614dcbc.entry.js +0 -9
  56. package/dist/mint-components/p-217dedde.js +0 -463
  57. package/dist/mint-components/p-bf545082.system.entry.js +0 -1
  58. package/dist/mint-components/p-ce050888.system.js +0 -1
  59. package/dist/mint-components/p-de343dd0.system.entry.js +0 -1
@@ -23,7 +23,7 @@ import { u as useInstantAccessRegistration } from './useInstantAccessRegistratio
23
23
  import { R as RequiredPropsError, L as LEAD_FORM_STATE_CONTEXT, u as useLeadFormState } from './useLeadFormState-dd4e8b08.js';
24
24
  import { i as isEmpty } from './utilities-77b1e0cc.js';
25
25
  import { E as ErrorView } from './ErrorView-74cb3af8.js';
26
- import { u as useDemoBigStat, V as useBigStat, B as BigStatView, C as CardFeedView, d as CheckboxFieldView, e as CouponCodeView, D as DropdownFieldView, E as EditProfileView, H as HeroView, I as InputFieldView, Q as LeadDropdownFieldView, O as LeadFormView, W as withShadowView, L as LeaderboardView, N as NameFieldsView, f as ChangeMarktingView, P as PortalChangePasswordView, g as PortalFooterView, h as PortalFrameView, c as BaseRegistrationFormView, R as ReferralIframeView, i as RewardExchangeView, X as demoRewardExchange, G as useShareButton, a as ShareButtonView, J as useShareLink, S as StatContainerView, T as TaskCardView } from './ShadowViewAddon-47f1e579.js';
26
+ import { u as useDemoBigStat, W as useBigStat, B as BigStatView, C as CardFeedView, d as CheckboxFieldView, e as CouponCodeView, D as DropdownFieldView, E as EditProfileView, H as HeroView, I as InputFieldView, U as LeadDropdownFieldView, Q as LeadFormView, X as withShadowView, L as LeaderboardView, N as NameFieldsView, f as ChangeMarktingView, P as PortalChangePasswordView, g as PortalFooterView, h as PortalFrameView, c as BaseRegistrationFormView, R as ReferralIframeView, i as RewardExchangeView, Y as demoRewardExchange, G as useShareButton, a as ShareButtonView, K as useShareLink, J as ShareLinkView, S as StatContainerView, T as TaskCardView } from './ShadowViewAddon-491b58b8.js';
27
27
  import './sqm-portal-container-view-a8c708cd.js';
28
28
  import { T as TAX_CONTEXT_NAMESPACE, a as TAX_FORM_CONTEXT_NAMESPACE, U as USER_FORM_CONTEXT_NAMESPACE, C as CURRENCIES_NAMESPACE, b as COUNTRIES_NAMESPACE, S as SORTED_COUNTRIES_NAMESPACE, g as getCountryObj, c as USER_QUERY_NAMESPACE, G as GET_USER$2, d as COUNTRIES_QUERY_NAMESPACE, e as GET_COUNTRIES, h as FINANCE_NETWORK_SETTINGS_NAMESPACE, i as GET_FINANCE_NETWORK_SETTINGS, j as CURRENCIES_QUERY_NAMESPACE, k as GET_CURRENCIES, L as LoadingView } from './data-12e6aae1.js';
29
29
  import { p as parseStates, e as extractProps } from './extractProps-54064fb0.js';
@@ -4616,11 +4616,6 @@ const SqmReferralIframe = class {
4616
4616
  * @uiName IFrame width
4617
4617
  */
4618
4618
  this.iframeWidth = "100%";
4619
- /**
4620
- * Override the default parameter name used in the iframe
4621
- * @uiName Referral code parameter name
4622
- */
4623
- this.codeParam = "rsCode";
4624
4619
  h(this);
4625
4620
  }
4626
4621
  disconnectedCallback() { }
@@ -6055,7 +6050,6 @@ function useDemoShareCode(props) {
6055
6050
  borderRadius: props.borderRadius,
6056
6051
  borderColor: props.borderColor,
6057
6052
  buttonType: props.buttonType,
6058
- rewardStatus: "AVAILABLE",
6059
6053
  open,
6060
6054
  onClick: () => {
6061
6055
  // Should well supported: https://developer.mozilla.org/en-US/docs/Web/API/Clipboard#browser_compatibility
@@ -6115,6 +6109,111 @@ const ShareLink = class {
6115
6109
  * @uiGroup Style
6116
6110
  */
6117
6111
  this.buttonStyle = "icon";
6112
+ /**
6113
+ * Enable users to customize their referral link
6114
+ *
6115
+ * @uiName Customize URL
6116
+ * @uiType boolean
6117
+ */
6118
+ this.customizeUrl = false;
6119
+ /**
6120
+ * Text shown below the share link input to trigger customization
6121
+ *
6122
+ * @uiName Customize link label
6123
+ * @uiType string
6124
+ */
6125
+ this.customizeLinkLabel = "Customize Link";
6126
+ /**
6127
+ * Text for the save button in editing mode
6128
+ *
6129
+ * @uiName Save button label
6130
+ * @uiType string
6131
+ */
6132
+ this.saveLabelText = "Save";
6133
+ /**
6134
+ * Text for the cancel button in editing mode
6135
+ *
6136
+ * @uiName Cancel button label
6137
+ * @uiType string
6138
+ */
6139
+ this.cancelLabelText = "Cancel";
6140
+ /**
6141
+ * Message shown briefly after successfully saving a custom link
6142
+ *
6143
+ * @uiName Success message
6144
+ * @uiType string
6145
+ */
6146
+ this.successMessage = "Link updated successfully";
6147
+ /**
6148
+ * Title text shown when the custom link is already taken
6149
+ *
6150
+ * @uiName Link taken error title
6151
+ * @uiType string
6152
+ */
6153
+ this.linkTakenErrorTitle = "This link is already taken";
6154
+ /**
6155
+ * Description text shown when the custom link is already taken
6156
+ *
6157
+ * @uiName Link taken error description
6158
+ * @uiType string
6159
+ */
6160
+ this.linkTakenErrorDescription = "Try adding numbers, a dash or underscore to create a unique link.";
6161
+ /**
6162
+ * Title text shown when the link contains invalid symbols
6163
+ *
6164
+ * @uiName Invalid symbols error title
6165
+ * @uiType string
6166
+ */
6167
+ this.invalidSymbolsErrorTitle = "Please use only letters, numbers, dashes and underscores";
6168
+ /**
6169
+ * Description text shown when the link contains invalid symbols
6170
+ *
6171
+ * @uiName Invalid symbols error description
6172
+ * @uiType string
6173
+ */
6174
+ this.invalidSymbolsErrorDescription = "Special symbols can break the link when sharing.";
6175
+ /**
6176
+ * Title text shown when the link contains a restricted word
6177
+ *
6178
+ * @uiName Restricted word error title
6179
+ * @uiType string
6180
+ */
6181
+ this.restrictedWordErrorTitle = "Please try a different link";
6182
+ /**
6183
+ * Description text shown when the link contains a restricted word
6184
+ *
6185
+ * @uiName Restricted word error description
6186
+ * @uiType string
6187
+ */
6188
+ this.restrictedWordErrorDescription = "This link contains a restricted word.";
6189
+ /**
6190
+ * Text describing the edit limit
6191
+ *
6192
+ * @uiName Edit limit text
6193
+ * @uiType string
6194
+ */
6195
+ this.editLimitText = "You can edit your link up to 5 times.";
6196
+ /**
6197
+ * Message shown when the edit limit has been reached. Use {supportLink} as a placeholder for the support link.
6198
+ *
6199
+ * @uiName Edit limit reached text
6200
+ * @uiType string
6201
+ */
6202
+ this.editLimitReachedText = "5 edit limit reached. To make more changes, please contact {supportLink}.";
6203
+ /**
6204
+ * Display text for the support link in the edit limit reached message
6205
+ *
6206
+ * @uiName Support link text
6207
+ * @uiType string
6208
+ */
6209
+ this.supportLinkText = "Support";
6210
+ /**
6211
+ * Tooltip text shown when link customization is disabled
6212
+ *
6213
+ * @uiName Customize disabled tooltip
6214
+ * @uiType string
6215
+ */
6216
+ this.customizeDisabledTooltip = "Link customization is not available.";
6118
6217
  h(this);
6119
6218
  }
6120
6219
  disconnectedCallback() { }
@@ -6123,33 +6222,78 @@ const ShareLink = class {
6123
6222
  const props = isDemo()
6124
6223
  ? useDemoShareLink(thisProps)
6125
6224
  : useShareLink(thisProps);
6126
- return h$1(CopyTextView, Object.assign({}, props));
6225
+ return h$1(ShareLinkView, Object.assign({}, props));
6127
6226
  }
6128
6227
  };
6129
6228
  function useDemoShareLink(props) {
6229
+ var _a;
6130
6230
  const [open, setOpen] = useState(false);
6231
+ const [isEditing, setIsEditing] = useState(false);
6232
+ const [editValue, setEditValue] = useState("");
6233
+ const [showSuccess, setShowSuccess] = useState(false);
6131
6234
  const copyString = "https://www.example.com/sharelink/abc";
6132
- return cjs({
6133
- copyString: copyString,
6134
- tooltiptext: props.tooltiptext,
6135
- textAlign: props.textAlign,
6136
- buttonStyle: props.buttonStyle,
6137
- backgroundColor: props.backgroundColor,
6138
- textColor: props.textColor,
6139
- borderRadius: props.borderRadius,
6140
- buttonType: props.buttonType,
6141
- copyButtonLabel: props.copyButtonLabel,
6142
- borderColor: props.borderColor,
6143
- rewardStatus: "AVAILABLE",
6144
- open,
6145
- onClick: () => {
6146
- // Should well supported: https://developer.mozilla.org/en-US/docs/Web/API/Clipboard#browser_compatibility
6147
- // Only if called from a user-initiated event
6148
- navigator.clipboard.writeText(copyString);
6149
- setOpen(true);
6150
- setTimeout(() => setOpen(false), props.tooltiplifespan);
6235
+ const domainPrefix = "https://www.example.com/";
6236
+ const baseProps = {
6237
+ copyTextViewProps: {
6238
+ copyString,
6239
+ tooltiptext: props.tooltiptext,
6240
+ textAlign: props.textAlign,
6241
+ buttonStyle: props.buttonStyle,
6242
+ backgroundColor: props.backgroundColor,
6243
+ textColor: props.textColor,
6244
+ borderRadius: props.borderRadius,
6245
+ buttonType: props.buttonType,
6246
+ copyButtonLabel: props.copyButtonLabel,
6247
+ borderColor: props.borderColor,
6248
+ open,
6249
+ onClick: () => {
6250
+ navigator.clipboard.writeText(copyString);
6251
+ setOpen(true);
6252
+ setTimeout(() => setOpen(false), props.tooltiplifespan);
6253
+ },
6151
6254
  },
6152
- }, props.demoData || {}, { arrayMerge: (_, a) => a });
6255
+ customizeUrl: props.customizeUrl,
6256
+ customizeLinkLabel: props.customizeLinkLabel,
6257
+ saveLabelText: props.saveLabelText,
6258
+ cancelLabelText: props.cancelLabelText,
6259
+ successMessage: props.successMessage,
6260
+ isEditing,
6261
+ editValue,
6262
+ domainPrefix,
6263
+ editsRemaining: 5,
6264
+ maxEdits: 5,
6265
+ limitReached: false,
6266
+ validationError: null,
6267
+ isValidating: false,
6268
+ isSaving: false,
6269
+ showSuccess,
6270
+ characterLimit: 15,
6271
+ charactersRemaining: 15 - editValue.length,
6272
+ editLimitText: props.editLimitText,
6273
+ editLimitReachedText: props.editLimitReachedText,
6274
+ supportLinkText: props.supportLinkText,
6275
+ customizeDisabled: false,
6276
+ customizeDisabledTooltip: (_a = props.customizeDisabledTooltip) !== null && _a !== void 0 ? _a : "Link customization is not available.",
6277
+ onCustomizeClick: () => {
6278
+ setIsEditing(true);
6279
+ setEditValue("");
6280
+ },
6281
+ onEditValueChange: (value) => {
6282
+ setEditValue(value);
6283
+ },
6284
+ onSave: () => {
6285
+ setIsEditing(false);
6286
+ setShowSuccess(true);
6287
+ setTimeout(() => setShowSuccess(false), 3000);
6288
+ },
6289
+ onCancel: () => {
6290
+ setIsEditing(false);
6291
+ setEditValue("");
6292
+ },
6293
+ };
6294
+ return cjs(baseProps, props.demoData || {}, {
6295
+ arrayMerge: (_, a) => a,
6296
+ });
6153
6297
  }
6154
6298
 
6155
6299
  const StatContainer = class {
@@ -6719,7 +6863,7 @@ const TaxAndCashMonolith = class {
6719
6863
  * @uiName Indirect tax number field label
6720
6864
  * @uiGroup Step 2 Properties
6721
6865
  */
6722
- this.step2_indirectTaxNumber = "{taxType, select, GST {GST number} HST {HST number} VAT {VAT number} CT {CT number} SST {SST number} GENERAL {Indirect tax number} other {Tax number}}";
6866
+ this.step2_indirectTaxNumber = "{taxType, select, GST {GST number} HST {HST number} VAT {VAT number} CT {CT number} SST {SST number} GENERAL {Indirect tax number}}";
6723
6867
  /**
6724
6868
  * @uiName Province field label
6725
6869
  * @uiGroup Step 2 Properties
@@ -6729,7 +6873,7 @@ const TaxAndCashMonolith = class {
6729
6873
  * @uiName Missing indirect tax number error message
6730
6874
  * @uiGroup Step 2 Properties
6731
6875
  */
6732
- this.step2_indirectTaxNumberError = "{taxType, select, GST {GST number} HST {HST number} VAT {VAT number} CT {CT number} SST {SST number} GENERAL {Indirect tax number} other {Tax number}} is required";
6876
+ this.step2_indirectTaxNumberError = "{taxType, select, GST {GST number} HST {HST number} VAT {VAT number} CT {CT number} SST {SST number} GENERAL {Indirect tax number}} is required";
6733
6877
  /**
6734
6878
  * Displayed to participants registered for QST.
6735
6879
  * @uiName QST number field label
@@ -7297,7 +7441,7 @@ const TaxAndCashMonolith = class {
7297
7441
  * @uiName Payout status badge
7298
7442
  * @uiGroup Dashboard Properties
7299
7443
  */
7300
- this.dashboard_statusBadgeText = "{badgeText, select, payoutToday {Payout Today} nextPayout {Next Payout} other {Failed} }";
7444
+ this.dashboard_statusBadgeText = "{badgeText, select, payoutToday {Payout Today} nextPayout {Next Payout} }";
7301
7445
  /**
7302
7446
  * Display participants' payout preference on the payout information card, indicating the balance at which they want to get paid.
7303
7447
  * @uiName Payout schedule by threshold text
@@ -29,7 +29,7 @@ import './utilities-77b1e0cc.js';
29
29
  import { P as PortalResetPasswordView } from './sqm-portal-reset-password-view-cfbc0eb0.js';
30
30
  import './ErrorView-74cb3af8.js';
31
31
  import { Q as QrCodeView } from './sqm-qr-code-view-ce476721.js';
32
- import { S as StatContainerView, B as BigStatView, a as ShareButtonView, P as PortalChangePasswordView, b as PoweredByImg$1, c as BaseRegistrationFormView, u as useDemoBigStat, T as TaskCardView, C as CardFeedView, d as CheckboxFieldView, e as CouponCodeView, D as DropdownFieldView, E as EditProfileView, L as LeaderboardView, H as HeroView, I as InputFieldView, N as NameFieldsView, f as ChangeMarktingView, g as PortalFooterView, h as PortalFrameView, R as ReferralIframeView, i as RewardExchangeView, r as rewardExchangeCustomErrorMsg, j as rewardExchangeLongText, k as rewardExchangeSelected, l as chooseAmountFixed, m as chooseAmountFixedNoDescription, n as chooseAmountVariable, o as chooseAmountVariableNoDescription, p as chooseAmountVariableDisabled, q as chooseAmountVariableUnavailable, s as confirmFixed, t as confirmVariable, v as redemptionError, w as queryError, x as success, y as successVariable, z as loading, A as empty$1, F as rewardExchange, G as useShareButton, J as useShareLink, K as ProgressBarView, M as ProgressBar$2, O as LeadFormView, Q as LeadDropdownFieldView, U as ShadowViewAddon } from './ShadowViewAddon-47f1e579.js';
32
+ import { S as StatContainerView, B as BigStatView, a as ShareButtonView, P as PortalChangePasswordView, b as PoweredByImg$1, c as BaseRegistrationFormView, u as useDemoBigStat, T as TaskCardView, C as CardFeedView, d as CheckboxFieldView, e as CouponCodeView, D as DropdownFieldView, E as EditProfileView, L as LeaderboardView, H as HeroView, I as InputFieldView, N as NameFieldsView, f as ChangeMarktingView, g as PortalFooterView, h as PortalFrameView, R as ReferralIframeView, i as RewardExchangeView, r as rewardExchangeCustomErrorMsg, j as rewardExchangeLongText, k as rewardExchangeSelected, l as chooseAmountFixed, m as chooseAmountFixedNoDescription, n as chooseAmountVariable, o as chooseAmountVariableNoDescription, p as chooseAmountVariableDisabled, q as chooseAmountVariableUnavailable, s as confirmFixed, t as confirmVariable, v as redemptionError, w as queryError, x as success, y as successVariable, z as loading, A as empty$1, F as rewardExchange, G as useShareButton, J as ShareLinkView, K as useShareLink, M as ProgressBarView, O as ProgressBar$2, Q as LeadFormView, U as LeadDropdownFieldView, V as ShadowViewAddon } from './ShadowViewAddon-491b58b8.js';
33
33
  import { P as PortalContainerView, a as PortalSectionView } from './sqm-portal-container-view-a8c708cd.js';
34
34
  import { I as InvoiceTableView, a as INDIRECT_TAX_SPAIN_REGIONS, b as INDIRECT_TAX_PROVINCES, O as OtherRegionSlotView, U as UserInfoFormView$1 } from './sqm-user-info-form-view-19d81a2b.js';
35
35
  import { t as taxTypeToName, L as LoadingView } from './data-12e6aae1.js';
@@ -10700,7 +10700,6 @@ const props$1 = {
10700
10700
  iframeSrc: "https://example.com",
10701
10701
  iframeHeight: "100%",
10702
10702
  iframeWidth: "100%",
10703
- codeParam: "rsCode",
10704
10703
  },
10705
10704
  },
10706
10705
  };
@@ -14051,21 +14050,151 @@ const CustomStyles$1 = () => {
14051
14050
  return h(CopyTextView, Object.assign({}, props));
14052
14051
  };
14053
14052
  const CustomStylesWithDemoHooks = () => {
14054
- const props = {
14055
- copyString: "https://noah.example.com",
14056
- open: false,
14057
- tooltiptext: "Copied!",
14058
- backgroundColor: "#1ed760",
14059
- borderRadius: "30px",
14060
- textColor: "red",
14061
- buttonType: "primary",
14062
- borderColor: "#121212",
14063
- };
14064
- return (h("sqm-share-link", { demoData: { ...props }, backgroundColor: "#1ed760" }));
14053
+ return (h("sqm-share-link", { demoData: {
14054
+ copyTextViewProps: {
14055
+ copyString: "https://noah.example.com",
14056
+ open: false,
14057
+ tooltiptext: "Copied!",
14058
+ backgroundColor: "#1ed760",
14059
+ borderRadius: "30px",
14060
+ textColor: "red",
14061
+ buttonType: "primary",
14062
+ borderColor: "#121212",
14063
+ },
14064
+ }, backgroundColor: "#1ed760" }));
14065
14065
  };
14066
14066
  const FullStack = () => {
14067
14067
  return h("sqm-share-link", null);
14068
14068
  };
14069
+ // Customize URL stories
14070
+ const noopFn = () => { };
14071
+ const defaultCustomizeProps = {
14072
+ copyTextViewProps: {
14073
+ copyString: "https://ssqt.co/abc123",
14074
+ open: false,
14075
+ tooltiptext: "Copied!",
14076
+ },
14077
+ customizeUrl: true,
14078
+ customizeLinkLabel: "Customize Link",
14079
+ saveLabelText: "Save",
14080
+ cancelLabelText: "Cancel",
14081
+ successMessage: "Link updated successfully",
14082
+ isEditing: false,
14083
+ editValue: "",
14084
+ domainPrefix: "https://ssqt.co/",
14085
+ editsRemaining: 3,
14086
+ maxEdits: 5,
14087
+ limitReached: false,
14088
+ validationError: null,
14089
+ isValidating: false,
14090
+ isSaving: false,
14091
+ showSuccess: false,
14092
+ characterLimit: 15,
14093
+ charactersRemaining: 15,
14094
+ editLimitText: "You can edit your link up to 5 times.",
14095
+ editLimitReachedText: "5 edit limit reached. To make more changes, please contact {supportLink}.",
14096
+ supportLinkText: "Support",
14097
+ customizeDisabled: false,
14098
+ customizeDisabledTooltip: "Link customization is not available.",
14099
+ onCustomizeClick: noopFn,
14100
+ onEditValueChange: noopFn,
14101
+ onSave: noopFn,
14102
+ onCancel: noopFn,
14103
+ };
14104
+ const CustomizeUrlDefault = () => {
14105
+ return h(ShareLinkView, Object.assign({}, defaultCustomizeProps));
14106
+ };
14107
+ const CustomizeUrlEditing = () => {
14108
+ return (h(ShareLinkView, Object.assign({}, {
14109
+ ...defaultCustomizeProps,
14110
+ isEditing: true,
14111
+ editValue: "nvoiwb18",
14112
+ charactersRemaining: 7,
14113
+ })));
14114
+ };
14115
+ const CustomizeUrlCustomized = () => {
14116
+ return (h(ShareLinkView, Object.assign({}, {
14117
+ ...defaultCustomizeProps,
14118
+ copyTextViewProps: {
14119
+ ...defaultCustomizeProps.copyTextViewProps,
14120
+ copyString: "https://ssqt.co/bobtesterson",
14121
+ },
14122
+ })));
14123
+ };
14124
+ const CustomizeUrlLimitReached = () => {
14125
+ return (h(ShareLinkView, Object.assign({}, {
14126
+ ...defaultCustomizeProps,
14127
+ copyTextViewProps: {
14128
+ ...defaultCustomizeProps.copyTextViewProps,
14129
+ copyString: "https://ssqt.co/bobtesterson",
14130
+ },
14131
+ editsRemaining: 0,
14132
+ limitReached: true,
14133
+ })));
14134
+ };
14135
+ const CustomizeUrlDisabled = () => {
14136
+ return (h(ShareLinkView, Object.assign({}, {
14137
+ ...defaultCustomizeProps,
14138
+ customizeDisabled: true,
14139
+ })));
14140
+ };
14141
+ const CustomizeUrlValidationError = () => {
14142
+ return (h(ShareLinkView, Object.assign({}, {
14143
+ ...defaultCustomizeProps,
14144
+ isEditing: true,
14145
+ editValue: "nvoiwb18",
14146
+ charactersRemaining: 7,
14147
+ validationError: {
14148
+ code: "LINK_TAKEN",
14149
+ title: "This link is already taken",
14150
+ description: "Try adding numbers, a dash or underscore to create a unique link.",
14151
+ },
14152
+ })));
14153
+ };
14154
+ const CustomizeUrlInvalidSymbols = () => {
14155
+ return (h(ShareLinkView, Object.assign({}, {
14156
+ ...defaultCustomizeProps,
14157
+ isEditing: true,
14158
+ editValue: "nvoiwb18",
14159
+ charactersRemaining: 7,
14160
+ validationError: {
14161
+ code: "INVALID_SYMBOLS",
14162
+ title: "Please use only letters, numbers, dashes and underscores",
14163
+ description: "Special symbols can break the link when sharing.",
14164
+ },
14165
+ })));
14166
+ };
14167
+ const CustomizeUrlRestrictedWord = () => {
14168
+ return (h(ShareLinkView, Object.assign({}, {
14169
+ ...defaultCustomizeProps,
14170
+ isEditing: true,
14171
+ editValue: "nvoiwb18",
14172
+ charactersRemaining: 7,
14173
+ validationError: {
14174
+ code: "RESTRICTED_WORD",
14175
+ title: "Please try a different link",
14176
+ description: "This link contains a restricted word.",
14177
+ },
14178
+ })));
14179
+ };
14180
+ const CustomizeUrlSaving = () => {
14181
+ return (h(ShareLinkView, Object.assign({}, {
14182
+ ...defaultCustomizeProps,
14183
+ isEditing: true,
14184
+ editValue: "bobtesterson",
14185
+ isSaving: true,
14186
+ })));
14187
+ };
14188
+ const CustomizeUrlSuccess = () => {
14189
+ return (h(ShareLinkView, Object.assign({}, {
14190
+ ...defaultCustomizeProps,
14191
+ copyTextViewProps: {
14192
+ ...defaultCustomizeProps.copyTextViewProps,
14193
+ copyString: "https://ssqt.co/bobtesterson",
14194
+ },
14195
+ showSuccess: true,
14196
+ })));
14197
+ };
14069
14198
 
14070
14199
  const ShareLink = /*#__PURE__*/Object.freeze({
14071
14200
  __proto__: null,
@@ -14080,7 +14209,17 @@ const ShareLink = /*#__PURE__*/Object.freeze({
14080
14209
  CopyButtonBelow: CopyButtonBelow$3,
14081
14210
  CustomStyles: CustomStyles$1,
14082
14211
  CustomStylesWithDemoHooks: CustomStylesWithDemoHooks,
14083
- FullStack: FullStack
14212
+ FullStack: FullStack,
14213
+ CustomizeUrlDefault: CustomizeUrlDefault,
14214
+ CustomizeUrlEditing: CustomizeUrlEditing,
14215
+ CustomizeUrlCustomized: CustomizeUrlCustomized,
14216
+ CustomizeUrlLimitReached: CustomizeUrlLimitReached,
14217
+ CustomizeUrlDisabled: CustomizeUrlDisabled,
14218
+ CustomizeUrlValidationError: CustomizeUrlValidationError,
14219
+ CustomizeUrlInvalidSymbols: CustomizeUrlInvalidSymbols,
14220
+ CustomizeUrlRestrictedWord: CustomizeUrlRestrictedWord,
14221
+ CustomizeUrlSaving: CustomizeUrlSaving,
14222
+ CustomizeUrlSuccess: CustomizeUrlSuccess
14084
14223
  });
14085
14224
 
14086
14225
  const UseShareLink_stories = {
@@ -14118,11 +14257,11 @@ const BareBonesView$1 = createHookStory(() => {
14118
14257
  return (h("div", null,
14119
14258
  "Sharelink:",
14120
14259
  " ",
14121
- h("code", { style: { borderStyle: "solid", borderWidth: "1px", padding: "2px" } }, res.copyString)));
14260
+ h("code", { style: { borderStyle: "solid", borderWidth: "1px", padding: "2px" } }, res.copyTextViewProps.copyString)));
14122
14261
  });
14123
14262
  const RegularView$2 = createHookStory(() => {
14124
14263
  setupGraphQL$c();
14125
- return (h(CopyTextView, Object.assign({}, useShareLink({
14264
+ return (h(ShareLinkView, Object.assign({}, useShareLink({
14126
14265
  programId: "klip-referral-program",
14127
14266
  tooltiptext: "Copied to clipboard",
14128
14267
  tooltiplifespan: 1000,
@@ -14130,19 +14269,29 @@ const RegularView$2 = createHookStory(() => {
14130
14269
  });
14131
14270
  const FastTooltip = createHookStory(() => {
14132
14271
  setupGraphQL$c();
14133
- return (h(CopyTextView, Object.assign({}, useShareLink({
14272
+ return (h(ShareLinkView, Object.assign({}, useShareLink({
14134
14273
  programId: "klip-referral-program",
14135
- tooltiptext: "⠀⠀⠀⠀⠀⠀⠀⠀⠀HELLO THERE!!!\n⠀⠀⠀⡯⡯⡾⠝⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢊⠘⡮⣣⠪⠢⡑⡌\n⠀⠀⠀⠟⠝⠈⠀⠀⠀⠡⠀⠠⢈⠠⢐⢠⢂⢔⣐⢄⡂⢔⠀⡁⢉⠸⢨⢑⠕⡌\n⠀⠀⡀⠁⠀⠀⠀⡀⢂⠡⠈⡔⣕⢮⣳⢯⣿⣻⣟⣯⣯⢷⣫⣆⡂⠀⠀⢐⠑⡌\n⢀⠠⠐⠈⠀⢀⢂⠢⡂⠕⡁⣝⢮⣳⢽⡽⣾⣻⣿⣯⡯⣟⣞⢾⢜⢆⠀⡀⠀⠪\n⣬⠂⠀⠀⢀⢂⢪⠨⢂⠥⣺⡪⣗⢗⣽⢽⡯⣿⣽⣷⢿⡽⡾⡽⣝⢎⠀⠀⠀⢡\n⣿⠀⠀⠀⢂⠢⢂⢥⢱⡹⣪⢞⡵⣻⡪⡯⡯⣟⡾⣿⣻⡽⣯⡻⣪⠧⠑⠀⠁⢐\n⣿⠀⠀⠀⠢⢑⠠⠑⠕⡝⡎⡗⡝⡎⣞⢽⡹⣕⢯⢻⠹⡹⢚⠝⡷⡽⡨⠀⠀⢔\n⣿⡯⠀⢈⠈⢄⠂⠂⠐⠀⠌⠠⢑⠱⡱⡱⡑⢔⠁⠀⡀⠐⠐⠐⡡⡹⣪⠀⠀⢘\n⣿⣽⠀⡀⡊⠀⠐⠨⠈⡁⠂⢈⠠⡱⡽⣷⡑⠁⠠⠑⠀⢉⢇⣤⢘⣪⢽⠀⢌⢎\n⣿⢾⠀⢌⠌⠀⡁⠢⠂⠐⡀⠀⢀⢳⢽⣽⡺⣨⢄⣑⢉⢃⢭⡲⣕⡭⣹⠠⢐⢗\n⣿⡗⠀⠢⠡⡱⡸⣔⢵⢱⢸⠈⠀⡪⣳⣳⢹⢜⡵⣱⢱⡱⣳⡹⣵⣻⢔⢅⢬⡷\n⣷⡇⡂⠡⡑⢕⢕⠕⡑⠡⢂⢊⢐⢕⡝⡮⡧⡳⣝⢴⡐⣁⠃⡫⡒⣕⢏⡮⣷⡟\n⣷⣻⣅⠑⢌⠢⠁⢐⠠⠑⡐⠐⠌⡪⠮⡫⠪⡪⡪⣺⢸⠰⠡⠠⠐⢱⠨⡪⡪⡰\n⣯⢷⣟⣇⡂⡂⡌⡀⠀⠁⡂⠅⠂⠀⡑⡄⢇⠇⢝⡨⡠⡁⢐⠠⢀⢪⡐⡜⡪⡊\n⣿⢽⡾⢹⡄⠕⡅⢇⠂⠑⣴⡬⣬⣬⣆⢮⣦⣷⣵⣷⡗⢃⢮⠱⡸⢰⢱⢸⢨⢌\n⣯⢯⣟⠸⣳⡅⠜⠔⡌⡐⠈⠻⠟⣿⢿⣿⣿⠿⡻⣃⠢⣱⡳⡱⡩⢢⠣⡃⠢⠁\n⡯⣟⣞⡇⡿⣽⡪⡘⡰⠨⢐⢀⠢⢢⢄⢤⣰⠼⡾⢕⢕⡵⣝⠎⢌⢪⠪⡘⡌⠀\n⡯⣳⠯⠚⢊⠡⡂⢂⠨⠊⠔⡑⠬⡸⣘⢬⢪⣪⡺⡼⣕⢯⢞⢕⢝⠎⢻⢼⣀⠀\n⠁⡂⠔⡁⡢⠣⢀⠢⠀⠅⠱⡐⡱⡘⡔⡕⡕⣲⡹⣎⡮⡏⡑⢜⢼⡱⢩⣗⣯⣟\n⢀⢂⢑⠀⡂⡃⠅⠊⢄⢑⠠⠑⢕⢕⢝⢮⢺⢕⢟⢮⢊⢢⢱⢄⠃⣇⣞⢞⣞⢾\n⢀⠢⡑⡀⢂⢊⠠⠁⡂⡐⠀⠅⡈⠪⠪⠪⠣⠫⠑⡁⢔⠕⣜⣜⢦⡰⡎⡯⡾⡽",
14274
+ tooltiptext: "Copied to clipboard",
14136
14275
  tooltiplifespan: 500,
14137
14276
  }))));
14138
14277
  });
14278
+ const CustomizeUrlEnabled = createHookStory(() => {
14279
+ setupGraphQL$c();
14280
+ return (h(ShareLinkView, Object.assign({}, useShareLink({
14281
+ programId: "klip-referral-program",
14282
+ tooltiptext: "Copied to clipboard",
14283
+ tooltiplifespan: 1000,
14284
+ customizeUrl: true,
14285
+ }))));
14286
+ });
14139
14287
 
14140
14288
  const UseShareLink = /*#__PURE__*/Object.freeze({
14141
14289
  __proto__: null,
14142
14290
  'default': UseShareLink_stories,
14143
14291
  BareBonesView: BareBonesView$1,
14144
14292
  RegularView: RegularView$2,
14145
- FastTooltip: FastTooltip
14293
+ FastTooltip: FastTooltip,
14294
+ CustomizeUrlEnabled: CustomizeUrlEnabled
14146
14295
  });
14147
14296
 
14148
14297
  const scenario$C = "@author:Zach\n@owner:Zach\nFeature: Tabs\n\n The Tabs takes in the Tab component as children and maps through to display their header and content.\n\n Background: A user on the portal is viewing the widget\n Given a user viewing the Tabs component\n\n @motivating\n Scenario: Content inside the active tab is shown\n Given the header is set to <tabHeader>\n And the content inside is <tabContent>\n And the user has clicked <tabHeader>\n Then the <tabContent> is shown\n Examples:\n | tabHeader | tabContent |\n | Settings | This is the settings tab |\n | General | This is the general tab |\n | History | This is the history tab |\n\n @motivating\n @ui\n Scenario: The placement of the tabs is configurable\n Given The placement prop has been passed a valid <placement>\n Then tabs are placed on the <placementResult>\n Examples:\n | placement | placementResult |\n | | top of the content |\n | left | left hand side of the content |\n | right | right hand side of the content |\n | bottom | bottom of the content |\n\n\n @minutia\n @ui\n Scenario Outline: Tabs are setup to use the brand color\n Given the brand color is set to darkblue\n Then the text inside the active tab is darkblue\n And the underline of the active tab is darkblue\n\n @ui\n Scenario: Tabs are responsive\n Given the user is on a mobile device\n When there are more tabs than the horizontal space allows for\n Then clickable arrows appear on the left and right of the tabs\n And the tabs are scrollable\n\n @landmine\n Scenario: Program section cannot be used inside of tabs\n Given a tabs component\n And tab containing a program section with program-id \"test123\"\n And the program section wraps a component using program context\n When the tabs component is rendered\n Then the \"sq:program-id\" event listener for the program section is removed\n And the component does not use program-id \"test123\" to source its data\n And falls back to the global program id";