@windstream/react-shared-components 0.2.60 → 0.2.62

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 (39) hide show
  1. package/dist/contentful/index.d.ts +48 -2
  2. package/dist/contentful/index.esm.js +5 -5
  3. package/dist/contentful/index.esm.js.map +1 -1
  4. package/dist/contentful/index.js +4 -4
  5. package/dist/contentful/index.js.map +1 -1
  6. package/dist/core.d.ts +1 -1
  7. package/dist/index.d.ts +3 -3
  8. package/dist/index.esm.js +2 -2
  9. package/dist/index.esm.js.map +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/styles.css +1 -1
  13. package/package.json +1 -1
  14. package/src/components/brand-button/index.tsx +1 -1
  15. package/src/components/video-link/index.tsx +28 -8
  16. package/src/components/video-link/youtube-embed.test.tsx +11 -7
  17. package/src/components/video-link/youtube-embed.tsx +58 -58
  18. package/src/contentful/blocks/anchored-bottom-banner/index.test.tsx +248 -0
  19. package/src/contentful/blocks/anchored-bottom-banner/index.tsx +197 -29
  20. package/src/contentful/blocks/anchored-bottom-banner/types.ts +46 -0
  21. package/src/contentful/blocks/cards/product-card/index.test.tsx +14 -1
  22. package/src/contentful/blocks/cards/product-card/index.tsx +193 -135
  23. package/src/contentful/blocks/cards/product-card/types.ts +1 -1
  24. package/src/contentful/blocks/carousel/Carousel.stories.tsx +59 -0
  25. package/src/contentful/blocks/carousel/helper.test.tsx +23 -0
  26. package/src/contentful/blocks/carousel/helper.tsx +18 -5
  27. package/src/contentful/blocks/carousel/types.ts +3 -0
  28. package/src/contentful/blocks/dynamic-form/conditional-fields.test.tsx +3 -0
  29. package/src/contentful/blocks/dynamic-form/conditional-fields.tsx +30 -4
  30. package/src/contentful/blocks/dynamic-form/context.ts +2 -0
  31. package/src/contentful/blocks/dynamic-form/field-map.test.tsx +21 -0
  32. package/src/contentful/blocks/dynamic-form/field-map.tsx +15 -0
  33. package/src/contentful/blocks/dynamic-form/form-field.tsx +2 -0
  34. package/src/contentful/blocks/dynamic-form/index.tsx +48 -16
  35. package/src/contentful/blocks/dynamic-form/render.tsx +1 -0
  36. package/src/contentful/blocks/dynamic-form/types.ts +26 -0
  37. package/src/contentful/blocks/dynamic-form/utils.test.ts +86 -0
  38. package/src/contentful/blocks/dynamic-form/utils.ts +57 -0
  39. package/src/contentful/index.ts +5 -1
