@ably/ui 14.0.0-dev.968e4a2 → 14.0.0-dev.99c9769

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 (155) hide show
  1. package/README.md +8 -10
  2. package/core/.DS_Store +0 -0
  3. package/core/Accordion.js +1 -1
  4. package/core/Code.js +1 -1
  5. package/core/ConnectStateWrapper.js +1 -1
  6. package/core/ContactFooter.js +1 -1
  7. package/core/CookieMessage.js +1 -1
  8. package/core/DropdownMenu.js +1 -1
  9. package/core/FeaturedLink.js +1 -1
  10. package/core/Flash.js +1 -1
  11. package/core/Footer.js +1 -1
  12. package/core/Meganav.js +1 -1
  13. package/core/MeganavBlogPostsList.js +1 -1
  14. package/core/MeganavContentCompany.js +1 -1
  15. package/core/MeganavContentDevelopers.js +1 -1
  16. package/core/MeganavContentProducts.js +1 -1
  17. package/core/MeganavContentUseCases.js +1 -1
  18. package/core/MeganavControl.js +1 -1
  19. package/core/MeganavControlMobileDropdown.js +1 -1
  20. package/core/MeganavControlMobilePanelClose.js +1 -1
  21. package/core/MeganavControlMobilePanelOpen.js +1 -1
  22. package/core/MeganavItemsDesktop.js +1 -1
  23. package/core/MeganavItemsMobile.js +1 -1
  24. package/core/MeganavItemsSignedIn.js +1 -1
  25. package/core/MeganavSearch.js +1 -1
  26. package/core/MeganavSearchPanel.js +1 -1
  27. package/core/MeganavSearchSuggestions.js +1 -1
  28. package/core/Notice/component.js +1 -1
  29. package/core/Notice.js +1 -1
  30. package/core/Slider.js +1 -1
  31. package/core/Table/Table.js +1 -1
  32. package/core/Table/TableCell.js +4 -4
  33. package/core/Table/data.js +1 -1
  34. package/core/Table.js +1 -1
  35. package/core/Tooltip.js +1 -1
  36. package/core/icons/icon-gui-partial.svg +4 -0
  37. package/core/sprites.svg +1 -1
  38. package/package.json +1 -2
  39. package/src/.DS_Store +0 -0
  40. package/src/core/.DS_Store +0 -0
  41. package/src/core/Accordion/Accordion.stories.tsx +1 -1
  42. package/src/core/Accordion.tsx +1 -1
  43. package/src/core/Code/Code.stories.tsx +1 -1
  44. package/src/core/Code.tsx +3 -3
  45. package/src/core/ConnectStateWrapper.tsx +1 -1
  46. package/src/core/ContactFooter/ContactFooter.stories.tsx +1 -1
  47. package/src/core/ContactFooter.tsx +4 -4
  48. package/src/core/CookieMessage/CookieMessage.stories.tsx +1 -1
  49. package/src/core/CookieMessage.tsx +2 -2
  50. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +1 -1
  51. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +2 -2
  52. package/src/core/DropdownMenu.tsx +1 -1
  53. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +1 -1
  54. package/src/core/FeaturedLink.tsx +1 -1
  55. package/src/core/Flash/Flash.stories.tsx +1 -1
  56. package/src/core/Flash.tsx +4 -4
  57. package/src/core/Footer/Footer.stories.tsx +1 -1
  58. package/src/core/Footer.tsx +3 -3
  59. package/src/core/Icon/Icon.stories.tsx +2 -1
  60. package/src/core/Loader/Loader.stories.tsx +1 -1
  61. package/src/core/Logo/Logo.stories.tsx +1 -1
  62. package/src/core/Meganav/Meganav.stories.tsx +1 -1
  63. package/src/core/Meganav.tsx +17 -19
  64. package/src/core/MeganavBlogPostsList.tsx +2 -2
  65. package/src/core/MeganavContentCompany.tsx +5 -5
  66. package/src/core/MeganavContentDevelopers.tsx +2 -2
  67. package/src/core/MeganavContentProducts.tsx +2 -2
  68. package/src/core/MeganavContentUseCases.tsx +2 -2
  69. package/src/core/MeganavControl.tsx +2 -2
  70. package/src/core/MeganavControlMobileDropdown.tsx +2 -2
  71. package/src/core/MeganavControlMobilePanelClose.tsx +1 -2
  72. package/src/core/MeganavControlMobilePanelOpen.tsx +1 -2
  73. package/src/core/MeganavItemsDesktop.tsx +3 -3
  74. package/src/core/MeganavItemsMobile.tsx +9 -9
  75. package/src/core/MeganavItemsSignedIn.tsx +4 -8
  76. package/src/core/MeganavSearch.tsx +3 -3
  77. package/src/core/MeganavSearchPanel.tsx +4 -4
  78. package/src/core/MeganavSearchSuggestions.tsx +2 -2
  79. package/src/core/Notice/component.js +1 -1
  80. package/src/core/Notice.tsx +3 -4
  81. package/src/core/SignOutLink.tsx +1 -1
  82. package/src/core/Slider/Slider.stories.tsx +1 -1
  83. package/src/core/Slider.tsx +3 -3
  84. package/src/core/Table/Table.tsx +38 -9
  85. package/src/core/Table/TableCell.tsx +31 -6
  86. package/src/core/Table/data.tsx +3 -3
  87. package/src/core/Table.tsx +5 -3
  88. package/src/core/Tooltip/Tooltip.stories.tsx +1 -1
  89. package/src/core/Tooltip.tsx +34 -6
  90. package/src/core/icons/icon-gui-partial.svg +4 -0
  91. package/src/pages/Buttons.mdx +1 -1
  92. package/src/pages/Chips.mdx +1 -1
  93. package/src/pages/Forms.mdx +2 -2
  94. package/core/Accordion/component.js +0 -0
  95. package/core/ConnectStateWrapper/component.js +0 -0
  96. package/core/CookieMessage/component.js +0 -1
  97. package/core/CustomerLogos/component.js +0 -0
  98. package/core/DropdownMenu/component.js +0 -0
  99. package/core/FeaturedLink/component.js +0 -0
  100. package/core/Flash/component.js +0 -1
  101. package/core/Footer/component.js +0 -1
  102. package/core/Icon/component.js +0 -0
  103. package/core/Loader/component.js +0 -0
  104. package/core/Logo/component.js +0 -0
  105. package/core/MeganavContentCompany/component.js +0 -0
  106. package/core/MeganavContentDevelopers/component.js +0 -0
  107. package/core/MeganavContentProducts/.DS_Store +0 -0
  108. package/core/MeganavContentProducts/component.js +0 -0
  109. package/core/MeganavContentUseCases/.DS_Store +0 -0
  110. package/core/MeganavContentUseCases/component.js +0 -0
  111. package/core/MeganavItemsDesktop/.DS_Store +0 -0
  112. package/core/MeganavItemsDesktop/component.js +0 -0
  113. package/core/MeganavItemsMobile/.DS_Store +0 -0
  114. package/core/MeganavItemsMobile/component.js +0 -0
  115. package/core/MeganavItemsSignedIn/.DS_Store +0 -0
  116. package/core/MeganavItemsSignedIn/component.js +0 -0
  117. package/core/MeganavSearch/.DS_Store +0 -0
  118. package/core/MeganavSearch/component.js +0 -0
  119. package/core/MeganavSearchPanel/.DS_Store +0 -0
  120. package/core/MeganavSearchPanel/component.js +0 -0
  121. package/core/SignOutLink/.DS_Store +0 -0
  122. package/core/SignOutLink/component.js +0 -0
  123. package/src/core/Accordion/component.js +0 -0
  124. package/src/core/ConnectStateWrapper/component.js +0 -0
  125. package/src/core/CookieMessage/component.js +0 -1
  126. package/src/core/CustomerLogos/component.js +0 -0
  127. package/src/core/DropdownMenu/component.js +0 -0
  128. package/src/core/FeaturedLink/component.js +0 -0
  129. package/src/core/Flash/component.js +0 -1
  130. package/src/core/Footer/component.js +0 -1
  131. package/src/core/Icon/component.js +0 -0
  132. package/src/core/Loader/component.js +0 -0
  133. package/src/core/Logo/component.js +0 -0
  134. package/src/core/MeganavContentCompany/.DS_Store +0 -0
  135. package/src/core/MeganavContentCompany/component.js +0 -0
  136. package/src/core/MeganavContentDevelopers/.DS_Store +0 -0
  137. package/src/core/MeganavContentDevelopers/component.js +0 -0
  138. package/src/core/MeganavContentProducts/.DS_Store +0 -0
  139. package/src/core/MeganavContentProducts/component.js +0 -0
  140. package/src/core/MeganavContentUseCases/.DS_Store +0 -0
  141. package/src/core/MeganavContentUseCases/component.js +0 -1
  142. package/src/core/MeganavItemsDesktop/.DS_Store +0 -0
  143. package/src/core/MeganavItemsDesktop/component.js +0 -0
  144. package/src/core/MeganavItemsMobile/.DS_Store +0 -0
  145. package/src/core/MeganavItemsMobile/component.js +0 -0
  146. package/src/core/MeganavItemsSignedIn/.DS_Store +0 -0
  147. package/src/core/MeganavItemsSignedIn/component.js +0 -0
  148. package/src/core/MeganavSearch/.DS_Store +0 -0
  149. package/src/core/MeganavSearch/component.js +0 -0
  150. package/src/core/MeganavSearchPanel/.DS_Store +0 -0
  151. package/src/core/MeganavSearchPanel/component.js +0 -0
  152. package/src/core/SignOutLink/.DS_Store +0 -0
  153. package/src/core/SignOutLink/component.js +0 -0
  154. /package/core/{MeganavContentCompany → Tooltip}/.DS_Store +0 -0
  155. /package/{core/MeganavContentDevelopers → src/core/Tooltip}/.DS_Store +0 -0
