@ably/ui 14.0.0-dev.58ef698 → 14.0.0-dev.64a4085

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 (227) hide show
  1. package/README.md +8 -10
  2. package/core/.DS_Store +0 -0
  3. package/core/Accordion/.DS_Store +0 -0
  4. package/core/Accordion.js +1 -0
  5. package/core/Code/.DS_Store +0 -0
  6. package/core/Code/component.js +1 -1
  7. package/core/Code.js +1 -0
  8. package/core/ConnectStateWrapper.js +1 -0
  9. package/core/ContactFooter/.DS_Store +0 -0
  10. package/core/ContactFooter/component.js +1 -1
  11. package/core/ContactFooter.js +1 -0
  12. package/core/CookieMessage/.DS_Store +0 -0
  13. package/core/CookieMessage.js +1 -0
  14. package/core/CustomerLogos/.DS_Store +0 -0
  15. package/core/CustomerLogos.js +1 -0
  16. package/core/DropdownMenu/.DS_Store +0 -0
  17. package/core/DropdownMenu.js +1 -0
  18. package/core/Expander.js +1 -0
  19. package/core/FeaturedLink/.DS_Store +0 -0
  20. package/core/FeaturedLink.js +1 -0
  21. package/core/Flash/.DS_Store +0 -0
  22. package/core/Flash.js +1 -0
  23. package/core/Footer/.DS_Store +0 -0
  24. package/core/Footer.js +1 -0
  25. package/core/Icon/.DS_Store +0 -0
  26. package/core/Icon.js +1 -0
  27. package/core/Loader/.DS_Store +0 -0
  28. package/core/Loader.js +13 -0
  29. package/core/Logo/.DS_Store +0 -0
  30. package/core/Logo.js +1 -0
  31. package/core/Meganav/component.js +1 -1
  32. package/core/Meganav.js +1 -0
  33. package/core/MeganavBlogPostsList/.DS_Store +0 -0
  34. package/core/MeganavBlogPostsList/component.js +1 -1
  35. package/core/MeganavBlogPostsList.js +1 -0
  36. package/core/MeganavContentCompany.js +1 -0
  37. package/core/MeganavContentDevelopers.js +1 -0
  38. package/core/MeganavContentProducts.js +1 -0
  39. package/core/MeganavContentUseCases.js +1 -0
  40. package/core/MeganavControl/.DS_Store +0 -0
  41. package/core/MeganavControl/component.js +1 -1
  42. package/core/MeganavControl.js +1 -0
  43. package/core/MeganavControlMobileDropdown/.DS_Store +0 -0
  44. package/core/MeganavControlMobileDropdown/component.js +1 -1
  45. package/core/MeganavControlMobileDropdown.js +1 -0
  46. package/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
  47. package/core/MeganavControlMobilePanelClose/component.js +1 -1
  48. package/core/MeganavControlMobilePanelClose.js +1 -0
  49. package/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
  50. package/core/MeganavControlMobilePanelOpen/component.js +1 -1
  51. package/core/MeganavControlMobilePanelOpen.js +1 -0
  52. package/core/MeganavItemsDesktop.js +1 -0
  53. package/core/MeganavItemsMobile.js +1 -0
  54. package/core/MeganavItemsSignedIn.js +1 -0
  55. package/core/MeganavSearch.js +1 -0
  56. package/core/MeganavSearchAutocomplete/.DS_Store +0 -0
  57. package/core/MeganavSearchAutocomplete/component.js +1 -1
  58. package/core/MeganavSearchAutocomplete.js +1 -0
  59. package/core/MeganavSearchPanel.js +1 -0
  60. package/core/MeganavSearchSuggestions/.DS_Store +0 -0
  61. package/core/MeganavSearchSuggestions/component.js +1 -1
  62. package/core/MeganavSearchSuggestions.js +1 -0
  63. package/core/Notice/.DS_Store +0 -0
  64. package/core/Notice/component.js +1 -1
  65. package/core/Notice.js +1 -0
  66. package/core/SignOutLink.js +1 -0
  67. package/core/Slider/.DS_Store +0 -0
  68. package/core/Slider/component.css +32 -0
  69. package/core/Slider/component.js +1 -1
  70. package/core/Slider.js +1 -0
  71. package/core/Table/.DS_Store +0 -0
  72. package/core/Table/Table.js +1 -1
  73. package/core/Table/TableCell.js +7 -1
  74. package/core/Table/TableRow.js +1 -1
  75. package/core/Table/data.js +1 -0
  76. package/core/Table.js +1 -0
  77. package/core/Tooltip/.DS_Store +0 -0
  78. package/core/Tooltip.js +1 -0
  79. package/core/css.js +1 -1
  80. package/core/dom-query.js +1 -1
  81. package/core/hubspot-chat-toggle.js +1 -1
  82. package/core/icons/icon-gui-partial.svg +4 -0
  83. package/core/icons.js +1 -1
  84. package/core/load-sprites.js +1 -1
  85. package/core/react-renderer.js +1 -1
  86. package/core/remote-blogs-posts.js +1 -1
  87. package/core/remote-data-store.js +1 -1
  88. package/core/remote-data-util.js +1 -1
  89. package/core/remote-session-data.js +1 -1
  90. package/core/sprites.svg +1 -1
  91. package/core/url-base.js +1 -1
  92. package/core/utils/syntax-highlighter-registry.js +1 -1
  93. package/core/utils/syntax-highlighter.js +1 -1
  94. package/package.json +2 -3
  95. package/src/.DS_Store +0 -0
  96. package/src/core/.DS_Store +0 -0
  97. package/src/core/Accordion/.DS_Store +0 -0
  98. package/src/core/Accordion/Accordion.stories.tsx +1 -1
  99. package/src/core/{Accordion/component.tsx → Accordion.tsx} +6 -6
  100. package/src/core/Code/.DS_Store +0 -0
  101. package/src/core/Code/Code.stories.tsx +1 -1
  102. package/src/core/{Code/component.tsx → Code.tsx} +3 -3
  103. package/src/core/{ConnectStateWrapper/component.tsx → ConnectStateWrapper.tsx} +1 -1
  104. package/src/core/ContactFooter/.DS_Store +0 -0
  105. package/src/core/ContactFooter/ContactFooter.stories.tsx +1 -1
  106. package/src/core/{ContactFooter/component.tsx → ContactFooter.tsx} +4 -4
  107. package/src/core/CookieMessage/.DS_Store +0 -0
  108. package/src/core/CookieMessage/CookieMessage.stories.tsx +1 -1
  109. package/src/core/{CookieMessage/component.tsx → CookieMessage.tsx} +2 -2
  110. package/src/core/CustomerLogos/.DS_Store +0 -0
  111. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +1 -1
  112. package/src/core/DropdownMenu/.DS_Store +0 -0
  113. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +2 -2
  114. package/src/core/{DropdownMenu/component.tsx → DropdownMenu.tsx} +1 -1
  115. package/src/core/Expander/Expander.stories.tsx +118 -0
  116. package/src/core/Expander.tsx +46 -0
  117. package/src/core/FeaturedLink/.DS_Store +0 -0
  118. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +1 -1
  119. package/src/core/{FeaturedLink/component.tsx → FeaturedLink.tsx} +1 -1
  120. package/src/core/Flash/.DS_Store +0 -0
  121. package/src/core/Flash/Flash.stories.tsx +1 -1
  122. package/src/core/{Flash/component.tsx → Flash.tsx} +4 -4
  123. package/src/core/Footer/.DS_Store +0 -0
  124. package/src/core/Footer/Footer.stories.tsx +1 -1
  125. package/src/core/{Footer/component.tsx → Footer.tsx} +3 -3
  126. package/src/core/Icon/.DS_Store +0 -0
  127. package/src/core/Icon/Icon.stories.tsx +2 -1
  128. package/src/core/Loader/.DS_Store +0 -0
  129. package/src/core/Loader/Loader.stories.tsx +1 -1
  130. package/src/core/Logo/.DS_Store +0 -0
  131. package/src/core/Logo/Logo.stories.tsx +1 -1
  132. package/src/core/Meganav/Meganav.stories.tsx +1 -1
  133. package/src/core/{Meganav/component.tsx → Meganav.tsx} +17 -19
  134. package/src/core/MeganavBlogPostsList/.DS_Store +0 -0
  135. package/src/core/{MeganavBlogPostsList/component.tsx → MeganavBlogPostsList.tsx} +2 -2
  136. package/src/core/{MeganavContentCompany/component.tsx → MeganavContentCompany.tsx} +5 -5
  137. package/src/core/{MeganavContentDevelopers/component.tsx → MeganavContentDevelopers.tsx} +2 -2
  138. package/src/core/{MeganavContentProducts/component.tsx → MeganavContentProducts.tsx} +2 -2
  139. package/src/core/{MeganavContentUseCases/component.tsx → MeganavContentUseCases.tsx} +2 -2
  140. package/src/core/MeganavControl/.DS_Store +0 -0
  141. package/src/core/{MeganavControl/component.tsx → MeganavControl.tsx} +2 -2
  142. package/src/core/MeganavControlMobileDropdown/.DS_Store +0 -0
  143. package/src/core/{MeganavControlMobileDropdown/component.tsx → MeganavControlMobileDropdown.tsx} +2 -2
  144. package/src/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
  145. package/src/core/{MeganavControlMobilePanelClose/component.tsx → MeganavControlMobilePanelClose.tsx} +1 -2
  146. package/src/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
  147. package/src/core/{MeganavControlMobilePanelOpen/component.tsx → MeganavControlMobilePanelOpen.tsx} +1 -2
  148. package/src/core/{MeganavItemsDesktop/component.tsx → MeganavItemsDesktop.tsx} +3 -3
  149. package/src/core/{MeganavItemsMobile/component.tsx → MeganavItemsMobile.tsx} +9 -9
  150. package/src/core/{MeganavItemsSignedIn/component.tsx → MeganavItemsSignedIn.tsx} +4 -8
  151. package/src/core/{MeganavSearch/component.tsx → MeganavSearch.tsx} +3 -3
  152. package/src/core/MeganavSearchAutocomplete/.DS_Store +0 -0
  153. package/src/core/{MeganavSearchPanel/component.tsx → MeganavSearchPanel.tsx} +4 -4
  154. package/src/core/MeganavSearchSuggestions/.DS_Store +0 -0
  155. package/src/core/{MeganavSearchSuggestions/component.tsx → MeganavSearchSuggestions.tsx} +2 -2
  156. package/src/core/Notice/.DS_Store +0 -0
  157. package/src/core/Notice/component.js +1 -1
  158. package/src/core/{Notice/component.tsx → Notice.tsx} +3 -4
  159. package/src/core/{SignOutLink/component.tsx → SignOutLink.tsx} +1 -1
  160. package/src/core/Slider/.DS_Store +0 -0
  161. package/src/core/Slider/Slider.stories.tsx +83 -30
  162. package/src/core/Slider/component.css +32 -0
  163. package/src/core/Slider.tsx +193 -0
  164. package/src/core/Table/.DS_Store +0 -0
  165. package/src/core/Table/Table.tsx +38 -9
  166. package/src/core/Table/TableCell.tsx +31 -6
  167. package/src/core/Table/{stories/data.tsx → data.tsx} +3 -3
  168. package/src/core/{Table/index.ts → Table.tsx} +5 -3
  169. package/src/core/Tooltip/.DS_Store +0 -0
  170. package/src/core/Tooltip/Tooltip.stories.tsx +1 -1
  171. package/src/core/{Tooltip/component.tsx → Tooltip.tsx} +34 -6
  172. package/src/core/icons/icon-gui-partial.svg +4 -0
  173. package/src/pages/Buttons.mdx +1 -1
  174. package/src/pages/Chips.mdx +1 -1
  175. package/src/pages/Forms.mdx +2 -2
  176. package/core/Accordion/component.js +0 -1
  177. package/core/ConnectStateWrapper/component.js +0 -1
  178. package/core/CookieMessage/component.js +0 -1
  179. package/core/CustomerLogos/component.js +0 -1
  180. package/core/DropdownMenu/component.js +0 -1
  181. package/core/FeaturedLink/component.js +0 -1
  182. package/core/Flash/component.js +0 -1
  183. package/core/Footer/component.js +0 -1
  184. package/core/Icon/component.js +0 -1
  185. package/core/Loader/component.js +0 -1
  186. package/core/Logo/component.js +0 -1
  187. package/core/MeganavContentCompany/component.js +0 -1
  188. package/core/MeganavContentDevelopers/component.js +0 -1
  189. package/core/MeganavContentProducts/component.js +0 -1
  190. package/core/MeganavContentUseCases/component.js +0 -1
  191. package/core/MeganavItemsDesktop/component.js +0 -1
  192. package/core/MeganavItemsMobile/component.js +0 -1
  193. package/core/MeganavItemsSignedIn/component.js +0 -1
  194. package/core/MeganavSearch/component.js +0 -1
  195. package/core/MeganavSearchPanel/component.js +0 -1
  196. package/core/SignOutLink/component.js +0 -1
  197. package/core/Table/index.js +0 -1
  198. package/core/Table/stories/data.js +0 -1
  199. package/core/Tooltip/component.js +0 -1
  200. package/src/core/Accordion/component.js +0 -0
  201. package/src/core/ConnectStateWrapper/component.js +0 -0
  202. package/src/core/CookieMessage/component.js +0 -1
  203. package/src/core/CustomerLogos/component.js +0 -0
  204. package/src/core/DropdownMenu/component.js +0 -0
  205. package/src/core/FeaturedLink/component.js +0 -0
  206. package/src/core/Flash/component.js +0 -1
  207. package/src/core/Footer/component.js +0 -1
  208. package/src/core/Icon/component.js +0 -0
  209. package/src/core/Loader/component.js +0 -0
  210. package/src/core/Logo/component.js +0 -0
  211. package/src/core/MeganavContentCompany/component.js +0 -0
  212. package/src/core/MeganavContentDevelopers/component.js +0 -0
  213. package/src/core/MeganavContentProducts/component.js +0 -0
  214. package/src/core/MeganavContentUseCases/component.js +0 -1
  215. package/src/core/MeganavItemsDesktop/component.js +0 -0
  216. package/src/core/MeganavItemsMobile/component.js +0 -0
  217. package/src/core/MeganavItemsSignedIn/component.js +0 -0
  218. package/src/core/MeganavSearch/component.js +0 -0
  219. package/src/core/MeganavSearchPanel/component.js +0 -0
  220. package/src/core/SignOutLink/component.js +0 -0
  221. package/src/core/Slider/component.tsx +0 -112
  222. /package/src/core/{CustomerLogos/component.tsx → CustomerLogos.tsx} +0 -0
  223. /package/src/core/{Icon/component.tsx → Icon.tsx} +0 -0
  224. /package/src/core/{Loader/component.tsx → Loader.tsx} +0 -0
  225. /package/src/core/{Logo/component.tsx → Logo.tsx} +0 -0
  226. /package/src/core/{MeganavSearchAutocomplete/component.tsx → MeganavSearchAutocomplete.tsx} +0 -0
  227. /package/src/core/Table/{stories/Table.stories.tsx → Table.stories.tsx} +0 -0