@@ -234,6 +234,7 @@ interface carouselFieldsInterface {
234
234
  initialSlideIndex?: number;
235
235
  infiniteScroll?: boolean;
236
236
  mobileNavigationType?: boolean;
237
+ twoColumn?: boolean;
237
238
  disclaimerText?: {
238
239
  json: any;
239
240
  };
@@ -269,6 +270,7 @@ interface ProductCardFields {
269
270
  speed?: string;
270
271
  price?: string;
271
272
  priceSuffix?: string;
273
+ priceSuffixBottom?: string;
272
274
  techType?: string;
273
275
  highlighted?: boolean;
274
276
  productCardDescription?: string;
@@ -620,6 +622,7 @@ interface ProductCardProps {
620
622
  techType?: string;
621
623
  ismaxSpeed?: boolean;
622
624
  price: string;
625
+ priceSuffixBottom?: string;
623
626
  description: string;
624
627
  bestValue?: boolean;
625
628
  bestValueText?: string;
@@ -639,7 +642,6 @@ interface ProductCardProps {
639
642
  ctaText?: string;
640
643
  cta?: ButtonProps$1;
641
644
  onCtaClick: () => void;
642
- hostType: "residential" | "smb";
643
645
  renderCheckPlans?: (overrides?: CheckPlansProps) => React__default.ReactNode;
644
646
  }
645
647
 
@@ -811,6 +813,20 @@ interface DynamicTabsT {
811
813
 
812
814
  declare function DynamicTabs(props: DynamicTabsT): react_jsx_runtime.JSX.Element;
813
815
 
816
+ type ScheduledMessageDay = "ALL" | "SUNDAY" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT";
817
+ interface ScheduledMessage {
818
+ id?: string;
819
+ scheduledStart?: string;
820
+ scheduleEnd?: string;
821
+ daysToShow?: ScheduledMessageDay[];
822
+ countdownStartDateTime?: string;
823
+ countdownEndDateTime?: string;
824
+ iconName?: string;
825
+ ctaButtonLabel?: string;
826
+ ctaSuffixText?: string;
827
+ ctaButtonLink?: string;
828
+ ctaButtonTarget?: string;
829
+ }
814
830
  interface AnchoredBottomBannerProps {
815
831
  ctaSuffixText?: string;
816
832
  backgroundColor?: "navy" | "yellow" | "green" | "purple" | "blue" | "white";
@@ -823,6 +839,12 @@ interface AnchoredBottomBannerProps {
823
839
  enableCountdownTimer?: boolean;
824
840
  countdownStartDateTime?: string;
825
841
  countdownEndDateTime?: string;
842
+ scheduledMessages?: ScheduledMessage[];
843
+ onResolved?: (result: {
844
+ hasActiveMessage: boolean;
845
+ activeMessage?: ScheduledMessage;
846
+ applicableWeekday: string;
847
+ }) => void;
826
848
  }
827
849
 
828
850
  declare const AnchoredBottomBanner: React__default.FC<AnchoredBottomBannerProps>;
@@ -985,6 +1007,8 @@ interface DynamicFormFieldConfig {
985
1007
  regexPattern?: string;
986
1008
  applyPresetValidations?: boolean;
987
1009
  selectPresetValidationsToApply?: string;
1010
+ /** When true, a Text field renders the app-injected address autocomplete. */
1011
+ enableAddressAutocomplete?: boolean;
988
1012
  }
989
1013
  interface ConditionalFieldConfig {
990
1014
  fieldId: string;
@@ -993,6 +1017,11 @@ interface ConditionalFieldConfig {
993
1017
  dataSource?: DynamicFormFieldOption[] | null;
994
1018
  note?: string;
995
1019
  formFieldsToShow: DynamicFormItem[];
1020
+ /**
1021
+ * When true, the app has opted this field into the grouped layout styling.
1022
+ * Injected by the consuming app so the shared package stays route-agnostic.
1023
+ */
1024
+ grouped?: boolean;
996
1025
  }
997
1026
  /**
998
1027
  * A flat list item rendered by the form. Either a form field, a conditional
@@ -1061,6 +1090,7 @@ interface FieldRenderProps {
1061
1090
  hasError: boolean;
1062
1091
  existingDataSource?: string;
1063
1092
  isConsentCheckbox?: boolean;
1093
+ enableAddressAutocomplete?: boolean;
1064
1094
  [key: string]: any;
1065
1095
  }
1066
1096
  /**
@@ -1123,6 +1153,22 @@ interface DynamicFormProps {
1123
1153
  /** Field customization + async data. */
1124
1154
  fieldComponentOverrides?: Partial<Record<DynamicFormFieldType, React__default.FC<FieldRenderProps>>>;
1125
1155
  resolveExistingDataSource?: ExistingDataSourceResolver;
1156
+ /**
1157
+ * App-injected renderer for address-autocomplete Text fields. The package is
1158
+ * transport-agnostic, so address suggestion fetching lives in the app.
1159
+ */
1160
+ renderAddressAutocomplete?: React__default.FC<FieldRenderProps>;
1161
+ /**
1162
+ * App-injected submit button, so the app can attach its own CTA analytics,
1163
+ * query-param preservation and animation. When omitted a default button is
1164
+ * rendered.
1165
+ */
1166
+ renderSubmitButton?: (args: {
1167
+ isLoading: boolean;
1168
+ disabled: boolean;
1169
+ submitLabel: string;
1170
+ onSubmit: (event: any) => void;
1171
+ }) => React__default.ReactNode;
1126
1172
  }
1127
1173
 
1128
1174
  declare const DynamicForm: React__default.FC<DynamicFormProps>;
@@ -1169,4 +1215,4 @@ interface ProcessedChecklistItem {
1169
1215
  declare function useProcessedChecklist<T extends boolean = false>(checklistData?: any, titlesOnly?: T, richTextOptions?: Options, richTextClassName?: string): T extends true ? string[] : ProcessedChecklistItem[];
1170
1216
 
1171
1217
  export { Accordion, AddressInputBanner, AnchoredBottomBanner, AwardMarquee, BlogCard, BlogGrid, BlogGridBase, BreadcrumbNavigation, Button, Callout, Cards, Carousel, CartRetentionBanner, ComparisonTable, CookieBanner, CtaCallout, DynamicForm, DynamicTabs, EmailInputBlock, FindKinetic, FloatingBanner, Footer, IframeEmbed, ImagePromoBar, Modal, Navigation, OrderedList, PrimaryHero, ProductCard, SearchBlock, ShapeBackgroundWrapper, SimpleCard, TestimonialCard, Text, constants as dynamicFormConstants, Regex as dynamicFormRegex, label1BoldOptions, renderContentfulRichText, renderContentfulRichTextTable, toDocument, useContentfulRichText, useProcessedChecklist };
1172
- export type { AccordionProps, AddressInputBannerProps, AnchoredBottomBannerProps, AwardMarqueeBackground, AwardMarqueeItem, AwardMarqueeProps, AwardMarqueeSpeed, BlogCardProps$2 as BlogCardProps, BlogGridBaseProps, BlogGridProps, BreadcrumbNavigationProps, ButtonProps, CalloutProps, CardsProps, CarouselProps, CartRetentionBannerBackgroundColor, CartRetentionBannerImageAccentColor, CartRetentionBannerImagePosition, TypeCartRetentionBannerFields as CartRetentionBannerProps, ComparisonTableProps, ConditionalFieldConfig, TypeComponentRichTextFields as CookieBannerProps, CtaCalloutProps, DynamicFormFieldConfig, DynamicFormFieldOption, DynamicFormFieldType, DynamicFormItem, DynamicFormPayload, DynamicFormProps, DynamicTabsT, EmailInputBlockProps, ExistingDataSourceResolver, FieldRenderProps, FindKineticProps, FloatingBannerProps, FooterProps, FormAction, IframeEmbedProps, ImagePromoBarProps, ModalProps, NavigationProps, OrderedListProps, PrimaryHeroProps, ProcessedChecklistItem, ProductCardProps, SearchBlockProps, ShapeBackgroundWrapperProps, SimpleCardProps, SubmitContext, SubmitHandler, TestimonialCardProps, TextProps };
1218
+ export type { AccordionProps, AddressInputBannerProps, AnchoredBottomBannerProps, AwardMarqueeBackground, AwardMarqueeItem, AwardMarqueeProps, AwardMarqueeSpeed, BlogCardProps$2 as BlogCardProps, BlogGridBaseProps, BlogGridProps, BreadcrumbNavigationProps, ButtonProps, CalloutProps, CardsProps, CarouselProps, CartRetentionBannerBackgroundColor, CartRetentionBannerImageAccentColor, CartRetentionBannerImagePosition, TypeCartRetentionBannerFields as CartRetentionBannerProps, ComparisonTableProps, ConditionalFieldConfig, TypeComponentRichTextFields as CookieBannerProps, CtaCalloutProps, DynamicFormFieldConfig, DynamicFormFieldOption, DynamicFormFieldType, DynamicFormItem, DynamicFormPayload, DynamicFormProps, DynamicTabsT, EmailInputBlockProps, ExistingDataSourceResolver, FieldRenderProps, FindKineticProps, FloatingBannerProps, FooterProps, FormAction, IframeEmbedProps, ImagePromoBarProps, ModalProps, NavigationProps, OrderedListProps, PrimaryHeroProps, ProcessedChecklistItem, ProductCardProps, ScheduledMessage, ScheduledMessageDay, SearchBlockProps, ShapeBackgroundWrapperProps, SimpleCardProps, SubmitContext, SubmitHandler, TestimonialCardProps, TextProps };