package/core/Notice.js CHANGED
@@ -1 +1 @@
1
- import React,{useEffect}from"react";import NoticeScripts from"./component.js";import"./component.css";import Icon from"../Icon/component.tsx";const contentWrapperClasses="w-full pr-8 ui-text-p3 self-center";const ContentWrapper=({buttonLink,children})=>buttonLink?React.createElement("a",{href:buttonLink,className:contentWrapperClasses},children):React.createElement("div",{className:contentWrapperClasses},children);const Notice=({buttonLink,buttonLabel,bodyText,title,config,closeBtn,bgColor="bg-gradient-active-orange",textColor="text-white"})=>{useEffect(()=>{NoticeScripts({bannerContainer:document.querySelector('[data-id="ui-notice"]'),cookieId:config===null||config===void 0?void 0:config.cookieId,noticeId:config===null||config===void 0?void 0:config.noticeId,options:{collapse:(config===null||config===void 0?void 0:config.collapse)||false}})},[]);const wrapperClasses=["ui-announcement",bgColor,textColor].join(" ");return React.createElement("div",{className:wrapperClasses,"data-id":"ui-notice",style:{maxHeight:0,overflow:"hidden"}},React.createElement("div",{className:"ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start"},React.createElement(ContentWrapper,{buttonLink:buttonLink!==null&&buttonLink!==void 0?buttonLink:"#"},React.createElement("strong",{className:"font-bold whitespace-nowrap pr-4"},title),React.createElement("span",{className:"pr-4"},bodyText),buttonLabel&&React.createElement("span",{className:"underline cursor-pointer whitespace-nowrap"},buttonLabel)),closeBtn&&React.createElement("button",{type:"button",className:"ml-auto h-20 w-20 border-none bg-none self-baseline"},React.createElement(Icon,{name:"icon-gui-close",size:"1.25rem",color:"text-cool-black"}))))};export default Notice;
1
+ import React,{useEffect}from"react";import NoticeScripts from"./Notice/component.js";import"./Notice/component.css";import Icon from"./Icon";const contentWrapperClasses="w-full pr-8 ui-text-p3 self-center";const ContentWrapper=({buttonLink,children})=>buttonLink?React.createElement("a",{href:buttonLink,className:contentWrapperClasses},children):React.createElement("div",{className:contentWrapperClasses},children);const Notice=({buttonLink,buttonLabel,bodyText,title,config,closeBtn,bgColor="bg-gradient-active-orange",textColor="text-white"})=>{useEffect(()=>{NoticeScripts({bannerContainer:document.querySelector('[data-id="ui-notice"]'),cookieId:config===null||config===void 0?void 0:config.cookieId,noticeId:config===null||config===void 0?void 0:config.noticeId,options:{collapse:(config===null||config===void 0?void 0:config.collapse)||false}})},[]);const wrapperClasses=["ui-announcement",bgColor,textColor].join(" ");return React.createElement("div",{className:wrapperClasses,"data-id":"ui-notice",style:{maxHeight:0,overflow:"hidden"}},React.createElement("div",{className:"ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start"},React.createElement(ContentWrapper,{buttonLink:buttonLink!==null&&buttonLink!==void 0?buttonLink:"#"},React.createElement("strong",{className:"font-bold whitespace-nowrap pr-4"},title),React.createElement("span",{className:"pr-4"},bodyText),buttonLabel&&React.createElement("span",{className:"underline cursor-pointer whitespace-nowrap"},buttonLabel)),closeBtn&&React.createElement("button",{type:"button",className:"ml-auto h-20 w-20 border-none bg-none self-baseline"},React.createElement(Icon,{name:"icon-gui-close",size:"1.25rem",color:"text-cool-black"}))))};export default Notice;
package/core/Slider.js CHANGED
@@ -1 +1 @@
1
- import React,{useEffect,useRef}from"react";import Icon from"../Icon/component.tsx";import SliderScripts from"./component.js";import"./component.css";const Slider=({slides=[],classes="",slideClasses="",slideMinWidth="16.875rem",slideMaxWidth="1fr",mqEnableThreshold=()=>true,...props})=>{const containerRef=useRef(null);useEffect(()=>{SliderScripts({container:containerRef.current,mqEnableThreshold})},[]);if(slides.length===0)return;return React.createElement("div",{className:"w-full overflow-x-hidden","data-id":"slider",style:{"--dynamic-grid-columns-count":slides.length,"--dynamic-grid-column-min-width":slideMinWidth,"--dynamic-grid-column-max-width":slideMaxWidth},ref:containerRef},React.createElement("ol",{className:`grid ui-grid-gap grid-cols-dynamic transform transition-transform ${classes}`,"data-id":"slider-strip",...props},slides.map((slide,i)=>React.createElement("li",{key:i,className:slideClasses,"data-id":"slider-slide"},slide))),React.createElement("div",{className:"justify-center items-center my-24 hidden","data-id":"slider-controls"},React.createElement("button",{type:"button",className:"p-0 w-24 h-24 flex items-center focus:outline-gui-focus","data-id":"slider-previous"},React.createElement(Icon,{name:"icon-gui-disclosure-arrow",size:"1.5rem",color:"text-cool-black",additionalCSS:"transform rotate-180","data-id":"meganav-control-mobile-dropdown-menu"})),React.createElement("ul",{className:"flex justify-center items-center mx-32 relative h-24"},slides.map((_,i)=>React.createElement("li",{key:i},React.createElement("span",{className:"ui-slider-marker text-cool-black","data-id":"slider-marker"},"⬤")," "))),React.createElement("button",{type:"button",className:"p-0 w-24 h-24 flex items-center focus:outline-gui-focus","data-id":"slider-next"},React.createElement(Icon,{name:"icon-gui-disclosure-arrow",size:"1.5rem",color:"text-cool-black","data-id":"meganav-control-mobile-dropdown-menu"}))))};export default Slider;
1
+ import React,{useEffect,useRef}from"react";import Icon from"./Icon";import SliderScripts from"./Slider/component.js";import"./Slider/component.css";const Slider=({slides=[],classes="",slideClasses="",slideMinWidth="16.875rem",slideMaxWidth="1fr",mqEnableThreshold=()=>true,...props})=>{const containerRef=useRef(null);useEffect(()=>{SliderScripts({container:containerRef.current,mqEnableThreshold})},[]);if(slides.length===0)return;return React.createElement("div",{className:"w-full overflow-x-hidden","data-id":"slider",style:{"--dynamic-grid-columns-count":slides.length,"--dynamic-grid-column-min-width":slideMinWidth,"--dynamic-grid-column-max-width":slideMaxWidth},ref:containerRef},React.createElement("ol",{className:`grid ui-grid-gap grid-cols-dynamic transform transition-transform ${classes}`,"data-id":"slider-strip",...props},slides.map((slide,i)=>React.createElement("li",{key:i,className:slideClasses,"data-id":"slider-slide"},slide))),React.createElement("div",{className:"justify-center items-center my-24 hidden","data-id":"slider-controls"},React.createElement("button",{type:"button",className:"p-0 w-24 h-24 flex items-center focus:outline-gui-focus","data-id":"slider-previous"},React.createElement(Icon,{name:"icon-gui-disclosure-arrow",size:"1.5rem",color:"text-cool-black",additionalCSS:"transform rotate-180","data-id":"meganav-control-mobile-dropdown-menu"})),React.createElement("ul",{className:"flex justify-center items-center mx-32 relative h-24"},slides.map((_,i)=>React.createElement("li",{key:i},React.createElement("span",{className:"ui-slider-marker text-cool-black","data-id":"slider-marker"},"⬤")," "))),React.createElement("button",{type:"button",className:"p-0 w-24 h-24 flex items-center focus:outline-gui-focus","data-id":"slider-next"},React.createElement(Icon,{name:"icon-gui-disclosure-arrow",size:"1.5rem",color:"text-cool-black","data-id":"meganav-control-mobile-dropdown-menu"}))))};export default Slider;
@@ -1 +1 @@
1
- import React,{cloneElement}from"react";export const Table=({id,children})=>React.createElement("table",{id:id,className:"ui-standard-container mb-4 sm:table-fixed"},children);export const TableBody=({children})=>React.createElement("tbody",null,children);export const TableHeader=({children})=>React.createElement("thead",{className:"sticky bg-white z-10 top-0",key:"sticky-block"},cloneElement(children,{isHeader:true}));export const TableRowHeader=({children})=>React.createElement("tr",{className:"-ml-24 mt-8 sm:ml-0 sm:mt-0 ui-text-overline1 !text-cool-black bg-light-grey sm:sticky z-10",style:{top:"4rem"}},cloneElement(children,{isRowHeader:true}));
1
+ import React,{cloneElement}from"react";export const Table=({id,children,...rest})=>{var _rest_className;return React.createElement("table",{id:id,...rest,className:`ui-standard-container mb-4 sm:table-fixed ${(_rest_className=rest===null||rest===void 0?void 0:rest.className)!==null&&_rest_className!==void 0?_rest_className:""}`},children)};export const TableBody=({children,...rest})=>React.createElement("tbody",rest,children);export const TableHeader=({children,...rest})=>{var _rest_className;return React.createElement("thead",{...rest,className:`sticky bg-white z-10 top-0 ${(_rest_className=rest===null||rest===void 0?void 0:rest.className)!==null&&_rest_className!==void 0?_rest_className:""}`},cloneElement(children,{isHeader:true}))};export const TableRowHeader=({children,...rest})=>{var _rest_className;return React.createElement("tr",{className:`-ml-24 mt-8 sm:ml-0 sm:mt-0 bg-light-grey sm:sticky z-10 ${(_rest_className=rest===null||rest===void 0?void 0:rest.className)!==null&&_rest_className!==void 0?_rest_className:""}`,style:{top:"4rem"}},cloneElement(children,{isRowHeader:true}))};
@@ -1,7 +1,7 @@
1
- import React from"react";import Icon from"../Icon/component.tsx";const Supported=()=>React.createElement(Icon,{name:"icon-gui-check-circled-fill",size:"1.5rem",color:"text-gui-success",additionalCSS:"flex-grow-0 flex-shrink-0","data-testid":"supported-icon"});const Unsupported=()=>React.createElement(Icon,{name:"icon-gui-cross-circled-fill",size:"1.5rem",color:"text-gui-error",additionalCSS:"flex-grow-0 flex-shrink-0","data-testid":"unsupported-icon"});const LabelCell=({children,...rest})=>{var _rest_className;const classes=`
2
- ui-text-p1 !font-bold pt-24 pb-8 border-light-grey sm:p-24 sm:relative sm:top-2 flex sm:table-cell ${(_rest_className=rest.className)!==null&&_rest_className!==void 0?_rest_className:""}
1
+ import React from"react";import Icon from"../Icon";const Supported=()=>React.createElement(Icon,{name:"icon-gui-check-circled-fill",size:"1.5rem",color:"text-gui-success",additionalCSS:"flex-grow-0 flex-shrink-0","data-testid":"supported-icon"});const Unsupported=()=>React.createElement(Icon,{name:"icon-gui-cross-circled-fill",size:"1.5rem",color:"text-gui-error",additionalCSS:"flex-grow-0 flex-shrink-0","data-testid":"unsupported-icon"});const Partial=()=>React.createElement(Icon,{name:"icon-gui-partial",size:"1.5rem",additionalCSS:"flex-grow-0 flex-shrink-0","data-testid":"partial-icon"});const LabelCell=({children,...rest})=>{var _rest_className;const classes=`
2
+ ui-text-p1 !font-bold pt-24 pb-8 border-light-grey sm:p-24 sm:relative sm:top-2 flex sm:table-cell ${(_rest_className=rest===null||rest===void 0?void 0:rest.className)!==null&&_rest_className!==void 0?_rest_className:""}
3
3
  `;return React.createElement("td",{...rest,className:classes},children)};const TableCell=({children,isRowHeader,...rest})=>{var _rest_className;return React.createElement("td",{...rest,className:`
4
4
  border-light-grey sm:p-24 leading-none flex sm:table-cell
5
5
  ${isRowHeader?"rounded-l-none rounded-r sm:rounded-lg py-20 px-24":"py-6"}
6
- ${(_rest_className=rest.className)!==null&&_rest_className!==void 0?_rest_className:""}
7
- `},children)};const HeaderCell=({children,...rest})=>React.createElement("td",{...rest,className:"ui-text-h3 px-24 py-24 hidden sm:table-cell"},children);const CtaCell=({children,...rest})=>React.createElement("td",{...rest,className:"pt-24 hidden sm:table-cell"},children);export{TableCell,LabelCell,HeaderCell,CtaCell,Supported,Unsupported};
6
+ ${(_rest_className=rest===null||rest===void 0?void 0:rest.className)!==null&&_rest_className!==void 0?_rest_className:""}
7
+ `},children)};const HeaderCell=({children,...rest})=>{var _rest_className;return React.createElement("td",{...rest,className:`ui-text-h3 px-24 py-24 hidden sm:table-cell ${(_rest_className=rest===null||rest===void 0?void 0:rest.className)!==null&&_rest_className!==void 0?_rest_className:""}`},children)};const CtaCell=({children,...rest})=>{var _rest_className;return React.createElement("td",{...rest,className:`pt-24 hidden sm:table-cell ${(_rest_className=rest===null||rest===void 0?void 0:rest.className)!==null&&_rest_className!==void 0?_rest_className:""}`},children)};export{TableCell,LabelCell,HeaderCell,CtaCell,Supported,Unsupported,Partial};
@@ -1 +1 @@
1
- import React,{Fragment}from"react";import Tooltip from"../../Tooltip/component";import{Supported,Unsupported}from"../TableCell";import Table from"..";const testRow=index=>({label:`Label ${index+1}`,cells:[{label:"text",content:"Cell content",column:"Free"},{label:"yes",content:React.createElement("div",{className:"flex items-center sm:flex-col sm:items-start"},React.createElement("span",{className:"sm:order-1 px-6 sm:py-6 sm:px-0"},"Supported"),React.createElement("span",{className:"sm:order-0"},React.createElement(Supported,null))),column:"PAYG"},{label:"no",content:React.createElement("div",{className:"flex items-center sm:flex-col sm:items-start"},React.createElement("span",{className:"sm:order-1 px-6 sm:py-6 sm:px-0"},"Unsupported"),React.createElement("span",{className:"sm:order-0"},React.createElement(Unsupported,null))),column:"Custom"}]});const sections=["Features","Support","Technical Support"].map(label=>({label,rows:[...Array(5)].map((_,i)=>testRow(i))}));export const PricingPageTable=()=>{return React.createElement("div",{className:"ui-standard-container"},React.createElement("h2",{className:"ui-text-h2 text-center m-32"},"Pricing Page Table"),React.createElement("p",{className:"text-center m-32"},"Example content"),React.createElement(Table.Root,null,React.createElement(Table.Header,null,React.createElement(Table.Row,null,React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"Free")),React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"PAYG")),React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"Custom")))),React.createElement(Table.Body,null,sections.map(section=>React.createElement(Fragment,{key:section.label},React.createElement(Table.RowHeader,null,React.createElement(Table.Cell,{colSpan:4},section.label)),section.rows.map(row=>React.createElement(Table.Row,{key:row.label},React.createElement(Table.LabelCell,{key:row.label,className:"border-t border-light-grey"},React.createElement("a",{className:"ui-link",href:"#"},row.label),React.createElement(Tooltip,null,"Example tooltip")),row.cells.map(cell=>React.createElement(Table.Cell,{key:cell.label,className:"last:mb-16 sm:mb-0"},React.createElement("div",{className:"flex-1 sm:hidden !text-dark-grey ui-text-overline2"},cell.column),cell.content)))))),React.createElement(Table.Row,null,React.createElement(Table.Cell,null),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn-secondary"},"Get started")),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn-secondary"},"Get started")),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn"},"Contact sales"))))))};
1
+ import React,{Fragment}from"react";import Tooltip from"../Tooltip";import{Supported,Unsupported}from"./TableCell";import Table from"../Table";const testRow=index=>({label:`Label ${index+1}`,cells:[{label:"text",content:"Cell content",column:"Free"},{label:"yes",content:React.createElement("div",{className:"flex items-center sm:flex-col sm:items-start"},React.createElement("span",{className:"sm:order-1 px-6 sm:py-6 sm:px-0"},"Supported"),React.createElement("span",{className:"sm:order-0"},React.createElement(Supported,null))),column:"PAYG"},{label:"no",content:React.createElement("div",{className:"flex items-center sm:flex-col sm:items-start"},React.createElement("span",{className:"sm:order-1 px-6 sm:py-6 sm:px-0"},"Unsupported"),React.createElement("span",{className:"sm:order-0"},React.createElement(Unsupported,null))),column:"Custom"}]});const sections=["Features","Support","Technical Support"].map(label=>({label,rows:[...Array(5)].map((_,i)=>testRow(i))}));export const PricingPageTable=()=>{return React.createElement("div",{className:"ui-standard-container"},React.createElement("h2",{className:"ui-text-h2 text-center m-32"},"Pricing Page Table"),React.createElement("p",{className:"text-center m-32"},"Example content"),React.createElement(Table.Root,null,React.createElement(Table.Header,null,React.createElement(Table.Row,null,React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"Free")),React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"PAYG")),React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"Custom")))),React.createElement(Table.Body,null,sections.map(section=>React.createElement(Fragment,{key:section.label},React.createElement(Table.RowHeader,null,React.createElement(Table.Cell,{colSpan:4},section.label)),section.rows.map(row=>React.createElement(Table.Row,{key:row.label},React.createElement(Table.LabelCell,{key:row.label,className:"border-t border-light-grey"},React.createElement("a",{className:"ui-link",href:"#"},row.label),React.createElement(Tooltip,null,"Example tooltip")),row.cells.map(cell=>React.createElement(Table.Cell,{key:cell.label,className:"last:mb-16 sm:mb-0"},React.createElement("div",{className:"flex-1 sm:hidden !text-dark-grey ui-text-overline2"},cell.column),cell.content)))))),React.createElement(Table.Row,null,React.createElement(Table.Cell,null),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn-secondary"},"Get started")),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn-secondary"},"Get started")),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn"},"Contact sales"))))))};
package/core/Table.js CHANGED
@@ -1 +1 @@
1
- import{Table,TableRowHeader,TableHeader,TableBody}from"./Table";import{TableRow}from"./TableRow";import{TableCell,LabelCell,HeaderCell,CtaCell,Supported,Unsupported}from"./TableCell";export default{Root:Table,Row:TableRow,Cell:TableCell,LabelCell,HeaderCell,CtaCell,RowHeader:TableRowHeader,Body:TableBody,Header:TableHeader,Supported,Unsupported};
1
+ import{Table,TableRowHeader,TableHeader,TableBody}from"./Table/Table";import{TableRow}from"./Table/TableRow";import{TableCell,LabelCell,HeaderCell,CtaCell,Supported,Unsupported,Partial}from"./Table/TableCell";export default{Root:Table,Row:TableRow,Cell:TableCell,LabelCell,HeaderCell,CtaCell,RowHeader:TableRowHeader,Body:TableBody,Header:TableHeader,Supported,Unsupported,Partial};
package/core/Tooltip.js CHANGED
@@ -1 +1 @@
1
- import React,{useEffect,useRef,useState}from"react";import Icon from"../Icon/component.tsx";const Tooltip=({children})=>{const[open,setOpen]=useState(false);const[position,setPosition]=useState({x:0,y:0});const offset=8;const reference=useRef(null);const floating=useRef(null);useEffect(()=>{if(open){var _floating_current,_reference_current;const floatingRect=(_floating_current=floating.current)===null||_floating_current===void 0?void 0:_floating_current.getBoundingClientRect();const referenceRect=(_reference_current=reference.current)===null||_reference_current===void 0?void 0:_reference_current.getBoundingClientRect();if(floatingRect&&referenceRect){setPosition({x:Math.min(floatingRect.width/2,floatingRect.left)-referenceRect.width/2,y:Math.min(floatingRect.height,floatingRect.top)+offset})}}else{setPosition({x:0,y:0})}},[open]);return React.createElement("div",{className:"relative inline-block align-top h-16"},React.createElement("button",{onMouseEnter:()=>setOpen(true),onMouseLeave:()=>setOpen(false),className:"ml-8 p-0 relative top-1 focus:outline-none",type:"button",ref:reference,"aria-describedby":"tooltip"},React.createElement(Icon,{name:"icon-gui-info",size:"1rem"})),open?React.createElement("div",{className:"bg-light-grey p-12 rounded pointer-events-none absolute z-20",role:"tooltip",ref:floating,style:{top:-position.y,left:-position.x,boxShadow:"4px 4px 15px rgba(0, 0, 0, 0.2)"}},React.createElement("div",{className:"w-256"},children)):null)};export default Tooltip;
1
+ import React,{useEffect,useRef,useState}from"react";import Icon from"./Icon";const Tooltip=({children,triggerProps,tooltipProps,...rest})=>{const[open,setOpen]=useState(false);const[position,setPosition]=useState({x:0,y:0});const offset=8;const reference=useRef(null);const floating=useRef(null);useEffect(()=>{if(open){var _floating_current,_reference_current;const floatingRect=(_floating_current=floating.current)===null||_floating_current===void 0?void 0:_floating_current.getBoundingClientRect();const referenceRect=(_reference_current=reference.current)===null||_reference_current===void 0?void 0:_reference_current.getBoundingClientRect();if(floatingRect&&referenceRect){setPosition({x:Math.min(floatingRect.width/2,floatingRect.left)-referenceRect.width/2,y:Math.min(floatingRect.height,floatingRect.top)+offset})}}else{setPosition({x:0,y:0})}},[open]);var _rest_className,_triggerProps_className,_tooltipProps_className;return React.createElement("div",{...rest,className:`relative inline-block align-top h-16 ${(_rest_className=rest===null||rest===void 0?void 0:rest.className)!==null&&_rest_className!==void 0?_rest_className:""}`},React.createElement("button",{onMouseEnter:()=>setOpen(true),onMouseLeave:()=>setOpen(false),type:"button",ref:reference,"aria-describedby":"tooltip",...triggerProps,className:`ml-8 p-0 relative top-1 focus:outline-none ${(_triggerProps_className=triggerProps===null||triggerProps===void 0?void 0:triggerProps.className)!==null&&_triggerProps_className!==void 0?_triggerProps_className:""}`},React.createElement(Icon,{name:"icon-gui-info",size:"1rem"})),open?React.createElement("div",{role:"tooltip",ref:floating,style:{top:-position.y,left:-position.x,boxShadow:"4px 4px 15px rgba(0, 0, 0, 0.2)"},...tooltipProps,className:`bg-light-grey p-12 rounded pointer-events-none absolute z-20 ${(_tooltipProps_className=tooltipProps===null||tooltipProps===void 0?void 0:tooltipProps.className)!==null&&_tooltipProps_className!==void 0?_tooltipProps_className:""}`},React.createElement("div",{className:"w-256"},children)):null)};export default Tooltip;
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 12C1.5 17.799 6.20101 22.5 12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12ZM1.2779e-06 12C9.30272e-07 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 -1.95703e-07 12 -4.37114e-07C5.37259 -6.78525e-07 1.62554e-06 5.37258 1.2779e-06 12Z" fill="#03020D"/>
3
+ <path d="M11.5833 23.576C5.37903 23.3566 0.416667 18.2578 0.416667 12C0.416668 5.74218 5.37903 0.643381 11.5833 0.424021L11.5833 23.576Z" fill="#03020D" stroke="#03020D" stroke-width="0.833333"/>
4
+ </svg>