@windstream/react-shared-components 0.0.1
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/LICENSE +21 -0
- package/README.md +360 -0
- package/dist/core.d.ts +389 -0
- package/dist/index.d.ts +389 -0
- package/dist/index.esm.js +35 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +3 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.esm.js +2 -0
- package/dist/utils/index.esm.js.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +151 -0
- package/src/components/accordion/Accordion.stories.tsx +225 -0
- package/src/components/accordion/index.tsx +36 -0
- package/src/components/accordion/types.ts +10 -0
- package/src/components/alert-card/AlertCard.stories.tsx +172 -0
- package/src/components/alert-card/index.tsx +35 -0
- package/src/components/alert-card/types.ts +9 -0
- package/src/components/brand-button/BrandButton.stories.tsx +221 -0
- package/src/components/brand-button/helpers.ts +35 -0
- package/src/components/brand-button/index.tsx +90 -0
- package/src/components/brand-button/types.ts +27 -0
- package/src/components/button/Button.stories.tsx +108 -0
- package/src/components/button/index.tsx +23 -0
- package/src/components/button/types.ts +14 -0
- package/src/components/call-button/CallButton.stories.tsx +324 -0
- package/src/components/call-button/index.tsx +80 -0
- package/src/components/call-button/types.ts +9 -0
- package/src/components/checkbox/Checkbox.stories.tsx +248 -0
- package/src/components/checkbox/index.tsx +185 -0
- package/src/components/checkbox/types.ts +24 -0
- package/src/components/checklist/Checklist.stories.tsx +151 -0
- package/src/components/checklist/index.tsx +33 -0
- package/src/components/checklist/types.ts +6 -0
- package/src/components/collapse/Collapse.stories.tsx +256 -0
- package/src/components/collapse/index.tsx +44 -0
- package/src/components/collapse/types.ts +6 -0
- package/src/components/divider/Divider.stories.tsx +206 -0
- package/src/components/divider/index.tsx +23 -0
- package/src/components/divider/type.ts +3 -0
- package/src/components/input/Input.stories.tsx +358 -0
- package/src/components/input/index.tsx +174 -0
- package/src/components/input/types.ts +37 -0
- package/src/components/link/Link.stories.tsx +163 -0
- package/src/components/link/index.tsx +96 -0
- package/src/components/link/types.ts +25 -0
- package/src/components/list/List.stories.tsx +272 -0
- package/src/components/list/index.tsx +86 -0
- package/src/components/list/list-item/index.tsx +36 -0
- package/src/components/list/list-item/types.ts +13 -0
- package/src/components/list/types.ts +29 -0
- package/src/components/material-icon/MaterialIcon.stories.tsx +330 -0
- package/src/components/material-icon/constants.ts +95 -0
- package/src/components/material-icon/index.tsx +44 -0
- package/src/components/material-icon/types.ts +31 -0
- package/src/components/modal/Modal.stories.tsx +171 -0
- package/src/components/modal/index.tsx +168 -0
- package/src/components/modal/types.ts +24 -0
- package/src/components/radio-button/RadioButton.stories.tsx +307 -0
- package/src/components/radio-button/index.tsx +73 -0
- package/src/components/radio-button/types.ts +22 -0
- package/src/components/see-more/SeeMore.stories.tsx +182 -0
- package/src/components/see-more/index.tsx +38 -0
- package/src/components/see-more/types.ts +4 -0
- package/src/components/select/Select.stories.tsx +410 -0
- package/src/components/select/index.tsx +150 -0
- package/src/components/select/types.ts +34 -0
- package/src/components/select-plan-button/SelectPlanButton.stories.tsx +160 -0
- package/src/components/select-plan-button/index.tsx +21 -0
- package/src/components/select-plan-button/types.ts +4 -0
- package/src/components/skeleton/Skeleton.stories.tsx +180 -0
- package/src/components/skeleton/index.tsx +61 -0
- package/src/components/skeleton/types.ts +4 -0
- package/src/components/spinner/Spinner.stories.tsx +335 -0
- package/src/components/spinner/index.tsx +44 -0
- package/src/components/spinner/types.ts +5 -0
- package/src/components/text/Text.stories.tsx +302 -0
- package/src/components/text/index.tsx +26 -0
- package/src/components/text/types.ts +45 -0
- package/src/components/tooltip/Tooltip.stories.tsx +220 -0
- package/src/components/tooltip/index.tsx +78 -0
- package/src/components/tooltip/types.ts +7 -0
- package/src/components/view-cart-button/ViewCartButton.stories.tsx +241 -0
- package/src/components/view-cart-button/index.tsx +39 -0
- package/src/components/view-cart-button/types.ts +5 -0
- package/src/hooks/use-body-scroll-lock.ts +31 -0
- package/src/index.ts +81 -0
- package/src/setupTests.ts +46 -0
- package/src/stories/DocsTemplate.tsx +26 -0
- package/src/stories/assets/accessibility.png +0 -0
- package/src/stories/assets/accessibility.svg +1 -0
- package/src/stories/assets/addon-library.png +0 -0
- package/src/stories/assets/assets.png +0 -0
- package/src/stories/assets/avif-test-image.avif +0 -0
- package/src/stories/assets/context.png +0 -0
- package/src/stories/assets/discord.svg +1 -0
- package/src/stories/assets/docs.png +0 -0
- package/src/stories/assets/figma-plugin.png +0 -0
- package/src/stories/assets/github.svg +1 -0
- package/src/stories/assets/share.png +0 -0
- package/src/stories/assets/styling.png +0 -0
- package/src/stories/assets/testing.png +0 -0
- package/src/stories/assets/theming.png +0 -0
- package/src/stories/assets/tutorials.svg +1 -0
- package/src/stories/assets/youtube.svg +1 -0
- package/src/styles/globals.css +50 -0
- package/src/types/global.d.ts +9 -0
- package/src/utils/index.ts +49 -0
- package/tailwind.config.cjs +524 -0
package/dist/styles.css
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
|
|
2
|
+
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
|
|
3
|
+
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:var(--win-site-font),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}*{box-sizing:border-box}html{font-family:var(--win-site-font)}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1200px){.container{max-width:1200px}}@media (min-width:1280px){.container{max-width:1280px}}.heading1{font-size:3rem;font-weight:400;line-height:3rem}.heading2{font-size:2.25rem;font-weight:400;line-height:2.5rem}.heading3{font-size:1.875rem;font-weight:400;line-height:2.375rem}.heading4{font-size:1.5rem;font-weight:400;line-height:1.75rem}.heading5{font-family:Figtree,sans-serif;font-size:1.875rem;font-weight:600;line-height:2.25rem}.heading6{font-weight:600}.heading6,.subheading1{font-family:Figtree,sans-serif;font-size:1.5rem;line-height:2rem}.subheading1{font-weight:400}.subheading2{font-family:Figtree,sans-serif;font-size:1.5rem;font-weight:700;line-height:2rem}.subheading3{font-weight:400}.subheading3,.subheading4{font-family:Figtree,sans-serif;font-size:1.125rem;line-height:1.75rem}.subheading4{font-weight:700}.subheading5{font-size:3.75rem;line-height:3.75rem}.subheading5,.subheading6{font-family:Figtree,sans-serif;font-weight:300}.subheading6{font-size:3rem;line-height:3rem}.body1{font-size:1.25rem}.body1,.body2{font-family:Figtree,sans-serif;font-weight:400;line-height:1.75rem}.body2{font-size:1.125rem}.body3{font-size:1rem;line-height:1.5rem}.body3,.footnote{font-family:Figtree,sans-serif;font-weight:400}.footnote{font-size:.875rem;line-height:1.25rem}.micro{font-family:Figtree,sans-serif;font-size:.75rem;font-weight:400;line-height:1rem}.label1{font-size:1.25rem}.label1,.label2{font-family:Figtree,sans-serif;font-weight:600;line-height:1.75rem}.label2{font-size:1.125rem}.label3{font-size:1rem;line-height:1.5rem}.label3,.label4{font-family:Figtree,sans-serif;font-weight:600}.label4{font-size:.875rem;line-height:1.25rem}.label5{font-size:1.25rem}.btn-small,.label5{font-weight:700;line-height:1.75rem}.btn-small{font-size:1.125rem;height:3rem}.btn-medium{height:3.5rem}.btn-large,.btn-medium{font-size:1.25rem;font-weight:700;line-height:1.75rem}.btn-large{height:4rem}.btn-x-large{font-size:1.875rem;font-weight:400;height:5.5rem;line-height:2.375rem}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.animate-blink{animation:blink 1.5s ease-in-out infinite}.sr-only{clip:rect(0,0,0,0)!important;border-width:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.visible{visibility:visible!important}.collapse{visibility:collapse!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.inset-0{inset:0!important}.inset-\[10\%\]{inset:10%!important}.inset-\[15\%\]{inset:15%!important}.inset-\[5\%\]{inset:5%!important}.-left-4{left:-1rem!important}.-left-6{left:-1.5rem!important}.-left-8{left:-2rem!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.right-0{right:0!important}.top-0{top:0!important}.top-1\/2{top:50%!important}.top-\[18\%\]{top:18%!important}.top-auto{top:auto!important}.top-full{top:100%!important}.z-20{z-index:20!important}.z-80{z-index:80!important}.float-right{float:right!important}.m-0{margin:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.-mb-1{margin-bottom:-.25rem!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:.75rem!important}.mb-4{margin-bottom:1rem!important}.ml-2{margin-left:.5rem!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:.75rem!important}.mt-0\.5{margin-top:.125rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:.75rem!important}.mt-4{margin-top:1rem!important}.block{display:block!important}.inline-block{display:inline-block!important}.inline{display:inline!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}.grid{display:grid!important}.contents{display:contents!important}.list-item{display:list-item!important}.hidden{display:none!important}.h-0\.5{height:.125rem!important}.h-1{height:.25rem!important}.h-10{height:2.5rem!important}.h-12{height:3rem!important}.h-14{height:3.5rem!important}.h-2{height:.5rem!important}.h-3{height:.75rem!important}.h-32{height:8rem!important}.h-4{height:1rem!important}.h-5{height:1.25rem!important}.h-6{height:1.5rem!important}.h-8{height:2rem!important}.h-\[0\.875rem\]{height:.875rem!important}.h-\[1px\]{height:1px!important}.h-\[48px\]{height:48px!important}.h-\[56px\]{height:56px!important}.h-\[60px\]{height:60px!important}.h-full{height:100%!important}.min-h-\[40px\]{min-height:40px!important}.min-h-fit{min-height:-moz-fit-content!important;min-height:fit-content!important}.w-1\/2{width:50%!important}.w-12{width:3rem!important}.w-2{width:.5rem!important}.w-3{width:.75rem!important}.w-3\/4{width:75%!important}.w-4{width:1rem!important}.w-5{width:1.25rem!important}.w-6{width:1.5rem!important}.w-64{width:16rem!important}.w-8{width:2rem!important}.w-80{width:20rem!important}.w-\[0\.875rem\]{width:.875rem!important}.w-\[640px\]{width:640px!important}.w-\[calc\(100\%-30px\)\]{width:calc(100% - 30px)!important}.w-full{width:100%!important}.min-w-\[150px\]{min-width:150px!important}.max-w-\[calc\(100vw-30px\)\]{max-width:calc(100vw - 30px)!important}.max-w-none{max-width:none!important}.flex-1{flex:1 1 0%!important}.flex-shrink-0{flex-shrink:0!important}.grow{flex-grow:1!important}.-translate-y-1\/2{--tw-translate-y:-50%!important}.-translate-y-1\/2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.translate-y-0{--tw-translate-y:0px!important}.translate-y-\[-18px\]{--tw-translate-y:-18px!important}.translate-y-\[-18px\],.translate-y-\[calc\(50vh-50\%\)\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.translate-y-\[calc\(50vh-50\%\)\]{--tw-translate-y:calc(50vh - 50%)!important}.translate-y-full{--tw-translate-y:100%!important}.rotate-0,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-0{--tw-rotate:0deg!important}.rotate-180{--tw-rotate:180deg!important}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite!important}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite!important}.cursor-help{cursor:help!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-pointer{cursor:pointer!important}.list-decimal{list-style-type:decimal!important}.list-disc{list-style-type:disc!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.flex-row{flex-direction:row!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.gap-10{gap:2.5rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:.75rem!important}.gap-4{gap:1rem!important}.gap-5{gap:1.25rem!important}.gap-6{gap:1.5rem!important}.gap-8{gap:2rem!important}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.5rem*var(--tw-space-x-reverse))!important}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(0px*var(--tw-space-y-reverse))!important;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))!important}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.75rem*var(--tw-space-y-reverse))!important;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1rem*var(--tw-space-y-reverse))!important;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.whitespace-normal{white-space:normal!important}.rounded{border-radius:.25rem!important}.rounded-2xl{border-radius:1rem!important}.rounded-3xl{border-radius:1.5rem!important}.rounded-\[4px\]{border-radius:4px!important}.rounded-full{border-radius:9999px!important}.rounded-lg{border-radius:.5rem!important}.rounded-none{border-radius:0!important}.rounded-xl{border-radius:.75rem!important}.rounded-t-lg{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.border{border-width:1px!important}.border-2{border-width:2px!important}.border-\[0\.727px\]{border-width:.727px!important}.border-\[1px\]{border-width:1px!important}.border-b{border-bottom-width:1px!important}.border-t-0{border-top-width:0!important}.border-solid{border-style:solid!important}.border-border{--tw-border-opacity:1!important;border-color:rgb(230 230 230/var(--tw-border-opacity,1))!important}.border-border-brand{--tw-border-opacity:1!important;border-color:rgb(36 167 106/var(--tw-border-opacity,1))!important}.border-border-critical-secondary{--tw-border-opacity:1!important;border-color:rgb(240 167 167/var(--tw-border-opacity,1))!important}.border-border-secondary-on-bg-fill{--tw-border-opacity:1!important;border-color:rgb(148 148 148/var(--tw-border-opacity,1))!important}.border-gray-200{--tw-border-opacity:1!important;border-color:rgb(229 231 235/var(--tw-border-opacity,1))!important}.border-input-border{--tw-border-opacity:1!important;border-color:rgb(206 206 206/var(--tw-border-opacity,1))!important}.border-input-border-critical{--tw-border-opacity:1!important;border-color:rgb(212 0 0/var(--tw-border-opacity,1))!important}.border-input-border-hover{--tw-border-opacity:1!important;border-color:rgb(0 0 45/var(--tw-border-opacity,1))!important}.border-input-border-selected{--tw-border-opacity:1!important;border-color:rgb(36 167 106/var(--tw-border-opacity,1))!important}.bg-bg{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bg-bg,.bg-bg-fill-brand{--tw-bg-opacity:1!important}.bg-bg-fill-brand{background-color:rgb(36 167 106/var(--tw-bg-opacity,1))!important}.bg-bg-fill-brand-disabled{--tw-bg-opacity:1!important;background-color:rgb(206 206 206/var(--tw-bg-opacity,1))!important}.bg-bg-fill-critical-secondary{--tw-bg-opacity:1!important;background-color:rgb(253 245 245/var(--tw-bg-opacity,1))!important}.bg-bg-surface-hover{--tw-bg-opacity:1!important;background-color:rgb(247 247 248/var(--tw-bg-opacity,1))!important}.bg-bg-surface-inverse{--tw-bg-opacity:1!important;background-color:rgb(25 26 84/var(--tw-bg-opacity,1))!important}.bg-bg-surface-tertiary-active{--tw-bg-opacity:1!important;background-color:rgb(230 230 230/var(--tw-bg-opacity,1))!important}.bg-black\/50{background-color:rgba(0,0,0,.5)!important}.bg-blue-500{background-color:rgb(59 130 246/var(--tw-bg-opacity,1))!important}.bg-blue-500,.bg-blue-600{--tw-bg-opacity:1!important}.bg-blue-600{background-color:rgb(37 99 235/var(--tw-bg-opacity,1))!important}.bg-border-brand{--tw-bg-opacity:1!important;background-color:rgb(36 167 106/var(--tw-bg-opacity,1))!important}.bg-gray-100{background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.bg-gray-100,.bg-gray-200{--tw-bg-opacity:1!important}.bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity,1))!important}.bg-gray-50{background-color:rgb(249 250 251/var(--tw-bg-opacity,1))!important}.bg-gray-50,.bg-gray-600{--tw-bg-opacity:1!important}.bg-gray-600{background-color:rgb(75 85 99/var(--tw-bg-opacity,1))!important}.bg-green-100{--tw-bg-opacity:1!important;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))!important}.bg-green-500{--tw-bg-opacity:1!important;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))!important}.bg-green-600{--tw-bg-opacity:1!important;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))!important}.bg-icon-brand{--tw-bg-opacity:1!important;background-color:rgb(36 167 106/var(--tw-bg-opacity,1))!important}.bg-input-bg-surface{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bg-purple-500{--tw-bg-opacity:1!important;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))!important}.bg-skeleton-bg-end{--tw-bg-opacity:1!important;background-color:rgb(230 230 230/var(--tw-bg-opacity,1))!important}.bg-skeleton-bg-start{--tw-bg-opacity:1!important;background-color:rgb(206 206 206/var(--tw-bg-opacity,1))!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.fill-bg-fill-brand{fill:#24a76a!important}.fill-checkbox-bg-surface-disabled{fill:#f7f7f8!important}.fill-checkbox-bg-surface-selected-disabled{fill:#e6e6e6!important}.fill-white{fill:#fff!important}.p-0{padding:0!important}.p-2{padding:.5rem!important}.p-3{padding:.75rem!important}.p-4{padding:1rem!important}.p-5{padding:1.25rem!important}.p-6{padding:1.5rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.px-\[7px\]{padding-left:7px!important;padding-right:7px!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.py-4{padding-bottom:1rem!important;padding-top:1rem!important}.py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-\[7px\]{padding-bottom:7px!important;padding-top:7px!important}.pb-1{padding-bottom:.25rem!important}.pb-\[300px\]{padding-bottom:300px!important}.pl-1{padding-left:.25rem!important}.pl-15{padding-left:3.75rem!important}.pl-2{padding-left:.5rem!important}.pl-5{padding-left:1.25rem!important}.pl-6{padding-left:1.5rem!important}.pl-7{padding-left:1.75rem!important}.pr-15{padding-right:3.75rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:.75rem!important}.pr-4{padding-right:1rem!important}.pr-5{padding-right:1.25rem!important}.pt-1{padding-top:.25rem!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.align-top{vertical-align:top!important}.text-base{font-size:1rem!important;line-height:1.5rem!important}.text-body1{font-size:1.25rem!important}.text-body2{font-size:1.125rem!important}.text-body3{font-size:1rem!important}.text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.font-bold{font-weight:700!important}.font-medium{font-weight:500!important}.font-normal{font-weight:400!important}.font-semibold{font-weight:600!important}.leading-6{line-height:1.5rem!important}.tracking-wide{letter-spacing:.025em!important}.text-blue-500{--tw-text-opacity:1!important;color:rgb(59 130 246/var(--tw-text-opacity,1))!important}.text-blue-600{--tw-text-opacity:1!important;color:rgb(37 99 235/var(--tw-text-opacity,1))!important}.text-gray-500{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity,1))!important}.text-gray-600{--tw-text-opacity:1!important;color:rgb(75 85 99/var(--tw-text-opacity,1))!important}.text-gray-700{--tw-text-opacity:1!important;color:rgb(55 65 81/var(--tw-text-opacity,1))!important}.text-gray-900{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity,1))!important}.text-green-500{--tw-text-opacity:1!important;color:rgb(34 197 94/var(--tw-text-opacity,1))!important}.text-green-600{--tw-text-opacity:1!important;color:rgb(22 163 74/var(--tw-text-opacity,1))!important}.text-icon-brand{--tw-text-opacity:1!important;color:rgb(36 167 106/var(--tw-text-opacity,1))!important}.text-icon-critical{--tw-text-opacity:1!important;color:rgb(212 0 0/var(--tw-text-opacity,1))!important}.text-icon-default{--tw-text-opacity:1!important;color:rgb(0 0 45/var(--tw-text-opacity,1))!important}.text-icon-info{--tw-text-opacity:1!important;color:rgb(117 117 117/var(--tw-text-opacity,1))!important}.text-input-text-placeholder{--tw-text-opacity:1!important;color:rgb(94 94 94/var(--tw-text-opacity,1))!important}.text-purple-600{--tw-text-opacity:1!important;color:rgb(147 51 234/var(--tw-text-opacity,1))!important}.text-red-500{color:rgb(239 68 68/var(--tw-text-opacity,1))!important}.text-red-500,.text-red-600{--tw-text-opacity:1!important}.text-red-600{color:rgb(220 38 38/var(--tw-text-opacity,1))!important}.text-text{color:rgb(0 0 45/var(--tw-text-opacity,1))!important}.text-text,.text-text-brand{--tw-text-opacity:1!important}.text-text-brand{color:rgb(36 167 106/var(--tw-text-opacity,1))!important}.text-text-brand-on-bg-fill{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-text-critical{--tw-text-opacity:1!important;color:rgb(212 0 0/var(--tw-text-opacity,1))!important}.text-text-info{--tw-text-opacity:1!important;color:rgb(70 70 70/var(--tw-text-opacity,1))!important}.text-text-inverse{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-text-secondary{--tw-text-opacity:1!important;color:rgb(70 70 70/var(--tw-text-opacity,1))!important}.text-transparent{color:transparent!important}.text-white{color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-white,.text-yellow-500{--tw-text-opacity:1!important}.text-yellow-500{color:rgb(234 179 8/var(--tw-text-opacity,1))!important}.text-yellow-600{--tw-text-opacity:1!important;color:rgb(202 138 4/var(--tw-text-opacity,1))!important}.underline{text-decoration-line:underline!important}.caret-bg-inverse{caret-color:#00002d!important}.opacity-0{opacity:0!important}.opacity-100{opacity:1!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)!important}.shadow-lg,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.outline{outline-style:solid!important}.outline-1{outline-width:1px!important}.outline-2{outline-width:2px!important}.outline-offset-2{outline-offset:2px!important}.outline-offset-4{outline-offset:4px!important}.outline-input-border-critical{outline-color:#d40000!important}.outline-input-border-selected{outline-color:#24a76a!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-transform{transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.duration-200{transition-duration:.2s!important}.duration-300{transition-duration:.3s!important}.duration-\[180ms\]{transition-duration:.18s!important}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}@font-face{font-display:swap;font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;src:url(/material_symbols/MaterialSymbolsRounded[FILL,GRAD,opsz,wght].woff2) format("woff2")}:root{--win-site-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}@media (min-width:640px){.sm\:body3{font-family:Figtree,sans-serif;font-size:1rem;font-weight:400;line-height:1.5rem}}@media (min-width:768px){.md\:body1{font-family:Figtree,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.75rem}.md\:label3{font-size:1rem;line-height:1.5rem}.md\:label3,.md\:label4{font-family:Figtree,sans-serif;font-weight:600}.md\:label4{font-size:.875rem;line-height:1.25rem}.md\:btn-small{font-size:1.125rem;font-weight:700;height:3rem;line-height:1.75rem}.md\:btn-medium{height:3.5rem}.md\:btn-large,.md\:btn-medium{font-size:1.25rem;font-weight:700;line-height:1.75rem}.md\:btn-large{height:4rem}.md\:btn-x-large{font-size:1.875rem;font-weight:400;height:5.5rem;line-height:2.375rem}}@media (min-width:1024px){.lg\:label3{font-size:1rem;line-height:1.5rem}.lg\:label3,.lg\:label4{font-family:Figtree,sans-serif;font-weight:600}.lg\:label4{font-size:.875rem;line-height:1.25rem}}.placeholder\:text-input-text-placeholder::-moz-placeholder{--tw-text-opacity:1!important;color:rgb(94 94 94/var(--tw-text-opacity,1))!important}.placeholder\:text-input-text-placeholder::placeholder{--tw-text-opacity:1!important;color:rgb(94 94 94/var(--tw-text-opacity,1))!important}.hover\:bg-bg-surface-hover:hover{--tw-bg-opacity:1!important;background-color:rgb(247 247 248/var(--tw-bg-opacity,1))!important}.hover\:bg-blue-700:hover{--tw-bg-opacity:1!important;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))!important}.hover\:bg-gray-100:hover{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.hover\:bg-gray-50:hover{--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))!important}.hover\:bg-gray-700:hover{--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))!important}.hover\:bg-green-700:hover{--tw-bg-opacity:1!important;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))!important}.hover\:bg-red-50:hover{--tw-bg-opacity:1!important;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))!important}.hover\:text-gray-800:hover{--tw-text-opacity:1!important;color:rgb(31 41 55/var(--tw-text-opacity,1))!important}.hover\:text-text-brand-hover:hover{--tw-text-opacity:1!important;color:rgb(27 131 82/var(--tw-text-opacity,1))!important}.focus\:border-none:focus{border-style:none!important}.focus\:outline-none:focus{outline:2px solid transparent!important;outline-offset:2px!important}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus\:ring-bg-fill-brand:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(36 167 106/var(--tw-ring-opacity,1))!important}.focus\:ring-bg-surface-inverse:focus{--tw-ring-opacity:1!important;--tw-ring-color:rgb(25 26 84/var(--tw-ring-opacity,1))!important}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px!important}.enabled\:hover\:bg-bg-fill-brand-hover:hover:enabled{--tw-bg-opacity:1!important;background-color:rgb(69 193 135/var(--tw-bg-opacity,1))!important}.enabled\:hover\:bg-bg-fill-inverse-hover:hover:enabled{--tw-bg-opacity:1!important;background-color:rgb(25 26 84/var(--tw-bg-opacity,1))!important}.disabled\:opacity-50:disabled{opacity:.5!important}.peer:focus~.peer-focus\:outline{outline-style:solid!important}@media (min-width:768px){.md\:w-\[22\.125rem\]{width:22.125rem!important}.md\:max-w-\[48\.375rem\]{max-width:48.375rem!important}.md\:flex-row{flex-direction:row!important}.md\:gap-16{gap:4rem!important}.md\:px-0{padding-left:0!important;padding-right:0!important}.md\:py-4{padding-bottom:1rem!important;padding-top:1rem!important}}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
|
+
export { ClassValue, clsx } from 'clsx';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Utility function to combine class names using clsx
|
|
6
|
+
* @param inputs - Class values to combine
|
|
7
|
+
* @returns Combined class string
|
|
8
|
+
*/
|
|
9
|
+
declare const cx: (...val: ClassValue[]) => string;
|
|
10
|
+
|
|
11
|
+
export { cx };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{clsx as e}from"clsx";export{clsx}from"clsx";import{extendTailwindMerge as a}from"tailwind-merge";const n=a({extend:{classGroups:{"font-variants":["heading1","heading2","heading3","heading4","heading5","heading6","subheading1","subheading2","subheading3","subheading4","subheading5","subheading6","body1","body2","body3","footnote","micro","label1","label2","label3","label4"],"button-sizes":["btn-small","btn-medium","btn-large","btn-x-large"]}}}),i=(...a)=>n(e(...a));export{i as cx};
|
|
2
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../src/utils/index.ts"],"sourcesContent":[null],"names":["twMerge","extendTailwindMerge","extend","classGroups","cx","val","clsx"],"mappings":"wGAGA,MAAMA,EAAUC,EAAoB,CAEhCC,OAAQ,CACNC,YAAa,CACX,gBAA0B,CACxB,WACA,WACA,WACA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,QACA,QACA,QACA,WACA,QACA,SACA,SACA,SACA,UAEF,eAAyB,CACvB,YACA,aACA,YACA,mBAWGC,EAAK,IAAIC,IAAsBL,EAAQM,KAAQD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("clsx");const n=require("tailwind-merge").extendTailwindMerge({extend:{classGroups:{"font-variants":["heading1","heading2","heading3","heading4","heading5","heading6","subheading1","subheading2","subheading3","subheading4","subheading5","subheading6","body1","body2","body3","footnote","micro","label1","label2","label3","label4"],"button-sizes":["btn-small","btn-medium","btn-large","btn-x-large"]}}});Object.defineProperty(exports,"clsx",{enumerable:!0,get:function(){return e.clsx}}),exports.cx=(...a)=>n(e.clsx(...a));
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":[null],"names":["twMerge","extendTailwindMerge","extend","classGroups","val","clsx"],"mappings":"mCAGA,MAAMA,4BAAUC,oBAAoB,CAEhCC,OAAQ,CACNC,YAAa,CACX,gBAA0B,CACxB,WACA,WACA,WACA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,QACA,QACA,QACA,WACA,QACA,SACA,SACA,SACA,UAEF,eAAyB,CACvB,YACA,aACA,YACA,kHAWQ,IAAIC,IAAsBJ,EAAQK,EAAAA,QAAQD"}
|
package/package.json
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@windstream/react-shared-components",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Shared React components for Kinetic applications",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.esm.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"typesVersions": {
|
|
10
|
+
"*": {
|
|
11
|
+
"core": [
|
|
12
|
+
"./dist/core.d.ts"
|
|
13
|
+
],
|
|
14
|
+
"utils": [
|
|
15
|
+
"./dist/utils/index.d.ts"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"import": "./dist/index.esm.js",
|
|
23
|
+
"require": "./dist/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./core": {
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"import": "./dist/index.esm.js",
|
|
28
|
+
"require": "./dist/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./utils": {
|
|
31
|
+
"types": "./dist/utils/index.d.ts",
|
|
32
|
+
"import": "./dist/utils/index.esm.js",
|
|
33
|
+
"require": "./dist/utils/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./tailwind.config": {
|
|
36
|
+
"types": "./tailwind.config.cjs",
|
|
37
|
+
"require": "./tailwind.config.cjs",
|
|
38
|
+
"import": "./tailwind.config.cjs",
|
|
39
|
+
"default": "./tailwind.config.cjs"
|
|
40
|
+
},
|
|
41
|
+
"./tailwind.config.cjs": {
|
|
42
|
+
"require": "./tailwind.config.cjs",
|
|
43
|
+
"import": "./tailwind.config.cjs",
|
|
44
|
+
"default": "./tailwind.config.cjs"
|
|
45
|
+
},
|
|
46
|
+
"./styles": {
|
|
47
|
+
"default": "./dist/styles.css"
|
|
48
|
+
},
|
|
49
|
+
"./styles.css": {
|
|
50
|
+
"default": "./dist/styles.css"
|
|
51
|
+
},
|
|
52
|
+
"./src/*": {
|
|
53
|
+
"default": "./src/*"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"files": [
|
|
57
|
+
"dist",
|
|
58
|
+
"src",
|
|
59
|
+
"README.md",
|
|
60
|
+
"tailwind.config.cjs"
|
|
61
|
+
],
|
|
62
|
+
"scripts": {
|
|
63
|
+
"build": "rollup -c",
|
|
64
|
+
"dev": "rollup -c -w",
|
|
65
|
+
"clean": "rimraf dist",
|
|
66
|
+
"prebuild": "npm run clean",
|
|
67
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
68
|
+
"lint:fix": "eslint src --ext .ts,.tsx --fix",
|
|
69
|
+
"format": "prettier --write \"src/**/*.(js|jsx|ts|tsx|css)\" | grep -v \"changed\" || true",
|
|
70
|
+
"format:check": "prettier --check .",
|
|
71
|
+
"test": "jest",
|
|
72
|
+
"test:watch": "jest --watch",
|
|
73
|
+
"type-check": "tsc --noEmit",
|
|
74
|
+
"storybook": "storybook dev -p 6006",
|
|
75
|
+
"build-storybook": "storybook build"
|
|
76
|
+
},
|
|
77
|
+
"peerDependencies": {
|
|
78
|
+
"react": ">=18.0.0",
|
|
79
|
+
"react-dom": ">=18.0.0"
|
|
80
|
+
},
|
|
81
|
+
"dependencies": {
|
|
82
|
+
"@types/react-modal": "3.16.3",
|
|
83
|
+
"@types/react-transition-group": "4.4.12",
|
|
84
|
+
"clsx": "2.1.1",
|
|
85
|
+
"react-modal": "3.16.3",
|
|
86
|
+
"react-select": "5.10.2",
|
|
87
|
+
"react-transition-group": "4.4.5"
|
|
88
|
+
},
|
|
89
|
+
"devDependencies": {
|
|
90
|
+
"@ianvs/prettier-plugin-sort-imports": "4.7.0",
|
|
91
|
+
"@rollup/plugin-commonjs": "28.0.6",
|
|
92
|
+
"@rollup/plugin-node-resolve": "16.0.1",
|
|
93
|
+
"@rollup/plugin-terser": "0.4.4",
|
|
94
|
+
"@rollup/plugin-typescript": "12.1.4",
|
|
95
|
+
"@storybook/addon-docs": "9.1.3",
|
|
96
|
+
"@storybook/addon-onboarding": "9.1.3",
|
|
97
|
+
"@storybook/blocks": "^9.0.0-alpha.17",
|
|
98
|
+
"@storybook/react": "9.1.3",
|
|
99
|
+
"@storybook/react-vite": "9.1.3",
|
|
100
|
+
"@tailwindcss/typography": "^0.5.19",
|
|
101
|
+
"@testing-library/jest-dom": "6.6.4",
|
|
102
|
+
"@testing-library/react": "16.3.0",
|
|
103
|
+
"@types/react": "18.3.23",
|
|
104
|
+
"@types/react-dom": "18.3.7",
|
|
105
|
+
"@types/react-select": "5.0.1",
|
|
106
|
+
"@typescript-eslint/eslint-plugin": "8.39.0",
|
|
107
|
+
"@typescript-eslint/parser": "8.39.0",
|
|
108
|
+
"autoprefixer": "10.4.21",
|
|
109
|
+
"eslint": "8.57.1",
|
|
110
|
+
"eslint-config-prettier": "10.1.8",
|
|
111
|
+
"eslint-plugin-jsx-a11y": "6.10.2",
|
|
112
|
+
"eslint-plugin-prettier": "5.5.4",
|
|
113
|
+
"eslint-plugin-react": "7.37.5",
|
|
114
|
+
"eslint-plugin-react-hooks": "5.2.0",
|
|
115
|
+
"eslint-plugin-storybook": "9.1.3",
|
|
116
|
+
"jest": "30.0.5",
|
|
117
|
+
"jest-environment-jsdom": "30.0.5",
|
|
118
|
+
"postcss": "8.5.6",
|
|
119
|
+
"postcss-loader": "8.1.1",
|
|
120
|
+
"prettier": "3.6.2",
|
|
121
|
+
"prettier-plugin-tailwindcss": "0.6.14",
|
|
122
|
+
"rimraf": "^6.1.2",
|
|
123
|
+
"rollup": "4.49.0",
|
|
124
|
+
"rollup-plugin-dts": "6.2.3",
|
|
125
|
+
"rollup-plugin-peer-deps-external": "2.2.4",
|
|
126
|
+
"rollup-plugin-postcss": "4.0.2",
|
|
127
|
+
"storybook": "9.1.3",
|
|
128
|
+
"tailwind-merge": "3.3.1",
|
|
129
|
+
"tailwindcss": "3.4.17",
|
|
130
|
+
"tailwindcss-radix": "^4.0.2",
|
|
131
|
+
"typescript": "5.3.3"
|
|
132
|
+
},
|
|
133
|
+
"keywords": [
|
|
134
|
+
"react",
|
|
135
|
+
"components",
|
|
136
|
+
"ui",
|
|
137
|
+
"kinetic",
|
|
138
|
+
"windstream",
|
|
139
|
+
"typescript"
|
|
140
|
+
],
|
|
141
|
+
"author": "Kinetic Team",
|
|
142
|
+
"license": "MIT",
|
|
143
|
+
"repository": {
|
|
144
|
+
"type": "git",
|
|
145
|
+
"url": "https://github.com/kinetic/react-shared-components.git"
|
|
146
|
+
},
|
|
147
|
+
"bugs": {
|
|
148
|
+
"url": "https://github.com/kinetic/react-shared-components/issues"
|
|
149
|
+
},
|
|
150
|
+
"homepage": "https://github.com/kinetic/react-shared-components#readme"
|
|
151
|
+
}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { Accordion } from "./index";
|
|
2
|
+
import { DocsPage } from "@shared/stories/DocsTemplate";
|
|
3
|
+
|
|
4
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
5
|
+
|
|
6
|
+
const meta: Meta<typeof Accordion> = {
|
|
7
|
+
title: "Components/Accordion",
|
|
8
|
+
component: Accordion,
|
|
9
|
+
tags: ["autodocs"],
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: "centered",
|
|
12
|
+
docs: {
|
|
13
|
+
page: DocsPage,
|
|
14
|
+
description: {
|
|
15
|
+
component:
|
|
16
|
+
"A collapsible accordion component that can expand and collapse content sections with smooth animations.",
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
argTypes: {
|
|
21
|
+
title: {
|
|
22
|
+
control: { type: "text" },
|
|
23
|
+
description: "Title text displayed in the accordion header",
|
|
24
|
+
},
|
|
25
|
+
defaultOpen: {
|
|
26
|
+
control: { type: "boolean" },
|
|
27
|
+
description: "Whether the accordion is open by default",
|
|
28
|
+
},
|
|
29
|
+
containerClassName: {
|
|
30
|
+
control: { type: "text" },
|
|
31
|
+
description: "Additional CSS classes for the container",
|
|
32
|
+
},
|
|
33
|
+
titleClassName: {
|
|
34
|
+
control: { type: "text" },
|
|
35
|
+
description: "Additional CSS classes for the title",
|
|
36
|
+
},
|
|
37
|
+
className: {
|
|
38
|
+
control: { type: "text" },
|
|
39
|
+
description: "Additional CSS classes for the content area",
|
|
40
|
+
},
|
|
41
|
+
buttonClassName: {
|
|
42
|
+
control: { type: "text" },
|
|
43
|
+
description: "Additional CSS classes for the button",
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
args: {
|
|
47
|
+
title: "Accordion Title",
|
|
48
|
+
defaultOpen: false,
|
|
49
|
+
children: "This is the accordion content that can be expanded or collapsed.",
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default meta;
|
|
54
|
+
type Story = StoryObj<typeof meta>;
|
|
55
|
+
|
|
56
|
+
// Default accordion
|
|
57
|
+
export const Default: Story = {
|
|
58
|
+
args: {},
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// Accordion with content
|
|
62
|
+
export const WithContent: Story = {
|
|
63
|
+
args: {
|
|
64
|
+
title: "Frequently Asked Questions",
|
|
65
|
+
children: (
|
|
66
|
+
<div className="space-y-2">
|
|
67
|
+
<p className="body2 text-text">
|
|
68
|
+
This accordion contains detailed information that can be expanded or
|
|
69
|
+
collapsed by clicking the header.
|
|
70
|
+
</p>
|
|
71
|
+
<p className="body3 text-text-secondary">
|
|
72
|
+
You can include any content here, such as text, images, forms, or
|
|
73
|
+
other components.
|
|
74
|
+
</p>
|
|
75
|
+
</div>
|
|
76
|
+
),
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
// Default open accordion
|
|
81
|
+
export const DefaultOpen: Story = {
|
|
82
|
+
args: {
|
|
83
|
+
title: "Open by Default",
|
|
84
|
+
defaultOpen: true,
|
|
85
|
+
children: (
|
|
86
|
+
<div className="space-y-2">
|
|
87
|
+
<p className="body2 text-text">
|
|
88
|
+
This accordion is open by default when the page loads.
|
|
89
|
+
</p>
|
|
90
|
+
<p className="body3 text-text-secondary">
|
|
91
|
+
Use the defaultOpen prop to control the initial state.
|
|
92
|
+
</p>
|
|
93
|
+
</div>
|
|
94
|
+
),
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
// Multiple accordions
|
|
99
|
+
export const Multiple: Story = {
|
|
100
|
+
render: () => (
|
|
101
|
+
<div className="w-full max-w-2xl space-y-4">
|
|
102
|
+
<Accordion title="First Section">
|
|
103
|
+
<p className="body2 text-text">
|
|
104
|
+
Content for the first accordion section.
|
|
105
|
+
</p>
|
|
106
|
+
</Accordion>
|
|
107
|
+
<Accordion title="Second Section" defaultOpen>
|
|
108
|
+
<p className="body2 text-text">
|
|
109
|
+
Content for the second accordion section. This one is open by default.
|
|
110
|
+
</p>
|
|
111
|
+
</Accordion>
|
|
112
|
+
<Accordion title="Third Section">
|
|
113
|
+
<p className="body2 text-text">
|
|
114
|
+
Content for the third accordion section.
|
|
115
|
+
</p>
|
|
116
|
+
</Accordion>
|
|
117
|
+
</div>
|
|
118
|
+
),
|
|
119
|
+
parameters: {
|
|
120
|
+
docs: {
|
|
121
|
+
description: {
|
|
122
|
+
story: "Multiple accordions used together to create an FAQ or content section.",
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
// Custom styling
|
|
129
|
+
export const CustomStyling: Story = {
|
|
130
|
+
args: {
|
|
131
|
+
title: "Custom Styled Accordion",
|
|
132
|
+
containerClassName: "border-2 border-border-brand",
|
|
133
|
+
titleClassName: "text-text-brand font-bold",
|
|
134
|
+
buttonClassName: "bg-surface-secondary",
|
|
135
|
+
className: "bg-surface-tertiary",
|
|
136
|
+
children: (
|
|
137
|
+
<div className="space-y-2">
|
|
138
|
+
<p className="body2 text-text">
|
|
139
|
+
This accordion has custom styling applied to different parts.
|
|
140
|
+
</p>
|
|
141
|
+
<ul className="list-disc pl-5 space-y-1">
|
|
142
|
+
<li className="body3 text-text-secondary">Custom container border</li>
|
|
143
|
+
<li className="body3 text-text-secondary">Custom title styling</li>
|
|
144
|
+
<li className="body3 text-text-secondary">Custom button background</li>
|
|
145
|
+
<li className="body3 text-text-secondary">Custom content background</li>
|
|
146
|
+
</ul>
|
|
147
|
+
</div>
|
|
148
|
+
),
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
// Long content
|
|
153
|
+
export const LongContent: Story = {
|
|
154
|
+
args: {
|
|
155
|
+
title: "Accordion with Long Content",
|
|
156
|
+
children: (
|
|
157
|
+
<div className="space-y-4">
|
|
158
|
+
<p className="body2 text-text">
|
|
159
|
+
This accordion demonstrates how it handles longer content sections.
|
|
160
|
+
The content area will expand to accommodate all the content, and
|
|
161
|
+
scrolling will be handled naturally within the page.
|
|
162
|
+
</p>
|
|
163
|
+
<div className="space-y-2">
|
|
164
|
+
<h4 className="subheading2 text-text">Subsection 1</h4>
|
|
165
|
+
<p className="body3 text-text-secondary">
|
|
166
|
+
Additional details and information can be placed here.
|
|
167
|
+
</p>
|
|
168
|
+
</div>
|
|
169
|
+
<div className="space-y-2">
|
|
170
|
+
<h4 className="subheading2 text-text">Subsection 2</h4>
|
|
171
|
+
<p className="body3 text-text-secondary">
|
|
172
|
+
More content to demonstrate scrolling behavior.
|
|
173
|
+
</p>
|
|
174
|
+
</div>
|
|
175
|
+
<div className="space-y-2">
|
|
176
|
+
<h4 className="subheading2 text-text">Subsection 3</h4>
|
|
177
|
+
<p className="body3 text-text-secondary">
|
|
178
|
+
Even more content to show how the accordion handles extended
|
|
179
|
+
content areas.
|
|
180
|
+
</p>
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
),
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
// All variants showcase
|
|
188
|
+
export const AllVariants: Story = {
|
|
189
|
+
render: () => (
|
|
190
|
+
<div className="w-full max-w-2xl space-y-4">
|
|
191
|
+
<div>
|
|
192
|
+
<h3 className="mb-3 text-lg font-semibold">Default State</h3>
|
|
193
|
+
<Accordion title="Closed Accordion">
|
|
194
|
+
<p className="body2 text-text">This accordion starts closed.</p>
|
|
195
|
+
</Accordion>
|
|
196
|
+
</div>
|
|
197
|
+
<div>
|
|
198
|
+
<h3 className="mb-3 text-lg font-semibold">Open by Default</h3>
|
|
199
|
+
<Accordion title="Open Accordion" defaultOpen>
|
|
200
|
+
<p className="body2 text-text">This accordion starts open.</p>
|
|
201
|
+
</Accordion>
|
|
202
|
+
</div>
|
|
203
|
+
<div>
|
|
204
|
+
<h3 className="mb-3 text-lg font-semibold">Custom Styled</h3>
|
|
205
|
+
<Accordion
|
|
206
|
+
title="Styled Accordion"
|
|
207
|
+
containerClassName="border-2 border-border-brand"
|
|
208
|
+
titleClassName="text-text-brand"
|
|
209
|
+
>
|
|
210
|
+
<p className="body2 text-text">
|
|
211
|
+
This accordion has custom styling applied.
|
|
212
|
+
</p>
|
|
213
|
+
</Accordion>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
),
|
|
217
|
+
parameters: {
|
|
218
|
+
docs: {
|
|
219
|
+
description: {
|
|
220
|
+
story: "Showcase of all accordion variants and states.",
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { AccordionProps } from "@shared/components/accordion/types";
|
|
3
|
+
import { Collapse } from "@shared/components/collapse";
|
|
4
|
+
import { MaterialIcon } from "@shared/components/material-icon";
|
|
5
|
+
import { cx } from "@shared/utils";
|
|
6
|
+
import { Button } from "@shared/components/button";
|
|
7
|
+
import { BrandButton } from "../brand-button";
|
|
8
|
+
|
|
9
|
+
export const Accordion:React.FC<AccordionProps> = props => {
|
|
10
|
+
const { title, defaultOpen, children, containerClassName, titleClassName, className, buttonClassName } = props;
|
|
11
|
+
const [open, setOpen] = useState<boolean>(Boolean(defaultOpen));
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<div className={cx("rounded-lg border", containerClassName)}>
|
|
15
|
+
<Button
|
|
16
|
+
type="button"
|
|
17
|
+
className={cx("flex w-full items-center justify-between gap-4 rounded-t-lg px-4 py-3 text-left", buttonClassName)}
|
|
18
|
+
onClick={() => setOpen(v => !v)}
|
|
19
|
+
>
|
|
20
|
+
<span className={cx("label5", titleClassName)}>{title}</span>
|
|
21
|
+
<MaterialIcon
|
|
22
|
+
name={open ? 'keyboard_arrow_down': 'keyboard_arrow_up'}
|
|
23
|
+
fill={1}
|
|
24
|
+
size={24}
|
|
25
|
+
/>
|
|
26
|
+
</Button>
|
|
27
|
+
<Collapse open={open}>
|
|
28
|
+
<div className={cx("px-4 py-4", className)}>{children}</div>
|
|
29
|
+
</Collapse>
|
|
30
|
+
</div>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
Accordion.displayName = "Accordion";
|
|
35
|
+
|
|
36
|
+
export type { AccordionProps };
|