@@ -1 +1 @@
1
- import{queryId}from"../dom-query";var DRAG_BUFFER=5;var getTranslateX=function(node){return new DOMMatrix(window.getComputedStyle(node).transform).e};var updateTranslateX=function(node,value){return node.style.transform="translateX(".concat(value,"px)")};var dragLeftBoundary=function(translateX,threshold){return translateX>=threshold};var dragRightBoundary=function(translateX,itemsWidth,windowWidth,threshold){return Math.abs(translateX-windowWidth+threshold)>itemsWidth};var getDistance=function(e,touchStartX){var _e_changedTouches_;return((_e_changedTouches_=e.changedTouches[0])===null||_e_changedTouches_===void 0?void 0:_e_changedTouches_.clientX)-touchStartX};var withinBuffer=function(distance){return Math.abs(distance)<DRAG_BUFFER};var getItemsTotalWidth=function(nodes){return nodes.map(function(item){return item.getBoundingClientRect().width}).reduce(function(acc,val){return acc+val},0)};var MeganavSearchSuggestions=function(){var suggestionsToggle=queryId("meganav-mobile-search-input");var suggestions=queryId("meganav-mobile-search-suggestions");var list=suggestions.querySelector("ul");var listItems=Array.from(list.querySelectorAll("li"));var dragLeft=function(distance,threshold){var currentTranslateX=getTranslateX(list);var translateX=Math.round(currentTranslateX+distance);if(dragLeftBoundary(translateX,threshold))return;updateTranslateX(list,translateX)};var dragLeftEnd=function(distance,threshold){var currentTranslateX=getTranslateX(list);var translateX=Math.round(currentTranslateX+distance);if(dragLeftBoundary(translateX,threshold)){translateX=0}updateTranslateX(list,translateX)};var dragRight=function(distance,threshold){var listWidth=list.getBoundingClientRect().width;var currentTranslateX=getTranslateX(list);var translateX=Math.round(currentTranslateX+distance);var itemsTotalWidth=getItemsTotalWidth(listItems);if(dragRightBoundary(translateX,itemsTotalWidth,listWidth,threshold)){return}updateTranslateX(list,translateX)};var dragRightEnd=function(distance,threshold){var listWidth=list.getBoundingClientRect().width;var currentTranslateX=getTranslateX(list);var itemsTotalWidth=getItemsTotalWidth(listItems);var translateX=Math.round(currentTranslateX+distance);if(dragRightBoundary(translateX,itemsTotalWidth,listWidth,threshold)){translateX=-(itemsTotalWidth-listWidth+threshold)}updateTranslateX(list,translateX)};var touchStartX;var touchstartHandler=function(e){var _e_touches_;touchStartX=(_e_touches_=e.touches[0])===null||_e_touches_===void 0?void 0:_e_touches_.clientX};var touchmoveHandler=function(e){var distance=getDistance(e,touchStartX);if(withinBuffer(distance))return;distance>0?dragLeft(distance,24):dragRight(distance,96)};var touchendHandler=function(e){var distance=getDistance(e,touchStartX);if(withinBuffer(distance))return;distance>0?dragLeftEnd(distance,24):dragRightEnd(distance,48)};var focusSuggestionsHandler=function(){suggestions.classList.add("max-h-96")};var blurSuggestionsHandler=function(e){if(e.relatedTarget===suggestions.querySelectorAll("a")[0]){return}suggestions.classList.remove("max-h-96")};var wheelHandler=function(e){var distance=e.deltaY*4;if(withinBuffer(distance))return;distance>0?dragLeftEnd(distance,24):dragRightEnd(distance,48)};suggestionsToggle.addEventListener("focus",focusSuggestionsHandler);suggestionsToggle.addEventListener("blur",blurSuggestionsHandler);suggestions.addEventListener("touchstart",touchstartHandler);suggestions.addEventListener("touchmove",touchmoveHandler);suggestions.addEventListener("touchend",touchendHandler);suggestions.addEventListener("wheel",wheelHandler);return{teardown:function(){suggestionsToggle.removeEventListener("focus",focusSuggestionsHandler);suggestionsToggle.removeEventListener("blur",blurSuggestionsHandler);suggestions.removeEventListener("touchstart",touchstartHandler);suggestions.removeEventListener("touchmove",touchmoveHandler);suggestions.removeEventListener("touchend",touchendHandler)},clear:function(){suggestions.classList.remove("max-h-96");list.style.transform="translateX(0px)"}}};export default MeganavSearchSuggestions;
1
+ import{queryId}from"../dom-query";const DRAG_BUFFER=5;const getTranslateX=node=>new DOMMatrix(window.getComputedStyle(node).transform).e;const updateTranslateX=(node,value)=>node.style.transform=`translateX(${value}px)`;const dragLeftBoundary=(translateX,threshold)=>translateX>=threshold;const dragRightBoundary=(translateX,itemsWidth,windowWidth,threshold)=>Math.abs(translateX-windowWidth+threshold)>itemsWidth;const getDistance=(e,touchStartX)=>{var _e_changedTouches_;return((_e_changedTouches_=e.changedTouches[0])===null||_e_changedTouches_===void 0?void 0:_e_changedTouches_.clientX)-touchStartX};const withinBuffer=distance=>Math.abs(distance)<DRAG_BUFFER;const getItemsTotalWidth=nodes=>nodes.map(item=>item.getBoundingClientRect().width).reduce((acc,val)=>acc+val,0);const MeganavSearchSuggestions=()=>{const suggestionsToggle=queryId("meganav-mobile-search-input");const suggestions=queryId("meganav-mobile-search-suggestions");const list=suggestions.querySelector("ul");const listItems=Array.from(list.querySelectorAll("li"));const dragLeft=(distance,threshold)=>{const currentTranslateX=getTranslateX(list);const translateX=Math.round(currentTranslateX+distance);if(dragLeftBoundary(translateX,threshold))return;updateTranslateX(list,translateX)};const dragLeftEnd=(distance,threshold)=>{const currentTranslateX=getTranslateX(list);let translateX=Math.round(currentTranslateX+distance);if(dragLeftBoundary(translateX,threshold)){translateX=0}updateTranslateX(list,translateX)};const dragRight=(distance,threshold)=>{const listWidth=list.getBoundingClientRect().width;const currentTranslateX=getTranslateX(list);const translateX=Math.round(currentTranslateX+distance);const itemsTotalWidth=getItemsTotalWidth(listItems);if(dragRightBoundary(translateX,itemsTotalWidth,listWidth,threshold)){return}updateTranslateX(list,translateX)};const dragRightEnd=(distance,threshold)=>{const listWidth=list.getBoundingClientRect().width;const currentTranslateX=getTranslateX(list);const itemsTotalWidth=getItemsTotalWidth(listItems);let translateX=Math.round(currentTranslateX+distance);if(dragRightBoundary(translateX,itemsTotalWidth,listWidth,threshold)){translateX=-(itemsTotalWidth-listWidth+threshold)}updateTranslateX(list,translateX)};let touchStartX;const touchstartHandler=e=>{var _e_touches_;touchStartX=(_e_touches_=e.touches[0])===null||_e_touches_===void 0?void 0:_e_touches_.clientX};const touchmoveHandler=e=>{const distance=getDistance(e,touchStartX);if(withinBuffer(distance))return;distance>0?dragLeft(distance,24):dragRight(distance,96)};const touchendHandler=e=>{const distance=getDistance(e,touchStartX);if(withinBuffer(distance))return;distance>0?dragLeftEnd(distance,24):dragRightEnd(distance,48)};const focusSuggestionsHandler=()=>{suggestions.classList.add("max-h-96")};const blurSuggestionsHandler=e=>{if(e.relatedTarget===suggestions.querySelectorAll("a")[0]){return}suggestions.classList.remove("max-h-96")};const wheelHandler=e=>{const distance=e.deltaY*4;if(withinBuffer(distance))return;distance>0?dragLeftEnd(distance,24):dragRightEnd(distance,48)};suggestionsToggle.addEventListener("focus",focusSuggestionsHandler);suggestionsToggle.addEventListener("blur",blurSuggestionsHandler);suggestions.addEventListener("touchstart",touchstartHandler);suggestions.addEventListener("touchmove",touchmoveHandler);suggestions.addEventListener("touchend",touchendHandler);suggestions.addEventListener("wheel",wheelHandler);return{teardown:()=>{suggestionsToggle.removeEventListener("focus",focusSuggestionsHandler);suggestionsToggle.removeEventListener("blur",blurSuggestionsHandler);suggestions.removeEventListener("touchstart",touchstartHandler);suggestions.removeEventListener("touchmove",touchmoveHandler);suggestions.removeEventListener("touchend",touchendHandler)},clear:()=>{suggestions.classList.remove("max-h-96");list.style.transform=`translateX(0px)`}}};export default MeganavSearchSuggestions;
@@ -0,0 +1 @@
1
+ import React from"react";import FeaturedLink from"./FeaturedLink";const MeganavSearchSuggestions=({absUrl,displaySupportLink})=>React.createElement(React.Fragment,null,React.createElement("p",{className:"ui-text-overline2 text-cool-black py-12"},"Popular pages"),React.createElement("div",{className:"flex justify-between items-center overflow-hidden"},React.createElement("ul",{className:"flex transition-transform"},React.createElement("li",{className:"py-12 pr-8 flex-shrink-0"},React.createElement("a",{href:absUrl("/docs/how-ably-works"),className:"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"},"How does Ably work?")),React.createElement("li",{className:"py-12 px-8 flex-shrink-0"},React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"},"Quickstart guide")),React.createElement("li",{className:"py-12 px-8 flex-shrink-0"},React.createElement("a",{href:absUrl("/docs/core-features/pubsub"),className:"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"},"Publish/Subscribe Messaging")),React.createElement("li",{className:"py-12 pl-8 flex-shrink-0"},React.createElement("a",{href:absUrl("/platform"),className:"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"},"Platform"))),displaySupportLink?React.createElement(FeaturedLink,{url:absUrl("/support"),textSize:"text-p2"},"Support"):null));export default MeganavSearchSuggestions;
Binary file
@@ -1 +1 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}import"./component.css";import Cookie from"js-cookie";import throttle from"lodash.throttle";import{queryId}from"../dom-query";import{FLASH_DATA_ID}from"../Flash/component.tsx";var COOKIE_EXPIRY=90;var COLLAPSE_TRIGGER_DISTANCE=5;var SCROLL_LISTENER_THROTTLE=100;var RESIZE_LISTENER_THROTTLE=100;var isMdViewport=function(){return!window.matchMedia("(min-width: 65rem)").matches};var adjustFlashMargin=function(open){var flash=queryId(FLASH_DATA_ID);if(flash){flash.style.marginTop=open?"4rem":null}};var hideOnMobile=function(bannerContainer){if(isMdViewport()){bannerContainer.style.display="none"}else{bannerContainer.style.display=null}};var hideNotice=function(bannerContainer){bannerContainer.style.maxHeight=0;bannerContainer.style.overflow="hidden";adjustFlashMargin(false)};var showNotice=function(bannerContainer){bannerContainer.style.maxHeight=null;bannerContainer.style.overflow=null;adjustFlashMargin(true)};var setupRememberClosed=function(cookieId,noticeId){var cookie=Cookie.get(cookieId)||"";Cookie.set(cookieId,"".concat(cookie.replace("".concat(noticeId,","),"")+noticeId,","),{expires:COOKIE_EXPIRY})};var hasBeenClosedBefore=function(cookieId,noticeId){return(Cookie.get(cookieId)||"").includes(noticeId)};var setupNoticeCollapse=function(bannerContainer){var scrollTop=window.scrollY;if(scrollTop>COLLAPSE_TRIGGER_DISTANCE){hideNotice(bannerContainer)}var listener=throttle(function(){var scrollTop=window.scrollY;if(scrollTop>COLLAPSE_TRIGGER_DISTANCE){hideNotice(bannerContainer)}else if(bannerContainer.style.overflow){showNotice(bannerContainer)}},SCROLL_LISTENER_THROTTLE);document.addEventListener("scroll",listener);return function(){return document.removeEventListener("scroll",listener)}};var setupCloseBtn=function(bannerContainer,cookieId,noticeId,collapseUnmountListeners){var closeBtn=bannerContainer.querySelector("button");if(!closeBtn)return function(){};var listener=function(){if(cookieId&&noticeId)setupRememberClosed(cookieId,noticeId);hideNotice(bannerContainer);collapseUnmountListeners()};closeBtn.addEventListener("click",listener);return function(){return document.removeEventListener("click",listener)}};var resizeHandler=function(bannerContainer){var handler=throttle(function(){hideOnMobile(bannerContainer)},RESIZE_LISTENER_THROTTLE);window.addEventListener("resize",handler);return function(){return window.removeEventListener("resize",handler)}};var Notice=function(param){var bannerContainer=param.bannerContainer,cookieId=param.cookieId,noticeId=param.noticeId,options=param.options;if(typeof window==="undefined")return function(){};if(!bannerContainer){console.warn("A Notice component was initited but no notice container was found.");return function(){}}if(hasBeenClosedBefore(cookieId,noticeId))return function(){};hideOnMobile(bannerContainer);showNotice(bannerContainer);var opts=_object_spread({collapse:true},options);var collapseUnmountListeners=opts.collapse?setupNoticeCollapse(bannerContainer):function(){};var closeBtnUnmountListeners=setupCloseBtn(bannerContainer,cookieId,noticeId,collapseUnmountListeners);var resizeUnmountListener=resizeHandler(bannerContainer);return function(){[closeBtnUnmountListeners,collapseUnmountListeners,resizeUnmountListener].forEach(function(unmount){return unmount()})}};export default Notice;
1
+ import"./component.css";import Cookie from"js-cookie";import throttle from"lodash.throttle";import{queryId}from"../dom-query";import{FLASH_DATA_ID}from"../Flash";const COOKIE_EXPIRY=90;const COLLAPSE_TRIGGER_DISTANCE=5;const SCROLL_LISTENER_THROTTLE=100;const RESIZE_LISTENER_THROTTLE=100;const isMdViewport=()=>!window.matchMedia(`(min-width: 65rem)`).matches;const adjustFlashMargin=open=>{const flash=queryId(FLASH_DATA_ID);if(flash){flash.style.marginTop=open?`4rem`:null}};const hideOnMobile=bannerContainer=>{if(isMdViewport()){bannerContainer.style.display="none"}else{bannerContainer.style.display=null}};const hideNotice=bannerContainer=>{bannerContainer.style.maxHeight=0;bannerContainer.style.overflow="hidden";adjustFlashMargin(false)};const showNotice=bannerContainer=>{bannerContainer.style.maxHeight=null;bannerContainer.style.overflow=null;adjustFlashMargin(true)};const setupRememberClosed=(cookieId,noticeId)=>{const cookie=Cookie.get(cookieId)||"";Cookie.set(cookieId,`${cookie.replace(`${noticeId},`,"")+noticeId},`,{expires:COOKIE_EXPIRY})};const hasBeenClosedBefore=(cookieId,noticeId)=>(Cookie.get(cookieId)||"").includes(noticeId);const setupNoticeCollapse=bannerContainer=>{const scrollTop=window.scrollY;if(scrollTop>COLLAPSE_TRIGGER_DISTANCE){hideNotice(bannerContainer)}const listener=throttle(()=>{const scrollTop=window.scrollY;if(scrollTop>COLLAPSE_TRIGGER_DISTANCE){hideNotice(bannerContainer)}else if(bannerContainer.style.overflow){showNotice(bannerContainer)}},SCROLL_LISTENER_THROTTLE);document.addEventListener("scroll",listener);return()=>document.removeEventListener("scroll",listener)};const setupCloseBtn=(bannerContainer,cookieId,noticeId,collapseUnmountListeners)=>{const closeBtn=bannerContainer.querySelector("button");if(!closeBtn)return()=>{};const listener=()=>{if(cookieId&&noticeId)setupRememberClosed(cookieId,noticeId);hideNotice(bannerContainer);collapseUnmountListeners()};closeBtn.addEventListener("click",listener);return()=>document.removeEventListener("click",listener)};const resizeHandler=bannerContainer=>{const handler=throttle(()=>{hideOnMobile(bannerContainer)},RESIZE_LISTENER_THROTTLE);window.addEventListener("resize",handler);return()=>window.removeEventListener("resize",handler)};const Notice=({bannerContainer,cookieId,noticeId,options})=>{if(typeof window==="undefined")return()=>{};if(!bannerContainer){console.warn("A Notice component was initited but no notice container was found.");return()=>{}}if(hasBeenClosedBefore(cookieId,noticeId))return()=>{};hideOnMobile(bannerContainer);showNotice(bannerContainer);const opts={collapse:true,...options};const collapseUnmountListeners=opts.collapse?setupNoticeCollapse(bannerContainer):()=>{};const closeBtnUnmountListeners=setupCloseBtn(bannerContainer,cookieId,noticeId,collapseUnmountListeners);const resizeUnmountListener=resizeHandler(bannerContainer);return()=>{[closeBtnUnmountListeners,collapseUnmountListeners,resizeUnmountListener].forEach(unmount=>unmount())}};export default Notice;
package/core/Notice.js ADDED
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
1
+ import React,{useRef}from"react";const SignOutLink=({token,href,text,children,absUrl})=>{const formRef=useRef(null);const onClick=e=>{var _formRef_current;(_formRef_current=formRef.current)===null||_formRef_current===void 0?void 0:_formRef_current.submit();e.preventDefault()};return React.createElement(React.Fragment,null,React.createElement("form",{ref:formRef,method:"post",action:absUrl(href),className:"hidden"},React.createElement("input",{name:"_method",value:"delete",type:"hidden"}),React.createElement("input",{name:"authenticity_token",value:token,type:"hidden"})),children({href,text,onClick}))};export default SignOutLink;
Binary file
@@ -4,3 +4,35 @@
4
4
 
5
5
  @apply leading-none px-4 relative;
6
6
  }
7
+
8
+ @keyframes fillAnimation {
9
+ 0% {
10
+ width: 0%;
11
+ }
12
+ 100% {
13
+ width: 100%;
14
+ }
15
+ }
16
+
17
+ .ui-icon-cta {
18
+ @apply cursor-pointer overflow-hidden;
19
+ @apply rounded border-2 border-mid-grey hover:border-active-orange;
20
+ transition: all 0.4s;
21
+ }
22
+
23
+ @screen sm {
24
+ .ui-icon-cta-left:hover .ui-icon-cta-holder {
25
+ transform: translateX(-120%);
26
+ }
27
+ .ui-icon-cta-right .ui-icon-cta-holder {
28
+ transform: translateX(-120%);
29
+ }
30
+ .ui-icon-cta-right:hover .ui-icon-cta-holder {
31
+ transform: translateX(0%);
32
+ }
33
+ }
34
+
35
+ .ui-icon-cta-holder {
36
+ @apply w-full h-full;
37
+ transition: all 0.4s;
38
+ }
@@ -1 +1 @@
1
- import"./component.css";import throttle from"lodash.throttle";import{queryId,queryIdAll}from"../dom-query";var mdBreakpoint=function(){return window.matchMedia("(min-width: 48rem)").matches};var DRAG_BUFFER=20;var init=function(slidesContainer){var transformContainer=queryId("slider-strip",slidesContainer);var slides=Array.from(queryIdAll("slider-slide",slidesContainer));var slideLeftChevron=queryId("slider-previous",slidesContainer);var slideRightChevron=queryId("slider-next",slidesContainer);var slideMarkers=Array.from(queryIdAll("slider-marker",slidesContainer));var sliderControls=queryId("slider-controls",slidesContainer);sliderControls.classList.replace("hidden","flex");var slidesLength=slides.length;var slidesWidth=slidesContainer.getBoundingClientRect().width;var _slides__getBoundingClientRect=slides[0].getBoundingClientRect(),slideWidth=_slides__getBoundingClientRect.width,slideLeftDistance=_slides__getBoundingClientRect.left;var _slides__getBoundingClientRect1=slides[1].getBoundingClientRect(),slideLeftDistanceSecond=_slides__getBoundingClientRect1.left;var slideGap=slideLeftDistanceSecond-slideLeftDistance-slideWidth;var adjustment=(slidesWidth-slideWidth)/2;var currentIndex=0;var touchStartX=0;var calculateTransform=function(index){return index*-slideWidth+adjustment+index*-slideGap};var updateSlide=function(index){return transformContainer.style.transform="translateX(".concat(calculateTransform(index),"px)")};var updateMarkers=function(index){slideMarkers.forEach(function(marker){return marker.classList.remove("text-active-orange")});slideMarkers[index].classList.remove("text-cool-black");slideMarkers[index].classList.add("text-active-orange")};var slideLeft=function(){currentIndex=currentIndex-1<=0?0:currentIndex-1;updateSlide(currentIndex);updateMarkers(currentIndex)};var slideRight=function(){currentIndex=currentIndex+1>=slidesLength?currentIndex:currentIndex+1;updateSlide(currentIndex);updateMarkers(currentIndex)};updateSlide(0);updateMarkers(0);slideLeftChevron.addEventListener("click",slideLeft);transformContainer.addEventListener("touchstart",function(e){var _e_touches_;touchStartX=(_e_touches_=e.touches[0])===null||_e_touches_===void 0?void 0:_e_touches_.clientX});transformContainer.addEventListener("touchend",function(e){var _e_changedTouches_;var distance=((_e_changedTouches_=e.changedTouches[0])===null||_e_changedTouches_===void 0?void 0:_e_changedTouches_.clientX)-touchStartX;if(Math.abs(distance)<DRAG_BUFFER)return;var direction=distance>0?slideLeft:slideRight;direction()});slideRightChevron.addEventListener("click",slideRight);return function(){transformContainer.style.transform=null;sliderControls.classList.replace("flex","hidden")}};var Slider=function(param){var container=param.container,mqEnableThreshold=param.mqEnableThreshold;if(!container)return;var breakpointCheck=mqEnableThreshold||function(){return!mdBreakpoint()};var unmount=function(){};if(breakpointCheck())unmount=init(container);window.addEventListener("resize",throttle(function(){if(breakpointCheck()){unmount=init(container)}else{unmount()}},100))};export default Slider;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(function(_,i){return 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"./component.css";import throttle from"lodash.throttle";import{queryId,queryIdAll}from"../dom-query";const mdBreakpoint=()=>window.matchMedia("(min-width: 48rem)").matches;const DRAG_BUFFER=20;const init=slidesContainer=>{const transformContainer=queryId("slider-strip",slidesContainer);const slides=Array.from(queryIdAll("slider-slide",slidesContainer));const slideLeftChevron=queryId("slider-previous",slidesContainer);const slideRightChevron=queryId("slider-next",slidesContainer);const slideMarkers=Array.from(queryIdAll("slider-marker",slidesContainer));const sliderControls=queryId("slider-controls",slidesContainer);sliderControls.classList.replace("hidden","flex");const slidesLength=slides.length;const slidesWidth=slidesContainer.getBoundingClientRect().width;const{width:slideWidth,left:slideLeftDistance}=slides[0].getBoundingClientRect();const{left:slideLeftDistanceSecond}=slides[1].getBoundingClientRect();const slideGap=slideLeftDistanceSecond-slideLeftDistance-slideWidth;const adjustment=(slidesWidth-slideWidth)/2;let currentIndex=0;let touchStartX=0;const calculateTransform=index=>index*-slideWidth+adjustment+index*-slideGap;const updateSlide=index=>transformContainer.style.transform=`translateX(${calculateTransform(index)}px)`;const updateMarkers=index=>{slideMarkers.forEach(marker=>marker.classList.remove("text-active-orange"));slideMarkers[index].classList.remove("text-cool-black");slideMarkers[index].classList.add("text-active-orange")};const slideLeft=()=>{currentIndex=currentIndex-1<=0?0:currentIndex-1;updateSlide(currentIndex);updateMarkers(currentIndex)};const slideRight=()=>{currentIndex=currentIndex+1>=slidesLength?currentIndex:currentIndex+1;updateSlide(currentIndex);updateMarkers(currentIndex)};updateSlide(0);updateMarkers(0);slideLeftChevron.addEventListener("click",slideLeft);transformContainer.addEventListener("touchstart",e=>{var _e_touches_;touchStartX=(_e_touches_=e.touches[0])===null||_e_touches_===void 0?void 0:_e_touches_.clientX});transformContainer.addEventListener("touchend",e=>{var _e_changedTouches_;const distance=((_e_changedTouches_=e.changedTouches[0])===null||_e_changedTouches_===void 0?void 0:_e_changedTouches_.clientX)-touchStartX;if(Math.abs(distance)<DRAG_BUFFER)return;const direction=distance>0?slideLeft:slideRight;direction()});slideRightChevron.addEventListener("click",slideRight);return()=>{transformContainer.style.transform=null;sliderControls.classList.replace("flex","hidden")}};const Slider=({container,mqEnableThreshold})=>{if(!container)return;const breakpointCheck=mqEnableThreshold||(()=>!mdBreakpoint());let unmount=()=>{};if(breakpointCheck())unmount=init(container);window.addEventListener("resize",throttle(()=>{if(breakpointCheck()){unmount=init(container)}else{unmount()}},100))};export default Slider;
package/core/Slider.js ADDED
@@ -0,0 +1 @@
1
+ import React,{useState,useEffect,useRef}from"react";import Icon from"./Icon";import"./Slider/component.css";const SlideIndicator=({numSlides,activeIndex,interval,intervalIndicator,isInline})=>{return React.createElement("ul",{className:`flex gap-4 left-1/2 ${isInline?"bottom-0":"absolute -bottom-40 transform -translate-x-1/2"}`},Array.from({length:numSlides},(_,i)=>intervalIndicator?React.createElement("li",{key:i,className:"relative w-40 h-4 mx-1 rounded-full bg-neutral-500"},i===activeIndex&&React.createElement("span",{className:"absolute inset-0 rounded-full bg-active-orange",style:{animation:`fillAnimation ${interval}ms linear`}})):React.createElement("li",{key:i},React.createElement("span",{className:`ui-slider-marker ${i===activeIndex?"text-active-orange":"text-cool-black"}`,"data-id":"slider-marker"},"⬤"))))};const Slider=({children,options})=>{const[activeIndex,setActiveIndex]=useState(0);const[touchStartX,setTouchStartX]=useState(0);const[touchEndX,setTouchEndX]=useState(0);const timerRef=useRef(null);const isInline=(options===null||options===void 0?void 0:options.controlPosition)==="inline";const next=()=>{setActiveIndex(prevIndex=>(prevIndex+1)%children.length);resetInterval()};const prev=()=>{setActiveIndex(prevIndex=>prevIndex>0?prevIndex-1:children.length-1);resetInterval()};const resetInterval=()=>{if(timerRef.current)clearInterval(timerRef.current);var _options_interval;timerRef.current=setInterval(next,(_options_interval=options===null||options===void 0?void 0:options.interval)!==null&&_options_interval!==void 0?_options_interval:1e4)};const handleTouchStart=e=>{setTouchStartX(e.touches[0].clientX)};const handleTouchMove=e=>{setTouchEndX(e.touches[0].clientX)};const handleTouchEnd=()=>{if(touchStartX-touchEndX>50){next()}if(touchStartX-touchEndX<-50){prev()}};useEffect(()=>{resetInterval();return()=>{if(timerRef.current)clearInterval(timerRef.current)}},[children.length,options===null||options===void 0?void 0:options.interval]);var _options_interval;return React.createElement("div",{className:"relative",onTouchStart:handleTouchStart,onTouchMove:handleTouchMove,onTouchEnd:handleTouchEnd},React.createElement("div",{className:"overflow-hidden w-full py-40"},React.createElement("div",{className:"flex items-center transition-transform ease-in-out duration-500",style:{transform:`translateX(-${activeIndex*100}%)`}},children.map((child,index)=>React.createElement("div",{key:index,className:"w-full flex-shrink-0 flex justify-center sm:px-60 transition-opacity ease-in delay-500 duration-500",style:{opacity:activeIndex===index?1:.1}},child)))),React.createElement("div",{className:`flex items-center pointer-events-none ${isInline?"ui-standard-container justify-center gap-24":"sm:flex sm:absolute inset-0 justify-between"}`},React.createElement("button",{className:`${isInline?"w-32 h-32":"hidden sm:flex w-48 h-48"} pointer-events-auto rounded border border-mid-grey hover:border-active-orange flex justify-center items-center ui-icon-cta ui-icon-cta-left`,onClick:prev},React.createElement("div",{className:"ui-icon-cta-holder flex gap-4"},React.createElement("div",{className:"w-full h-full flex-shrink-0 flex items-center justify-center"},React.createElement(Icon,{name:"icon-gui-arrow-left",size:"1.5rem"})),React.createElement("div",{className:"w-full h-full flex-shrink-0 flex items-center justify-center"},React.createElement(Icon,{name:"icon-gui-arrow-left",size:"1.5rem"})))),React.createElement(SlideIndicator,{numSlides:children.length,activeIndex:activeIndex,interval:(_options_interval=options===null||options===void 0?void 0:options.interval)!==null&&_options_interval!==void 0?_options_interval:1e4,intervalIndicator:options===null||options===void 0?void 0:options.intervalIndicator,isInline:isInline}),React.createElement("button",{className:`${isInline?"w-32 h-32":"hidden sm:flex w-48 h-48"} pointer-events-auto rounded border border-mid-grey hover:border-active-orange justify-center items-center ui-icon-cta ui-icon-cta-right`,onClick:next},React.createElement("div",{className:"ui-icon-cta-holder flex gap-4"},React.createElement("div",{className:"w-full h-full flex-shrink-0 flex items-center justify-center"},React.createElement(Icon,{name:"icon-gui-arrow-right",size:"1.5rem"})),React.createElement("div",{className:"w-full h-full flex-shrink-0 flex items-center justify-center"},React.createElement(Icon,{name:"icon-gui-arrow-right",size:"1.5rem"}))))))};export default Slider;
Binary file
@@ -1 +1 @@
1
- import React,{cloneElement}from"react";export var Table=function(param){var id=param.id,children=param.children;return React.createElement("table",{id:id,className:"ui-standard-container mb-4 sm:table-fixed"},children)};export var TableBody=function(param){var children=param.children;return React.createElement("tbody",null,children)};export var TableHeader=function(param){var children=param.children;return React.createElement("thead",{className:"sticky bg-white z-10 top-0",key:"sticky-block"},cloneElement(children,{isHeader:true}))};export var TableRowHeader=function(param){var children=param.children;return 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 +1,7 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React from"react";import Icon from"../Icon/component.tsx";var Supported=function(){return 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"})};var Unsupported=function(){return 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"})};var LabelCell=function(_param){var children=_param.children,rest=_object_without_properties(_param,["children"]);var _rest_className;var classes="\n ui-text-p1 !font-bold pt-24 pb-8 border-light-grey sm:p-24 sm:relative sm:top-2 flex sm:table-cell ".concat((_rest_className=rest.className)!==null&&_rest_className!==void 0?_rest_className:"","\n ");return React.createElement("td",_object_spread_props(_object_spread({},rest),{className:classes}),children)};var TableCell=function(_param){var children=_param.children,isRowHeader=_param.isRowHeader,rest=_object_without_properties(_param,["children","isRowHeader"]);var _rest_className;return React.createElement("td",_object_spread_props(_object_spread({},rest),{className:"\n border-light-grey sm:p-24 leading-none flex sm:table-cell\n ".concat(isRowHeader?"rounded-l-none rounded-r sm:rounded-lg py-20 px-24":"py-6","\n ").concat((_rest_className=rest.className)!==null&&_rest_className!==void 0?_rest_className:"","\n ")}),children)};var HeaderCell=function(_param){var children=_param.children,rest=_object_without_properties(_param,["children"]);return React.createElement("td",_object_spread_props(_object_spread({},rest),{className:"ui-text-h3 px-24 py-24 hidden sm:table-cell"}),children)};var CtaCell=function(_param){var children=_param.children,rest=_object_without_properties(_param,["children"]);return React.createElement("td",_object_spread_props(_object_spread({},rest),{className:"pt-24 hidden sm:table-cell"}),children)};export{TableCell,LabelCell,HeaderCell,CtaCell,Supported,Unsupported};
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
+ `;return React.createElement("td",{...rest,className:classes},children)};const TableCell=({children,isRowHeader,...rest})=>{var _rest_className;return React.createElement("td",{...rest,className:`
4
+ border-light-grey sm:p-24 leading-none flex sm:table-cell
5
+ ${isRowHeader?"rounded-l-none rounded-r sm:rounded-lg py-20 px-24":"py-6"}
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
- function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React from"react";var CtaRow=function(param){var children=param.children;return React.createElement("tr",null,React.createElement("td",{className:"hidden sm:block"}),children)};var TableRow=function(_param){var children=_param.children,isHeader=_param.isHeader,rest=_object_without_properties(_param,["children","isHeader"]);return React.createElement("tr",rest,isHeader&&React.createElement("td",{className:"bg-white"}),children)};export{TableRow,CtaRow};
1
+ import React from"react";const CtaRow=({children})=>React.createElement("tr",null,React.createElement("td",{className:"hidden sm:block"}),children);const TableRow=({children,isHeader,...rest})=>React.createElement("tr",rest,isHeader&&React.createElement("td",{className:"bg-white"}),children);export{TableRow,CtaRow};
@@ -0,0 +1 @@
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 ADDED
@@ -0,0 +1 @@
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};
Binary file
@@ -0,0 +1 @@
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;
package/core/css.js CHANGED
@@ -1 +1 @@
1
- export var remsToPixelValue=function(remString){return parseFloat(remString)*parseFloat(getComputedStyle(document.documentElement).fontSize)};
1
+ export const remsToPixelValue=remString=>parseFloat(remString)*parseFloat(getComputedStyle(document.documentElement).fontSize);
package/core/dom-query.js CHANGED
@@ -1 +1 @@
1
- export var queryId=function(val){var root=arguments.length>1&&arguments[1]!==void 0?arguments[1]:document;return root.querySelector("[data-id=".concat(val,"]"))};export var queryIdAll=function(val){var root=arguments.length>1&&arguments[1]!==void 0?arguments[1]:document;return root.querySelectorAll("[data-id=".concat(val,"]"))};
1
+ export const queryId=(val,root=document)=>root.querySelector(`[data-id=${val}]`);export const queryIdAll=(val,root=document)=>root.querySelectorAll(`[data-id=${val}]`);
@@ -1 +1 @@
1
- import{queryId}from"./dom-query";function enableBtn(el,text){el.disabled=false;el.innerText=text}function disableBtn(el,text){el.disabled=true;el.innerText=text}var WAIT_BETWEEN_RETRIES_MS=100;var MAX_RETRY_COUNT=30;export default function toggleChatWidget(){var params=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var dataId=params.dataId;var container=queryId(dataId);var chatButton=queryId("open-chat-widget",container);var textEnabled=chatButton.dataset.enabledLabel;var textDisabled=chatButton.dataset.disabledLabel;if(!dataId||!container)return;var trigger=queryId("open-chat-widget",container);var clickHandler;var waitForScript=function(delay){var _window_HubSpotConversations,_window;var widget=(_window=window)===null||_window===void 0?void 0:(_window_HubSpotConversations=_window.HubSpotConversations)===null||_window_HubSpotConversations===void 0?void 0:_window_HubSpotConversations.widget;var iframe=document.querySelector("#hubspot-messages-iframe-container");clickHandler=function(e){e.preventDefault();widget.open()};if(widget&&iframe){trigger.addEventListener("click",clickHandler);enableBtn(trigger,textEnabled)}else if(--MAX_RETRY_COUNT){setTimeout(function(){return waitForScript(WAIT_BETWEEN_RETRIES_MS)},delay)}};disableBtn(trigger,textDisabled);waitForScript(0);return function(){disableBtn(trigger,textDisabled);trigger.removeEventListener("click",clickHandler)}}
1
+ import{queryId}from"./dom-query";function enableBtn(el,text){el.disabled=false;el.innerText=text}function disableBtn(el,text){el.disabled=true;el.innerText=text}const WAIT_BETWEEN_RETRIES_MS=100;let MAX_RETRY_COUNT=30;export default function toggleChatWidget(params={}){const{dataId}=params;const container=queryId(dataId);const chatButton=queryId("open-chat-widget",container);const textEnabled=chatButton.dataset.enabledLabel;const textDisabled=chatButton.dataset.disabledLabel;if(!dataId||!container)return;const trigger=queryId("open-chat-widget",container);let clickHandler;const waitForScript=delay=>{var _window_HubSpotConversations,_window;const widget=(_window=window)===null||_window===void 0?void 0:(_window_HubSpotConversations=_window.HubSpotConversations)===null||_window_HubSpotConversations===void 0?void 0:_window_HubSpotConversations.widget;const iframe=document.querySelector("#hubspot-messages-iframe-container");clickHandler=e=>{e.preventDefault();widget.open()};if(widget&&iframe){trigger.addEventListener("click",clickHandler);enableBtn(trigger,textEnabled)}else if(--MAX_RETRY_COUNT){setTimeout(()=>waitForScript(WAIT_BETWEEN_RETRIES_MS),delay)}};disableBtn(trigger,textDisabled);waitForScript(0);return()=>{disableBtn(trigger,textDisabled);trigger.removeEventListener("click",clickHandler)}}
@@ -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>
package/core/icons.js CHANGED
@@ -1 +1 @@
1
- import{loadSprites}from"./scripts";import sprites from"../../core/sprites.svg";var loadIcons=function(){return loadSprites(sprites)};export default loadIcons;
1
+ import{loadSprites}from"./scripts";import sprites from"../../core/sprites.svg";const loadIcons=()=>loadSprites(sprites);export default loadIcons;
@@ -1 +1 @@
1
- export default function(spritesUrl){fetch(spritesUrl).then(function(response){return response.text()}).then(function(image){var container=document.createElement("div");container.style.display="none";container.innerHTML=image;document.body.appendChild(container)}).catch(function(err){return console.error(err)})};
1
+ export default(spritesUrl=>{fetch(spritesUrl).then(response=>response.text()).then(image=>{const container=document.createElement("div");container.style.display="none";container.innerHTML=image;document.body.appendChild(container)}).catch(err=>console.error(err))});
@@ -1 +1 @@
1
- import React from"react";import{createRoot}from"react-dom/client";var renderComponent=function(Component,props,node){var root=createRoot(node);root.render(React.createElement(Component,props))};export{renderComponent};export default function reactRenderer(components){var reactComponents=document.querySelectorAll("[data-react]");Array.from(reactComponents).forEach(function(node){var _node_getAttribute;var className=(_node_getAttribute=node.getAttribute("data-react"))!==null&&_node_getAttribute!==void 0?_node_getAttribute:"";var Constructor=components[className];if(!Constructor)return;var propsJson=node.getAttribute("data-react-props");var props=propsJson&&JSON.parse(propsJson||"");var root=createRoot(node);root.render(React.createElement(Constructor,props));node.removeAttribute("data-react");node.removeAttribute("data-react-props")})}
1
+ import React from"react";import{createRoot}from"react-dom/client";const renderComponent=(Component,props,node)=>{const root=createRoot(node);root.render(React.createElement(Component,props))};export{renderComponent};export default function reactRenderer(components){const reactComponents=document.querySelectorAll("[data-react]");Array.from(reactComponents).forEach(node=>{var _node_getAttribute;const className=(_node_getAttribute=node.getAttribute("data-react"))!==null&&_node_getAttribute!==void 0?_node_getAttribute:"";const Constructor=components[className];if(!Constructor)return;const propsJson=node.getAttribute("data-react-props");const props=propsJson&&JSON.parse(propsJson||"");const root=createRoot(node);root.render(React.createElement(Constructor,props));node.removeAttribute("data-react");node.removeAttribute("data-react-props")})}
@@ -1 +1 @@
1
- function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _ts_generator(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import{isJsonResponse}from"./remote-data-util";var fetchBlogPosts=function(){var _ref=_async_to_generator(function(store,blogUrl){var res,payload,e;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,5,,6]);if(!blogUrl){console.log('Skipping fetching blog posts, invalid blogUrl: "'.concat(blogUrl,'"'));return[2]}return[4,fetch(blogUrl)];case 1:res=_state.sent();if(!isJsonResponse(res.headers.get("content-type")))return[3,3];return[4,res.json()];case 2:payload=_state.sent();store.dispatch({type:"blog/loaded",payload:payload});return[3,4];case 3:throw new Error("Blog posts url is not serving json");case 4:return[3,6];case 5:e=_state.sent();console.warn("Could not fetch blog posts due to error:",e);return[3,6];case 6:return[2]}})});return function fetchBlogPosts(store,blogUrl){return _ref.apply(this,arguments)}}();var initialState={recent:null};var REDUCER_KEY="blogPosts";var reducerBlogPosts=_define_property({},REDUCER_KEY,function(){var state=arguments.length>0&&arguments[0]!==void 0?arguments[0]:initialState,action=arguments.length>1?arguments[1]:void 0;switch(action.type){case"blog/loaded":return _object_spread_props(_object_spread({},state),{recent:action.payload});default:return state}});var selectRecentBlogPosts=function(store){var _store_getState_REDUCER_KEY;return(_store_getState_REDUCER_KEY=store.getState()[REDUCER_KEY])===null||_store_getState_REDUCER_KEY===void 0?void 0:_store_getState_REDUCER_KEY.recent};export{fetchBlogPosts,reducerBlogPosts,selectRecentBlogPosts};
1
+ import{isJsonResponse}from"./remote-data-util";const fetchBlogPosts=async(store,blogUrl)=>{try{if(!blogUrl){console.log(`Skipping fetching blog posts, invalid blogUrl: "${blogUrl}"`);return}const res=await fetch(blogUrl);if(isJsonResponse(res.headers.get("content-type"))){const payload=await res.json();store.dispatch({type:"blog/loaded",payload})}else{throw new Error("Blog posts url is not serving json")}}catch(e){console.warn("Could not fetch blog posts due to error:",e)}};const initialState={recent:null};const REDUCER_KEY="blogPosts";const reducerBlogPosts={[REDUCER_KEY]:(state=initialState,action)=>{switch(action.type){case"blog/loaded":return{...state,recent:action.payload};default:return state}}};const selectRecentBlogPosts=store=>{var _store_getState_REDUCER_KEY;return(_store_getState_REDUCER_KEY=store.getState()[REDUCER_KEY])===null||_store_getState_REDUCER_KEY===void 0?void 0:_store_getState_REDUCER_KEY.recent};export{fetchBlogPosts,reducerBlogPosts,selectRecentBlogPosts};
@@ -1 +1 @@
1
- import{createStore,combineReducers}from"redux";export var attachStoreToWindow=function(store){window.AblyUi=window.AblyUi||{};window.AblyUi.RemoteDataStore=store};export var getRemoteDataStore=function(){if(!window.AblyUi.RemoteDataStore){throw new Error("Remote store was called before one was created")}return window.AblyUi.RemoteDataStore};export var connectState=function(selector,setState){var store=getRemoteDataStore();var cachedOldState=selector(store);store.subscribe(function(){var newState=selector(store);if(newState===cachedOldState){return}cachedOldState=newState;setState(newState)})};export var createRemoteDataStore=function(reducers){return createStore(combineReducers(reducers))};
1
+ import{createStore,combineReducers}from"redux";export const attachStoreToWindow=store=>{window.AblyUi=window.AblyUi||{};window.AblyUi.RemoteDataStore=store};export const getRemoteDataStore=()=>{if(!window.AblyUi.RemoteDataStore){throw new Error("Remote store was called before one was created")}return window.AblyUi.RemoteDataStore};export const connectState=(selector,setState)=>{const store=getRemoteDataStore();let cachedOldState=selector(store);store.subscribe(()=>{const newState=selector(store);if(newState===cachedOldState){return}cachedOldState=newState;setState(newState)})};export const createRemoteDataStore=reducers=>createStore(combineReducers(reducers));
@@ -1 +1 @@
1
- export var isJsonResponse=function(contentType){return contentType&&contentType.includes("application/json")};
1
+ export const isJsonResponse=contentType=>contentType&&contentType.includes("application/json");
@@ -1 +1 @@
1
- function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _ts_generator(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import{isJsonResponse}from"./remote-data-util";var NOT_FOUND_ERROR_CODE="not-found";var fetchSessionData=function(){var _ref=_async_to_generator(function(store,sessionUrl){var sessionLoaded,res,jsonResponse,payload,e;return _ts_generator(this,function(_state){switch(_state.label){case 0:sessionLoaded=function(){var payload=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return store.dispatch({type:"session/loaded",payload:payload})};_state.label=1;case 1:_state.trys.push([1,4,,5]);if(!sessionUrl){console.log('Skipping fetching session, invalid sessionUrl: "'.concat(sessionUrl,'"'));sessionLoaded();return[2]}return[4,fetch(sessionUrl,{cache:"no-cache"})];case 2:res=_state.sent();jsonResponse=isJsonResponse(res.headers.get("content-type"));if(!jsonResponse){throw new Error("Session endpoint is not serving json")}return[4,res.json()];case 3:payload=_state.sent();if(payload.error===NOT_FOUND_ERROR_CODE){sessionLoaded()}else{sessionLoaded(payload)}return[3,5];case 4:e=_state.sent();sessionLoaded();console.warn("Could not fetch session data due to error:",e);return[3,5];case 5:return[2]}})});return function fetchSessionData(store,sessionUrl){return _ref.apply(this,arguments)}}();var initialState={data:null};var REDUCER_KEY="session";var reducerSessionData=_define_property({},REDUCER_KEY,function(){var state=arguments.length>0&&arguments[0]!==void 0?arguments[0]:initialState,action=arguments.length>1?arguments[1]:void 0;switch(action.type){case"session/loaded":return _object_spread_props(_object_spread({},state),{data:action.payload});default:return state}});var selectSessionData=function(store){var _store_getState_REDUCER_KEY;return(_store_getState_REDUCER_KEY=store.getState()[REDUCER_KEY])===null||_store_getState_REDUCER_KEY===void 0?void 0:_store_getState_REDUCER_KEY.data};export{fetchSessionData,reducerSessionData,selectSessionData};
1
+ import{isJsonResponse}from"./remote-data-util";const NOT_FOUND_ERROR_CODE="not-found";const fetchSessionData=async(store,sessionUrl)=>{const sessionLoaded=(payload={})=>store.dispatch({type:"session/loaded",payload});try{if(!sessionUrl){console.log(`Skipping fetching session, invalid sessionUrl: "${sessionUrl}"`);sessionLoaded();return}const res=await fetch(sessionUrl,{cache:"no-cache"});const jsonResponse=isJsonResponse(res.headers.get("content-type"));if(!jsonResponse){throw new Error("Session endpoint is not serving json")}const payload=await res.json();if(payload.error===NOT_FOUND_ERROR_CODE){sessionLoaded()}else{sessionLoaded(payload)}}catch(e){sessionLoaded();console.warn("Could not fetch session data due to error:",e)}};const initialState={data:null};const REDUCER_KEY="session";const reducerSessionData={[REDUCER_KEY]:(state=initialState,action)=>{switch(action.type){case"session/loaded":return{...state,data:action.payload};default:return state}}};const selectSessionData=store=>{var _store_getState_REDUCER_KEY;return(_store_getState_REDUCER_KEY=store.getState()[REDUCER_KEY])===null||_store_getState_REDUCER_KEY===void 0?void 0:_store_getState_REDUCER_KEY.data};export{fetchSessionData,reducerSessionData,selectSessionData};