@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
@@ -3024,7 +3024,7 @@ function ReferralIframeView(props) {
3024
3024
  const styleString = sheet.toString();
3025
3025
  return (index.h("div", { class: sheet.classes.Container },
3026
3026
  index.h("style", { type: "text/css" }, styleString),
3027
- index.h("iframe", { class: sheet.classes.IFrame, src: `${content.iframeSrc}?${encodeURIComponent(content.codeParam)}=${data.shareCode}` })));
3027
+ index.h("iframe", { class: sheet.classes.IFrame, src: `${content.iframeSrc}?rsCode=${data.shareCode}` })));
3028
3028
  }
3029
3029
 
3030
3030
  const CheckMark = () => (index.h("svg", { width: 12, height: 10, fill: "none", xmlns: "http://www.w3.org/2000/svg" },
@@ -4229,6 +4229,178 @@ function useShareButton(props) {
4229
4229
  };
4230
4230
  }
4231
4231
 
4232
+ const vanillaStyle$6 = `
4233
+ :host {
4234
+ display: block;
4235
+ width: 100%;
4236
+ }
4237
+ `;
4238
+ function ShareLinkView(props) {
4239
+ const { copyTextViewProps, customizeUrl, customizeLinkLabel, saveLabelText, cancelLabelText, successMessage, isEditing, editValue, domainPrefix, editsRemaining, maxEdits, limitReached, validationError, isValidating, isSaving, showSuccess, characterLimit, charactersRemaining, editLimitText, editLimitReachedText, supportLinkText, customizeDisabled, customizeDisabledTooltip, onCustomizeClick, onEditValueChange, onSave, onCancel, } = props;
4240
+ const style = {
4241
+ Container: {
4242
+ display: "flex",
4243
+ flexDirection: "column",
4244
+ gap: "var(--sl-spacing-x-small)",
4245
+ width: "100%",
4246
+ },
4247
+ CustomizeLinkText: {
4248
+ margin: "0",
4249
+ fontSize: "var(--sl-font-size-small)",
4250
+ fontWeight: "600",
4251
+ cursor: "pointer",
4252
+ color: "var(--sl-color-neutral-900)",
4253
+ textAlign: "left",
4254
+ "&:hover": {
4255
+ textDecoration: "underline",
4256
+ },
4257
+ },
4258
+ CustomizeLinkDisabled: {
4259
+ margin: "0",
4260
+ fontSize: "var(--sl-font-size-small)",
4261
+ fontWeight: "600",
4262
+ color: "var(--sl-color-neutral-400)",
4263
+ cursor: "default",
4264
+ textAlign: "left",
4265
+ },
4266
+ EditContainer: {
4267
+ display: "flex",
4268
+ flexDirection: "column",
4269
+ gap: "var(--sl-spacing-x-small)",
4270
+ width: "100%",
4271
+ },
4272
+ EditInputWrapper: {
4273
+ display: "flex",
4274
+ alignItems: "center",
4275
+ width: "100%",
4276
+ border: "var(--sqm-border-thickness, 1px) solid var(--sqm-input-border-color, #d1d5db)",
4277
+ borderRadius: "var(--sqm-border-radius-normal, 4px)",
4278
+ background: "var(--sqm-input-background, #fff)",
4279
+ overflow: "hidden",
4280
+ "&:focus-within": {
4281
+ borderColor: "#999999",
4282
+ boxShadow: "0 0 0 var(--sl-focus-ring-width) var(--sl-input-focus-ring-color)",
4283
+ },
4284
+ },
4285
+ DomainPrefix: {
4286
+ padding: "0 0 0 var(--sl-spacing-medium)",
4287
+ fontSize: "var(--sl-font-size-medium)",
4288
+ color: "var(--sl-color-neutral-500)",
4289
+ whiteSpace: "nowrap",
4290
+ userSelect: "none",
4291
+ lineHeight: "var(--sl-input-height-medium)",
4292
+ },
4293
+ EditInput: {
4294
+ flex: "1",
4295
+ border: "none",
4296
+ outline: "none",
4297
+ padding: "0 var(--sl-spacing-medium) 0 0",
4298
+ fontSize: "var(--sl-font-size-medium)",
4299
+ fontFamily: "var(--sl-font-sans)",
4300
+ color: "var(--sl-input-color)",
4301
+ background: "transparent",
4302
+ lineHeight: "var(--sl-input-height-medium)",
4303
+ minWidth: "0",
4304
+ },
4305
+ EditLabel: {
4306
+ margin: "0",
4307
+ fontSize: "var(--sl-font-size-small)",
4308
+ color: "var(--sl-color-neutral-500)",
4309
+ },
4310
+ HelperText: {
4311
+ margin: "0",
4312
+ fontSize: "var(--sl-font-size-small)",
4313
+ color: "var(--sl-color-neutral-500)",
4314
+ },
4315
+ ErrorText: {
4316
+ margin: "0",
4317
+ fontSize: "var(--sl-font-size-small)",
4318
+ color: "var(--sqm-danger-color-text, #dc2626)",
4319
+ },
4320
+ SuccessText: {
4321
+ margin: "0",
4322
+ fontSize: "var(--sl-font-size-small)",
4323
+ color: "var(--sl-color-success-600, #16a34a)",
4324
+ },
4325
+ ActionRow: {
4326
+ display: "flex",
4327
+ gap: "var(--sl-spacing-medium)",
4328
+ alignItems: "center",
4329
+ },
4330
+ SaveButton: {
4331
+ cursor: "pointer",
4332
+ fontFamily: "var(--sl-font-sans)",
4333
+ fontSize: "var(--sl-font-size-small)",
4334
+ fontWeight: "600",
4335
+ padding: "var(--sl-spacing-x-small) var(--sl-spacing-medium)",
4336
+ borderRadius: "var(--sqm-border-radius-normal, 4px)",
4337
+ border: "1px solid var(--sl-color-neutral-900)",
4338
+ background: "var(--sl-color-neutral-900)",
4339
+ color: "#fff",
4340
+ "&:disabled": {
4341
+ opacity: "0.5",
4342
+ cursor: "default",
4343
+ },
4344
+ },
4345
+ CancelButton: {
4346
+ margin: "0",
4347
+ fontSize: "var(--sl-font-size-small)",
4348
+ fontWeight: "600",
4349
+ cursor: "pointer",
4350
+ background: "none",
4351
+ border: "none",
4352
+ padding: "0",
4353
+ fontFamily: "var(--sl-font-sans)",
4354
+ color: "var(--sl-color-neutral-500)",
4355
+ },
4356
+ };
4357
+ const sheet = JSS.createStyleSheet(style);
4358
+ const styleString = sheet.toString();
4359
+ const errorMessageType = (validationError === null || validationError === void 0 ? void 0 : validationError.code) === "LINK_TAKEN" ? "info" : "warning";
4360
+ const showCharactersRemaining = charactersRemaining <= 7;
4361
+ // Editing state
4362
+ if (isEditing) {
4363
+ return (index.h("div", { class: sheet.classes.Container },
4364
+ index.h("style", { type: "text/css" },
4365
+ styleString,
4366
+ vanillaStyle$6),
4367
+ index.h("p", { class: sheet.classes.EditLabel }, "Enter your link"),
4368
+ index.h("div", { class: sheet.classes.EditInputWrapper },
4369
+ index.h("span", { class: sheet.classes.DomainPrefix }, domainPrefix),
4370
+ index.h("input", { class: sheet.classes.EditInput, type: "text", value: editValue, onInput: (e) => onEditValueChange(e.target.value), disabled: isSaving, maxLength: characterLimit })),
4371
+ index.h("p", { class: sheet.classes.HelperText },
4372
+ editLimitText,
4373
+ showCharactersRemaining &&
4374
+ ` Characters remaining: ${charactersRemaining}`),
4375
+ validationError && (index.h("sqm-form-message", { type: errorMessageType },
4376
+ index.h("p", { part: "alert-title" }, validationError.title),
4377
+ validationError.description)),
4378
+ isValidating && index.h("p", { class: sheet.classes.HelperText }, "Validating..."),
4379
+ index.h("div", { class: sheet.classes.ActionRow },
4380
+ index.h("button", { class: sheet.classes.SaveButton, onClick: onSave, disabled: isSaving || isValidating || !!validationError || !editValue }, isSaving ? "Saving..." : saveLabelText),
4381
+ index.h("button", { class: sheet.classes.CancelButton, onClick: onCancel, disabled: isSaving }, cancelLabelText))));
4382
+ }
4383
+ // Default / Customized / Limit reached states
4384
+ return (index.h("div", { class: sheet.classes.Container },
4385
+ index.h("style", { type: "text/css" },
4386
+ styleString,
4387
+ vanillaStyle$6),
4388
+ index.h(copyTextView.CopyTextView, Object.assign({}, copyTextViewProps)),
4389
+ showSuccess && index.h("p", { class: sheet.classes.SuccessText }, successMessage),
4390
+ customizeUrl && (customizeDisabled ? (index.h("sl-tooltip", { content: customizeDisabledTooltip, placement: "top", style: { display: "inline-block", width: "fit-content" } },
4391
+ index.h("p", { class: sheet.classes.CustomizeLinkDisabled }, customizeLinkLabel))) : (index.h("p", { class: limitReached
4392
+ ? sheet.classes.CustomizeLinkDisabled
4393
+ : sheet.classes.CustomizeLinkText, onClick: limitReached ? undefined : onCustomizeClick }, customizeLinkLabel))),
4394
+ customizeUrl && limitReached && (index.h("p", { class: sheet.classes.HelperText }, global.intl.formatMessage({
4395
+ id: "editLimitReached",
4396
+ defaultMessage: editLimitReachedText,
4397
+ }, {
4398
+ supportLink: (index.h("a", { target: "_blank", href: "https://example.com" }, supportLinkText)),
4399
+ })))));
4400
+ }
4401
+
4402
+ const MAX_EDITS = 5;
4403
+ const CHARACTER_LIMIT = 15;
4232
4404
  const MessageLinkQuery$1 = index_module.dist.gql `
4233
4405
  query ($programId: ID, $engagementMedium: UserEngagementMedium!) {
4234
4406
  user: viewer {
@@ -4247,19 +4419,119 @@ const WIDGET_ENGAGEMENT_EVENT = index_module.dist.gql `
4247
4419
  createUserAnalyticsEvent(eventMeta: $eventMeta)
4248
4420
  }
