@windstream/react-shared-components 0.1.4 → 0.1.6

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 (152) hide show
  1. package/README.md +635 -635
  2. package/dist/contentful/index.esm.js +1 -1
  3. package/dist/contentful/index.esm.js.map +1 -1
  4. package/dist/contentful/index.js +1 -1
  5. package/dist/contentful/index.js.map +1 -1
  6. package/dist/core.d.ts +3 -3
  7. package/dist/index.esm.js +1 -1
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/styles.css +1 -1
  12. package/package.json +177 -177
  13. package/src/components/accordion/Accordion.stories.tsx +230 -230
  14. package/src/components/accordion/types.ts +11 -11
  15. package/src/components/alert-card/AlertCard.stories.tsx +171 -171
  16. package/src/components/alert-card/index.tsx +40 -38
  17. package/src/components/alert-card/types.ts +12 -12
  18. package/src/components/brand-button/BrandButton.stories.tsx +223 -223
  19. package/src/components/brand-button/helpers.ts +35 -35
  20. package/src/components/brand-button/index.tsx +115 -115
  21. package/src/components/brand-button/types.ts +37 -37
  22. package/src/components/button/Button.stories.tsx +108 -108
  23. package/src/components/button/index.tsx +27 -27
  24. package/src/components/button/types.ts +14 -14
  25. package/src/components/call-button/CallButton.stories.tsx +324 -324
  26. package/src/components/call-button/index.tsx +86 -86
  27. package/src/components/call-button/types.ts +11 -11
  28. package/src/components/checkbox/Checkbox.stories.tsx +247 -247
  29. package/src/components/checkbox/index.tsx +197 -197
  30. package/src/components/checkbox/types.ts +27 -27
  31. package/src/components/checklist/Checklist.stories.tsx +150 -150
  32. package/src/components/checklist/index.tsx +59 -59
  33. package/src/components/checklist/types.ts +16 -16
  34. package/src/components/collapse/Collapse.stories.tsx +255 -255
  35. package/src/components/collapse/index.tsx +46 -46
  36. package/src/components/collapse/types.ts +6 -6
  37. package/src/components/divider/Divider.stories.tsx +205 -205
  38. package/src/components/divider/index.tsx +22 -22
  39. package/src/components/divider/type.ts +3 -3
  40. package/src/components/image/Image.stories.tsx +113 -113
  41. package/src/components/image/index.tsx +25 -25
  42. package/src/components/image/types.ts +40 -40
  43. package/src/components/input/Input.stories.tsx +325 -325
  44. package/src/components/input/index.tsx +177 -177
  45. package/src/components/input/types.ts +37 -37
  46. package/src/components/link/Link.stories.tsx +163 -163
  47. package/src/components/link/types.ts +25 -25
  48. package/src/components/list/List.stories.tsx +272 -272
  49. package/src/components/list/index.tsx +88 -88
  50. package/src/components/list/list-item/index.tsx +38 -38
  51. package/src/components/list/list-item/types.ts +13 -13
  52. package/src/components/list/types.ts +29 -29
  53. package/src/components/material-icon/MaterialIcon.stories.tsx +322 -322
  54. package/src/components/material-icon/constants.ts +98 -98
  55. package/src/components/material-icon/index.tsx +47 -47
  56. package/src/components/material-icon/types.ts +31 -31
  57. package/src/components/modal/Modal.stories.tsx +171 -171
  58. package/src/components/modal/index.tsx +164 -164
  59. package/src/components/modal/types.ts +24 -24
  60. package/src/components/next-image/index.tsx +32 -32
  61. package/src/components/next-image/types.ts +1 -1
  62. package/src/components/pagination/index.tsx +100 -100
  63. package/src/components/pagination/types.ts +6 -6
  64. package/src/components/radio-button/RadioButton.stories.tsx +307 -307
  65. package/src/components/radio-button/index.tsx +75 -75
  66. package/src/components/radio-button/types.ts +21 -21
  67. package/src/components/see-more/SeeMore.stories.tsx +181 -181
  68. package/src/components/see-more/index.tsx +44 -44
  69. package/src/components/see-more/types.ts +4 -4
  70. package/src/components/select/Select.stories.tsx +411 -411
  71. package/src/components/select/index.tsx +150 -150
  72. package/src/components/select/types.ts +35 -35
  73. package/src/components/select-plan-button/SelectPlanButton.stories.tsx +184 -184
  74. package/src/components/select-plan-button/index.tsx +57 -57
  75. package/src/components/select-plan-button/types.ts +14 -14
  76. package/src/components/skeleton/Skeleton.stories.tsx +179 -179
  77. package/src/components/skeleton/index.tsx +61 -61
  78. package/src/components/skeleton/types.ts +4 -4
  79. package/src/components/spinner/Spinner.stories.tsx +335 -335
  80. package/src/components/spinner/index.tsx +44 -44
  81. package/src/components/spinner/types.ts +5 -5
  82. package/src/components/text/Text.stories.tsx +321 -321
  83. package/src/components/text/index.tsx +25 -25
  84. package/src/components/text/types.ts +45 -45
  85. package/src/components/tooltip/Tooltip.stories.tsx +219 -219
  86. package/src/components/tooltip/index.tsx +74 -74
  87. package/src/components/tooltip/types.ts +7 -7
  88. package/src/components/view-cart-button/ViewCartButton.stories.tsx +252 -252
  89. package/src/components/view-cart-button/index.tsx +42 -42
  90. package/src/components/view-cart-button/types.ts +5 -5
  91. package/src/contentful/blocks/blogs-grid/index.tsx +129 -129
  92. package/src/contentful/blocks/blogs-grid/types.ts +26 -26
  93. package/src/contentful/blocks/breadcrumbs/index.tsx +55 -55
  94. package/src/contentful/blocks/button/Button.stories.tsx +40 -40
  95. package/src/contentful/blocks/button/index.tsx +108 -108
  96. package/src/contentful/blocks/button/types.ts +34 -34
  97. package/src/contentful/blocks/callout/Callout.stories.tsx +23 -23
  98. package/src/contentful/blocks/callout/index.tsx +66 -66
  99. package/src/contentful/blocks/cards/Cards.stories.tsx +23 -23
  100. package/src/contentful/blocks/cards/blog-card/index.tsx +99 -99
  101. package/src/contentful/blocks/cards/blog-card/types.ts +14 -14
  102. package/src/contentful/blocks/cards/index.tsx +13 -13
  103. package/src/contentful/blocks/cards/product-card/index.tsx +208 -208
  104. package/src/contentful/blocks/cards/product-card/types.ts +28 -28
  105. package/src/contentful/blocks/cards/testimonial-card/index.tsx +88 -88
  106. package/src/contentful/blocks/cards/testimonial-card/types.tsx +12 -12
  107. package/src/contentful/blocks/cards/types.ts +1 -1
  108. package/src/contentful/blocks/carousel/Carousel.stories.tsx +23 -23
  109. package/src/contentful/blocks/carousel/helper.tsx +356 -356
  110. package/src/contentful/blocks/carousel/index.tsx +74 -74
  111. package/src/contentful/blocks/carousel/types.ts +143 -143
  112. package/src/contentful/blocks/cta-callout/CtaCallout.stories.tsx +46 -46
  113. package/src/contentful/blocks/cta-callout/index.tsx +60 -60
  114. package/src/contentful/blocks/cta-callout/types.ts +26 -26
  115. package/src/contentful/blocks/find-kinetic/index.tsx +130 -130
  116. package/src/contentful/blocks/floating-banner/FloatingBanner.stories.tsx +34 -34
  117. package/src/contentful/blocks/floating-banner/types.ts +22 -22
  118. package/src/contentful/blocks/footer/Footer.stories.tsx +30 -30
  119. package/src/contentful/blocks/image-promo-bar/ImagePromoBar.stories.tsx +23 -23
  120. package/src/contentful/blocks/image-promo-bar/helper.tsx +28 -28
  121. package/src/contentful/blocks/image-promo-bar/index.tsx +45 -41
  122. package/src/contentful/blocks/image-promo-bar/types.ts +44 -44
  123. package/src/contentful/blocks/image-promo-bar/vimeo-embed.tsx +93 -93
  124. package/src/contentful/blocks/image-promo-bar/youtube-embed.tsx +46 -46
  125. package/src/contentful/blocks/modal/constants.ts +53 -53
  126. package/src/contentful/blocks/modal/index.tsx +91 -91
  127. package/src/contentful/blocks/modal/types.ts +12 -12
  128. package/src/contentful/blocks/navigation/desktop-link-groups.tsx/index.tsx +111 -111
  129. package/src/contentful/blocks/navigation/index.tsx +385 -385
  130. package/src/contentful/blocks/navigation/mobile-link-groups.tsx/index.tsx +80 -80
  131. package/src/contentful/blocks/navigation/types.ts +41 -41
  132. package/src/contentful/blocks/primary-hero/PrimaryHero.stories.tsx +23 -23
  133. package/src/contentful/blocks/primary-hero/index.tsx +229 -229
  134. package/src/contentful/blocks/primary-hero/types.ts +35 -35
  135. package/src/contentful/blocks/search-block/index.tsx +90 -90
  136. package/src/contentful/blocks/shape-background-wrapper/ShapeBackgroundWrapper.stories.tsx +26 -26
  137. package/src/contentful/blocks/shape-background-wrapper/index.tsx +124 -124
  138. package/src/contentful/blocks/shape-background-wrapper/types.ts +36 -36
  139. package/src/contentful/blocks/text/Text.stories.tsx +23 -23
  140. package/src/contentful/blocks/text/index.tsx +12 -12
  141. package/src/contentful/blocks/text/types.ts +1 -1
  142. package/src/contentful/index.ts +69 -69
  143. package/src/hooks/use-body-scroll-lock.ts +34 -34
  144. package/src/hooks/use-outside-click.ts +17 -17
  145. package/src/index.ts +96 -96
  146. package/src/next/index.ts +5 -5
  147. package/src/setupTests.ts +46 -46
  148. package/src/stories/DocsTemplate.tsx +24 -24
  149. package/src/styles/globals.css +343 -343
  150. package/src/types/global.d.ts +9 -9
  151. package/src/types/micro-components.ts +99 -99
  152. package/src/utils/index.ts +49 -49