4249
4421
  `;
4422
+ const ADD_SHARE_LINK_CODE = index_module.dist.gql `
4423
+ mutation ($addShareLinkCodeInput: AddShareLinkCodeInput!) {
4424
+ addShareLinkCode(addShareLinkCodeInput: $addShareLinkCodeInput) {
4425
+ linkCode {
4426
+ linkCode
4427
+ shortUrl
4428
+ referralCode {
4429
+ code
4430
+ }
4431
+ }
4432
+ }
4433
+ }
4434
+ `;
4435
+ // TODO: Replace with actual validation query when backend is ready
4436
+ const VALIDATE_LINK_CODE = index_module.dist.gql `
4437
+ query validateLinkCode($linkCode: String!, $programId: ID) {
4438
+ validateShareLinkCode(linkCode: $linkCode, programId: $programId) {
4439
+ valid
4440
+ message
4441
+ }
4442
+ }
4443
+ `;
4444
+ const GET_LINK_DOMAIN = index_module.dist.gql `
4445
+ query getLinkDomain {
4446
+ tenantSettings {
4447
+ primaryLinkDomain {
4448
+ host
4449
+ }
4450
+ }
4451
+ }
4452
+ `;
4453
+ // TODO: Replace with actual edit count query when backend is ready
4454
+ const SHARE_LINK_EDIT_COUNT = index_module.dist.gql `
4455
+ query shareLinkEditCount($programId: ID) {
4456
+ viewer {
4457
+ ... on User {
4458
+ shareLinkCodes(programId: $programId) {
4459
+ totalCount
4460
+ }
4461
+ }
4462
+ }
4463
+ }
4464
+ `;
4465
+ function parseDomainPrefix(url) {
4466
+ try {
4467
+ const parsed = new URL(url);
4468
+ return parsed.origin + "/";
4469
+ }
4470
+ catch {
4471
+ return url;
4472
+ }
4473
+ }
4474
+ function parsePathSuffix(url) {
4475
+ try {
4476
+ const parsed = new URL(url);
4477
+ // Remove leading slash
4478
+ return parsed.pathname.slice(1) + parsed.search + parsed.hash;
4479
+ }
4480
+ catch {
4481
+ return "";
4482
+ }
4483
+ }
4250
4484
  function useShareLink(props) {
4251
- var _a, _b;
4485
+ var _a, _b, _c, _d, _e, _f;
4252
4486
  const { programId = index_module.H() } = props;
4253
4487
  const user = index_module.J();
4254
4488
  const engagementMedium = index_module.B();
4255
4489
  const contextData = index_module.Fn(useReferralCodes.REFERRAL_CODES_NAMESPACE);
4256
- const { data } = index_module.wn(MessageLinkQuery$1, { programId, engagementMedium }, !(user === null || user === void 0 ? void 0 : user.jwt) || !!props.linkOverride || (contextData === null || contextData === void 0 ? void 0 : contextData.shareLink) !== undefined);
4490
+ const { data, refetch } = index_module.wn(MessageLinkQuery$1, { programId, engagementMedium }, !(user === null || user === void 0 ? void 0 : user.jwt) || !!props.linkOverride || (contextData === null || contextData === void 0 ? void 0 : contextData.shareLink) !== undefined);
4257
4491
  const [sendLoadEvent] = index_module.$e(WIDGET_ENGAGEMENT_EVENT);
4258
- const [setCopied, copiedRes] = index_module.$e(useReferralCodes.SET_CODE_COPIED);
4492
+ const [setCopied] = index_module.$e(useReferralCodes.SET_CODE_COPIED);
4493
+ const [addShareLinkCode, { loading: isSaving }] = index_module.$e(ADD_SHARE_LINK_CODE);
4494
+ const { data: linkDomainData } = index_module.wn(GET_LINK_DOMAIN, {}, !(user === null || user === void 0 ? void 0 : user.jwt) || !props.customizeUrl);
4495
+ // TODO: Wire up when backend query is ready
4496
+ const { data: editCountData } = index_module.wn(SHARE_LINK_EDIT_COUNT, { programId }, !(user === null || user === void 0 ? void 0 : user.jwt) || !props.customizeUrl);
4259
4497
  const copyString = (_b = ((contextData === null || contextData === void 0 ? void 0 : contextData.shareLink) || ((_a = data === null || data === void 0 ? void 0 : data.user) === null || _a === void 0 ? void 0 : _a.shareLink))) !== null && _b !== void 0 ? _b :
4260
4498
  // Shown during loading
4261
4499
  "...";
4262
4500
  const [open, setOpen] = domContextHooks_module.useState(false);
4501
+ const [isEditing, setIsEditing] = domContextHooks_module.useState(false);
4502
+ const [editValue, setEditValue] = domContextHooks_module.useState("");
4503
+ const [validationError, setValidationError] = domContextHooks_module.useState(null);
4504
+ const [isValidating, setIsValidating] = domContextHooks_module.useState(false);
4505
+ const [showSuccess, setShowSuccess] = domContextHooks_module.useState(false);
4506
+ const debounceTimerRef = domContextHooks_module.useRef(undefined);
4507
+ const domainPrefix = parseDomainPrefix(copyString);
4508
+ const hasPrimaryLinkDomain = ((_c = linkDomainData === null || linkDomainData === void 0 ? void 0 : linkDomainData.tenantSettings) === null || _c === void 0 ? void 0 : _c.primaryLinkDomain) != null;
4509
+ const customizeDisabled = !hasPrimaryLinkDomain;
4510
+ const editCount = (_f = (_e = (_d = editCountData === null || editCountData === void 0 ? void 0 : editCountData.viewer) === null || _d === void 0 ? void 0 : _d.shareLinkCodes) === null || _e === void 0 ? void 0 : _e.totalCount) !== null && _f !== void 0 ? _f : 0;
4511
+ const editsRemaining = Math.max(0, MAX_EDITS - editCount);
4512
+ const limitReached = editsRemaining <= 0;
4513
+ function mapErrorCodeToInfo(errorCode) {
4514
+ if (!errorCode)
4515
+ return null;
4516
+ const errorMap = {
4517
+ LINK_TAKEN: {
4518
+ code: "LINK_TAKEN",
4519
+ title: props.linkTakenErrorTitle,
4520
+ description: props.linkTakenErrorDescription,
4521
+ },
4522
+ INVALID_SYMBOLS: {
4523
+ code: "INVALID_SYMBOLS",
4524
+ title: props.invalidSymbolsErrorTitle,
4525
+ description: props.invalidSymbolsErrorDescription,
4526
+ },
4527
+ RESTRICTED_WORD: {
4528
+ code: "RESTRICTED_WORD",
4529
+ title: props.restrictedWordErrorTitle,
4530
+ description: props.restrictedWordErrorDescription,
4531
+ },
4532
+ };
4533
+ return errorMap[errorCode];
4534
+ }
4263
4535
  async function onClick() {
4264
4536
  if (contextData) {
4265
4537
  await setCopied({ referralCode: contextData.referralCode });
@@ -4283,7 +4555,101 @@ function useShareLink(props) {
4283
4555
  },
4284
4556
  });
4285
4557
  }
4286
- return { ...props, onClick, open, copyString: copyString };
4558
+ function onCustomizeClick() {
4559
+ if (limitReached || customizeDisabled)
4560
+ return;
4561
+ setIsEditing(true);
4562
+ setEditValue(editCount === 0 ? "" : parsePathSuffix(copyString));
4563
+ setValidationError(null);
4564
+ }
4565
+ function onEditValueChange(value) {
4566
+ const trimmed = value.slice(0, CHARACTER_LIMIT);
4567
+ setEditValue(trimmed);
4568
+ setValidationError(null);
4569
+ if (debounceTimerRef.current)
4570
+ clearTimeout(debounceTimerRef.current);
4571
+ if (!trimmed) {
4572
+ setIsValidating(false);
4573
+ return;
4574
+ }
4575
+ setIsValidating(true);
4576
+ debounceTimerRef.current = setTimeout(async () => {
4577
+ // TODO: Call actual validation query when backend is ready
4578
+ // Example: const result = await validateLinkCode({ linkCode: trimmed, programId });
4579
+ // if (!result?.validateShareLinkCode?.valid) {
4580
+ // setValidationError(mapErrorCodeToInfo(result.validateShareLinkCode.errorCode));
4581
+ // }
4582
+ setIsValidating(false);
4583
+ }, 2000);
4584
+ }
4585
+ async function onSave() {
4586
+ var _a, _b;
4587
+ if (!editValue || validationError || isValidating)
4588
+ return;
4589
+ try {
4590
+ await addShareLinkCode({
4591
+ addShareLinkCodeInput: {
4592
+ userId: user === null || user === void 0 ? void 0 : user.id,
4593
+ accountId: user === null || user === void 0 ? void 0 : user.accountId,
4594
+ programId,
4595
+ linkCode: editValue,
4596
+ },
4597
+ });
4598
+ setIsEditing(false);
4599
+ setShowSuccess(true);
4600
+ await refetch();
4601
+ setTimeout(() => setShowSuccess(false), 3000);
4602
+ }
4603
+ catch (e) {
4604
+ const errorCode = (_a = e === null || e === void 0 ? void 0 : e.extensions) === null || _a === void 0 ? void 0 : _a.code;
4605
+ setValidationError((_b = mapErrorCodeToInfo(errorCode)) !== null && _b !== void 0 ? _b : {
4606
+ code: null,
4607
+ title: "Error",
4608
+ description: (e === null || e === void 0 ? void 0 : e.message) || "Failed to save custom link. Please try again.",
4609
+ });
4610
+ }
4611
+ }
4612
+ function onCancel() {
4613
+ setIsEditing(false);
4614
+ setEditValue("");
4615
+ setValidationError(null);
4616
+ setIsValidating(false);
4617
+ }
4618
+ return {
4619
+ copyTextViewProps: {
4620
+ ...props,
4621
+ onClick,
4622
+ open,
4623
+ copyString,
4624
+ },
4625
+ customizeUrl: props.customizeUrl,
4626
+ customizeLinkLabel: props.customizeLinkLabel,
4627
+ saveLabelText: props.saveLabelText,
4628
+ cancelLabelText: props.cancelLabelText,
4629
+ successMessage: props.successMessage,
4630
+ isEditing,
4631
+ editValue,
4632
+ domainPrefix,
4633
+ editsRemaining,
4634
+ maxEdits: MAX_EDITS,
4635
+ limitReached,
4636
+ validationError,
4637
+ isValidating,
4638
+ isSaving,
4639
+ showSuccess,
4640
+ characterLimit: CHARACTER_LIMIT,
4641
+ charactersRemaining: CHARACTER_LIMIT - editValue.length,
4642
+ editLimitText: props.editLimitText,
4643
+ editLimitReachedText: props.editLimitReachedText,
4644
+ supportLinkText: props.supportLinkText,
4645
+ // customizeDisabled,
4646
+ customizeDisabled: false,
4647
+ customizeDisabledTooltip: props.customizeDisabledTooltip,
4648
+ onCustomizeClick,
4649
+ onEditValueChange,
4650
+ onSave,
4651
+ onCancel,
4652
+ };
4287
4653
  }
4288
4654
 
4289
4655
  const style$9 = {
@@ -4324,7 +4690,7 @@ const style$9 = {
4324
4690
  },
4325
4691
  ErrorStyle: mixins.ErrorStyles,
4326
4692
  };
4327
- const vanillaStyle$6 = `
4693
+ const vanillaStyle$7 = `
4328
4694
  sqm-portal-register {
4329
4695
  margin: 0 auto;
4330
4696
  width: 100%;
@@ -4356,7 +4722,7 @@ function LeadFormView(props) {
4356
4722
  return (index.h(index.Fragment, null,
4357
4723
  states.success && (index.h("div", { class: sheet$9.classes.Wrapper, part: "sqm-base" },
4358
4724
  index.h("style", { type: "text/css" },
4359
- vanillaStyle$6,
4725
+ vanillaStyle$7,
4360
4726
  styleString$9),
4361
4727
  index.h(sqmTextSpanView.TextSpanView, { type: "h3" }, content.pageLabel),
4362
4728
  index.h("sqm-form-message", { loading: states.loading, exportparts: "success-icon" },
@@ -4366,7 +4732,7 @@ function LeadFormView(props) {
4366
4732
  index.h("sl-button", { class: sheet$9.classes.ContinueButton, onClick: callbacks.resetForm, loading: states.loading, exportparts: "base: primarybutton-base", type: "default" }, content.resubmitFormLabel))),
4367
4733
  index.h("div", { class: sheet$9.classes.Wrapper, part: "sqm-base", style: { display: states.success ? "none" : "block" } },
4368
4734
  index.h("style", { type: "text/css" },
4369
- vanillaStyle$6,
4735
+ vanillaStyle$7,
4370
4736
  styleString$9),
4371
4737
  index.h(sqmTextSpanView.TextSpanView, { type: "h3" }, content.pageLabel),
4372
4738
  index.h("sl-form", { class: sheet$9.classes.Column, "onSl-submit": callbacks.submit, ref: (el) => (refs.formRef.current = el), novalidate: true },
@@ -4419,7 +4785,7 @@ const style$a = {
4419
4785
  "margin-bottom": "var(--sl-spacing-large)",
4420
4786
  },
4421
4787
  };
4422
- const vanillaStyle$7 = `
4788
+ const vanillaStyle$8 = `
4423
4789
  :host {
4424
4790
  margin: 0 auto;
4425
4791
  width: 100%;
@@ -4448,7 +4814,7 @@ function LeadDropdownFieldView(props) {
4448
4814
  });
4449
4815
  return (index.h("div", { class: sheet$a.classes.FieldContainer, part: "sqm-base" },
4450
4816
  index.h("style", { type: "text/css" },
4451
- vanillaStyle$7,
4817
+ vanillaStyle$8,
4452
4818
  styleString$a),
4453
4819
  index.h("sl-select", Object.assign({ style: { maxHeight: "100px" }, exportparts: "label: input-label, base: input-base", label: `${content.dropdownLabel}${content.dropdownOptional ? ` ${content.optionalLabel}` : ""}`, name: `/${content.dropdownName}`, multiple: content.multiple }, (!content.dropdownOptional ? { required: true } : []), { disabled: ((_b = states.leadFormState) === null || _b === void 0 ? void 0 : _b.loading) || ((_c = states.leadFormState) === null || _c === void 0 ? void 0 : _c.disabled), validationError: ({ value }) => {
4454
4820
  if (!value && !content.dropdownOptional) {
@@ -4523,6 +4889,7 @@ exports.ReferralIframeView = ReferralIframeView;
4523
4889
  exports.RewardExchangeView = RewardExchangeView;
4524
4890
  exports.ShadowViewAddon = ShadowViewAddon;
4525
4891
  exports.ShareButtonView = ShareButtonView;
4892
+ exports.ShareLinkView = ShareLinkView;
4526
4893
  exports.StatContainerView = StatContainerView;
4527
4894
  exports.TaskCardView = TaskCardView;
4528
4895
  exports.chooseAmountFixed = chooseAmountFixed;