@@ -1,163 +1,163 @@
1
- import { Link } from "./index";
2
-
3
- import { DocsPage } from "@shared/stories/DocsTemplate";
4
- import type { Meta, StoryObj } from "@storybook/react";
5
-
6
- const meta: Meta<typeof Link> = {
7
- title: "Components/Link",
8
- component: Link,
9
- tags: ["autodocs"],
10
- parameters: {
11
- layout: "centered",
12
- docs: {
13
- page: DocsPage,
14
- description: {
15
- component:
16
- "A flexible link component with multiple variants and states.",
17
- },
18
- },
19
- },
20
- argTypes: {
21
- variant: {
22
- control: { type: "select" },
23
- options: ["default", "unstyled"],
24
- description: "Link styling variant",
25
- },
26
- href: {
27
- control: { type: "text" },
28
- description: "Link URL",
29
- },
30
- target: {
31
- control: { type: "select" },
32
- options: ["_self", "_blank", "_parent", "_top"],
33
- description: "Link target",
34
- },
35
- disabled: {
36
- control: { type: "boolean" },
37
- description: "Disable the link",
38
- },
39
- children: {
40
- control: { type: "text" },
41
- description: "Link content",
42
- },
43
- },
44
- args: {
45
- children: "Link Text",
46
- href: "#",
47
- variant: "default",
48
- target: "_self",
49
- disabled: false,
50
- },
51
- };
52
-
53
- export default meta;
54
- type Story = StoryObj<typeof meta>;
55
-
56
- // Default link
57
- export const Default: Story = {
58
- args: {},
59
- };
60
-
61
- // Unstyled link
62
- export const Unstyled: Story = {
63
- args: {
64
- variant: "unstyled",
65
- children: "Unstyled Link",
66
- },
67
- };
68
-
69
- // External link
70
- export const External: Story = {
71
- args: {
72
- href: "https://example.com",
73
- target: "_blank",
74
- children: "External Link ↗",
75
- },
76
- };
77
-
78
- // Disabled link
79
- export const Disabled: Story = {
80
- args: {
81
- disabled: true,
82
- children: "Disabled Link",
83
- },
84
- };
85
-
86
- // Link with icon
87
- export const WithIcon: Story = {
88
- args: {
89
- children: "Link with Icon →",
90
- className: "flex items-center gap-2",
91
- },
92
- };
93
-
94
- // Navigation links
95
- export const Navigation: Story = {
96
- render: () => (
97
- <nav className="flex gap-6">
98
- <Link href="#home" variant="default">
99
- Home
100
- </Link>
101
- <Link href="#about">About</Link>
102
- <Link href="#services">Services</Link>
103
- <Link href="#contact">Contact</Link>
104
- </nav>
105
- ),
106
- parameters: {
107
- docs: {
108
- description: {
109
- story: "Navigation menu with different link variants.",
110
- },
111
- },
112
- },
113
- };
114
-
115
- // All variants showcase
116
- export const AllVariants: Story = {
117
- render: () => (
118
- <div className="space-y-6">
119
- <div>
120
- <h3 className="mb-3 text-lg font-semibold">Variants</h3>
121
- <div className="flex gap-4">
122
- <Link href="#" variant="default">
123
- Default
124
- </Link>
125
- <Link href="#" variant="unstyled">
126
- Unstyled
127
- </Link>
128
- </div>
129
- </div>
130
-
131
- <div>
132
- <h3 className="mb-3 text-lg font-semibold">Variants</h3>
133
- <div className="flex items-center gap-4">
134
- <Link href="#" variant="default">
135
- Default
136
- </Link>
137
- <Link href="#" variant="unstyled">
138
- Unstyled
139
- </Link>
140
- </div>
141
- </div>
142
-
143
- <div>
144
- <h3 className="mb-3 text-lg font-semibold">States</h3>
145
- <div className="flex gap-4">
146
- <Link href="#" disabled>
147
- Disabled
148
- </Link>
149
- <Link href="https://example.com" target="_blank">
150
- External ↗
151
- </Link>
152
- </div>
153
- </div>
154
- </div>
155
- ),
156
- parameters: {
157
- docs: {
158
- description: {
159
- story: "Showcase of all link variants, sizes, and states.",
160
- },
161
- },
162
- },
163
- };
1
+ import { Link } from "./index";
2
+
3
+ import { DocsPage } from "@shared/stories/DocsTemplate";
4
+ import type { Meta, StoryObj } from "@storybook/react";
5
+
6
+ const meta: Meta<typeof Link> = {
7
+ title: "Components/Link",
8
+ component: Link,
9
+ tags: ["autodocs"],
10
+ parameters: {
11
+ layout: "centered",
12
+ docs: {
13
+ page: DocsPage,
14
+ description: {
15
+ component:
16
+ "A flexible link component with multiple variants and states.",
17
+ },
18
+ },
19
+ },
20
+ argTypes: {
21
+ variant: {
22
+ control: { type: "select" },
23
+ options: ["default", "unstyled"],
24
+ description: "Link styling variant",
25
+ },
26
+ href: {
27
+ control: { type: "text" },
28
+ description: "Link URL",
29
+ },
30
+ target: {
31
+ control: { type: "select" },
32
+ options: ["_self", "_blank", "_parent", "_top"],
33
+ description: "Link target",
34
+ },
35
+ disabled: {
36
+ control: { type: "boolean" },
37
+ description: "Disable the link",
38
+ },
39
+ children: {
40
+ control: { type: "text" },
41
+ description: "Link content",
42
+ },
43
+ },
44
+ args: {
45
+ children: "Link Text",
46
+ href: "#",
47
+ variant: "default",
48
+ target: "_self",
49
+ disabled: false,
50
+ },
51
+ };
52
+
53
+ export default meta;
54
+ type Story = StoryObj<typeof meta>;
55
+
56
+ // Default link
57
+ export const Default: Story = {
58
+ args: {},
59
+ };
60
+
61
+ // Unstyled link
62
+ export const Unstyled: Story = {
63
+ args: {
64
+ variant: "unstyled",
65
+ children: "Unstyled Link",
66
+ },
67
+ };
68
+
69
+ // External link
70
+ export const External: Story = {
71
+ args: {
72
+ href: "https://example.com",
73
+ target: "_blank",
74
+ children: "External Link ↗",
75
+ },
76
+ };
77
+
78
+ // Disabled link
79
+ export const Disabled: Story = {
80
+ args: {
81
+ disabled: true,
82
+ children: "Disabled Link",
83
+ },
84
+ };
85
+
86
+ // Link with icon
87
+ export const WithIcon: Story = {
88
+ args: {
89
+ children: "Link with Icon →",
90
+ className: "flex items-center gap-2",
91
+ },
92
+ };
93
+
94
+ // Navigation links
95
+ export const Navigation: Story = {
96
+ render: () => (
97
+ <nav className="flex gap-6">
98
+ <Link href="#home" variant="default">
99
+ Home
100
+ </Link>
101
+ <Link href="#about">About</Link>
102
+ <Link href="#services">Services</Link>
103
+ <Link href="#contact">Contact</Link>
104
+ </nav>
105
+ ),
106
+ parameters: {
107
+ docs: {
108
+ description: {
109
+ story: "Navigation menu with different link variants.",
110
+ },
111
+ },
112
+ },
113
+ };
114
+
115
+ // All variants showcase
116
+ export const AllVariants: Story = {
117
+ render: () => (
118
+ <div className="space-y-6">
119
+ <div>
120
+ <h3 className="mb-3 text-lg font-semibold">Variants</h3>
121
+ <div className="flex gap-4">
122
+ <Link href="#" variant="default">
123
+ Default
124
+ </Link>
125
+ <Link href="#" variant="unstyled">
126
+ Unstyled
127
+ </Link>
128
+ </div>
129
+ </div>
130
+
131
+ <div>
132
+ <h3 className="mb-3 text-lg font-semibold">Variants</h3>
133
+ <div className="flex items-center gap-4">
134
+ <Link href="#" variant="default">
135
+ Default
136
+ </Link>
137
+ <Link href="#" variant="unstyled">
138
+ Unstyled
139
+ </Link>
140
+ </div>
141
+ </div>
142
+
143
+ <div>
144
+ <h3 className="mb-3 text-lg font-semibold">States</h3>
145
+ <div className="flex gap-4">
146
+ <Link href="#" disabled>
147
+ Disabled
148
+ </Link>
149
+ <Link href="https://example.com" target="_blank">
150
+ External ↗
151
+ </Link>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ ),
156
+ parameters: {
157
+ docs: {
158
+ description: {
159
+ story: "Showcase of all link variants, sizes, and states.",
160
+ },
161
+ },
162
+ },
163
+ };
@@ -1,25 +1,25 @@
1
- import {
2
- type AnchorHTMLAttributes,
3
- type CSSProperties,
4
- type MouseEvent,
5
- type ReactNode,
6
- } from "react";
7
-
8
- export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
9
- /** Content to render inside the link */
10
- children: ReactNode;
11
- /** URL to navigate to */
12
- href?: string;
13
- /** Custom className for the link */
14
- className?: string;
15
- /** Click handler function */
16
- onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
17
- /** Additional styling options */
18
- variant?: "default" | "unstyled";
19
- /** Custom styles */
20
- style?: CSSProperties;
21
- /** External link behavior - opens in new tab */
22
- external?: boolean;
23
- /** Disable the link */
24
- disabled?: boolean;
25
- }
1
+ import {
2
+ type AnchorHTMLAttributes,
3
+ type CSSProperties,
4
+ type MouseEvent,
5
+ type ReactNode,
6
+ } from "react";
7
+
8
+ export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
9
+ /** Content to render inside the link */
10
+ children: ReactNode;
11
+ /** URL to navigate to */
12
+ href?: string;
13
+ /** Custom className for the link */
14
+ className?: string;
15
+ /** Click handler function */
16
+ onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
17
+ /** Additional styling options */
18
+ variant?: "default" | "unstyled";
19
+ /** Custom styles */
20
+ style?: CSSProperties;
21
+ /** External link behavior - opens in new tab */
22
+ external?: boolean;
23
+ /** Disable the link */
24
+ disabled?: boolean;
25
+ }