@ably/ui 15.6.0-dev.274a3001 → 15.6.0-dev.bdcefb0

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 (85) hide show
  1. package/core/DropdownMenu.js +1 -1
  2. package/core/DropdownMenu.js.map +1 -1
  3. package/core/Flash.js +1 -1
  4. package/core/Flash.js.map +1 -1
  5. package/core/Flyout.js +1 -1
  6. package/core/Flyout.js.map +1 -1
  7. package/core/Header/HeaderLinks.js +1 -1
  8. package/core/Header/HeaderLinks.js.map +1 -1
  9. package/core/Header.js +1 -1
  10. package/core/Header.js.map +1 -1
  11. package/core/LegacyMeganav/MeganavBlogPostsList/component.js +2 -0
  12. package/core/LegacyMeganav/MeganavBlogPostsList/component.js.map +1 -0
  13. package/core/LegacyMeganav/MeganavControl/component.js +2 -0
  14. package/core/LegacyMeganav/MeganavControl/component.js.map +1 -0
  15. package/core/LegacyMeganav/MeganavControlMobileDropdown/component.js +2 -0
  16. package/core/LegacyMeganav/MeganavControlMobileDropdown/component.js.map +1 -0
  17. package/core/LegacyMeganav/MeganavControlMobilePanelClose/component.js +2 -0
  18. package/core/LegacyMeganav/MeganavControlMobilePanelClose/component.js.map +1 -0
  19. package/core/LegacyMeganav/MeganavControlMobilePanelOpen/component.js +2 -0
  20. package/core/LegacyMeganav/MeganavControlMobilePanelOpen/component.js.map +1 -0
  21. package/core/LegacyMeganav/MeganavSearchAutocomplete/component.js +2 -0
  22. package/core/LegacyMeganav/MeganavSearchAutocomplete/component.js.map +1 -0
  23. package/core/LegacyMeganav/MeganavSearchSuggestions/component.js +2 -0
  24. package/core/LegacyMeganav/MeganavSearchSuggestions/component.js.map +1 -0
  25. package/core/LegacyMeganav/component.js +2 -0
  26. package/core/{Meganav → LegacyMeganav}/component.js.map +1 -1
  27. package/core/LegacyMeganav.js +2 -0
  28. package/core/LegacyMeganav.js.map +1 -0
  29. package/core/Meganav/.DS_Store +0 -0
  30. package/core/Meganav/Meganav.js +2 -0
  31. package/core/Meganav/Meganav.js.map +1 -0
  32. package/core/Meganav/MeganavMobile.js +2 -0
  33. package/core/Meganav/MeganavMobile.js.map +1 -0
  34. package/core/Meganav/MeganavPanel.js +2 -0
  35. package/core/Meganav/MeganavPanel.js.map +1 -0
  36. package/core/Meganav/data.js +2 -0
  37. package/core/Meganav/data.js.map +1 -0
  38. package/core/Meganav/images/fan-engagement-nav-image.png +0 -0
  39. package/core/Meganav/images/founders-nav-image.png +0 -0
  40. package/core/MeganavBlogPostsList.js.map +1 -1
  41. package/core/MeganavContentCompany.js.map +1 -1
  42. package/core/MeganavContentDevelopers.js.map +1 -1
  43. package/core/MeganavContentProducts.js.map +1 -1
  44. package/core/MeganavContentUseCases.js.map +1 -1
  45. package/core/MeganavControl.js.map +1 -1
  46. package/core/MeganavControlMobileDropdown.js.map +1 -1
  47. package/core/MeganavItemsDesktop.js +1 -1
  48. package/core/MeganavItemsDesktop.js.map +1 -1
  49. package/core/MeganavItemsMobile.js +1 -1
  50. package/core/MeganavItemsMobile.js.map +1 -1
  51. package/core/MeganavItemsSignedIn.js.map +1 -1
  52. package/core/MeganavSearch.js.map +1 -1
  53. package/core/MeganavSearchPanel.js.map +1 -1
  54. package/core/MeganavSearchSuggestions.js.map +1 -1
  55. package/core/Notice.js +1 -1
  56. package/core/Notice.js.map +1 -1
  57. package/core/SignOutLink.js.map +1 -1
  58. package/core/images/award/g2-best-meets-requirements-2025.png +0 -0
  59. package/core/images/award/g2-best-support-2025.png +0 -0
  60. package/core/images/award/g2-high-performer-2025.png +0 -0
  61. package/core/images/award/g2-users-most-likely-to-recommend-2025.png +0 -0
  62. package/index.d.ts +237 -151
  63. package/package.json +1 -1
  64. package/core/Meganav/component.js +0 -2
  65. package/core/Meganav.js +0 -2
  66. package/core/Meganav.js.map +0 -1
  67. package/core/MeganavBlogPostsList/component.js +0 -2
  68. package/core/MeganavBlogPostsList/component.js.map +0 -1
  69. package/core/MeganavControl/component.js +0 -2
  70. package/core/MeganavControl/component.js.map +0 -1
  71. package/core/MeganavControlMobileDropdown/component.js +0 -2
  72. package/core/MeganavControlMobileDropdown/component.js.map +0 -1
  73. package/core/MeganavControlMobilePanelClose/component.js +0 -2
  74. package/core/MeganavControlMobilePanelClose/component.js.map +0 -1
  75. package/core/MeganavControlMobilePanelOpen/component.js +0 -2
  76. package/core/MeganavControlMobilePanelOpen/component.js.map +0 -1
  77. package/core/MeganavSearchAutocomplete/component.js +0 -2
  78. package/core/MeganavSearchAutocomplete/component.js.map +0 -1
  79. package/core/MeganavSearchSuggestions/component.js +0 -2
  80. package/core/MeganavSearchSuggestions/component.js.map +0 -1
  81. package/core/hooks/use-rails-ujs-hooks.js +0 -2
  82. package/core/hooks/use-rails-ujs-hooks.js.map +0 -1
  83. package/core/styles/colors/computed-colors.json +0 -1
  84. /package/core/{Meganav → LegacyMeganav}/component.css +0 -0
  85. /package/core/{Meganav → LegacyMeganav}/component.json +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/MeganavItemsMobile.tsx"],"sourcesContent":["import React from \"react\";\n\nimport SignOutLink from \"./SignOutLink\";\nimport MeganavSearchSuggestions from \"./MeganavSearchSuggestions\";\nimport Icon from \"./Icon\";\nimport MeganavData from \"./Meganav/component.json\";\nimport MeganavControlMobileDropdown from \"./MeganavControlMobileDropdown\";\nimport MeganavControlMobilePanelClose from \"./MeganavControlMobilePanelClose\";\nimport MeganavControlMobilePanelOpen from \"./MeganavControlMobilePanelOpen\";\nimport MeganavSearchAutocomplete from \"./MeganavSearchAutocomplete\";\nimport {\n AbsUrl,\n MeganavPanels,\n MeganavPaths,\n MeganavSessionState,\n MeganavTheme,\n} from \"./Meganav\";\n\ntype MeganavItemsMobileProps = {\n panels: MeganavPanels;\n paths?: MeganavPaths;\n sessionState?: MeganavSessionState;\n theme: MeganavTheme;\n loginLink: string;\n absUrl: AbsUrl;\n statusUrl: string;\n searchDataId?: string;\n};\n\nconst MeganavItemsMobile = ({\n panels,\n paths,\n sessionState,\n theme,\n loginLink,\n absUrl,\n statusUrl,\n searchDataId,\n}: MeganavItemsMobileProps) => {\n const classNames = `ui-meganav-link ${theme.textColor}`;\n\n return (\n <ul className=\"flex md:hidden items-center\" data-id=\"meganav-items-mobile\">\n <li>\n {sessionState?.signedIn && sessionState?.logOut ? (\n <SignOutLink absUrl={absUrl} {...sessionState.logOut}>\n {({ text, href, onClick }) => (\n <a\n onClick={onClick}\n href={absUrl(href)}\n className={classNames}\n data-id=\"meganav-link\"\n >\n {text}\n </a>\n )}\n </SignOutLink>\n ) : (\n <a\n href={absUrl(loginLink)}\n className={classNames}\n data-id=\"meganav-link\"\n >\n Login\n </a>\n )}\n </li>\n\n <li className=\"ui-meganav-item\">\n <MeganavControlMobileDropdown theme={theme} />\n\n <div\n className=\"ui-meganav-mobile-dropdown invisible\"\n id=\"meganav-mobile-dropdown\"\n data-id=\"meganav-mobile-dropdown\"\n >\n <div className=\"pt-24 pb-16 ui-grid-px bg-white\">\n <form className=\"mb-16\" action={absUrl(\"/search\")} method=\"get\">\n <div className=\"relative w-full\">\n <Icon\n name=\"icon-gui-magnifying-glass-outline\"\n color=\"text-cool-black\"\n size=\"1.5rem\"\n additionalCSS=\"absolute top-12 left-16 hover:text-gui-hover\"\n />\n <button\n type=\"button\"\n className=\"absolute top-12 right-16 p-0 focus:outline-none focus-visible:outline-gui-focus m-0 md:hidden invisible\"\n data-id=\"meganav-search-input-clear\"\n >\n <Icon\n name=\"icon-gui-x-circle-solid\"\n color=\"text-dark-grey\"\n size=\"1.5rem\"\n additionalCSS=\"\"\n />\n </button>\n <input\n type=\"search\"\n name=\"q\"\n className=\"ui-input px-48 h-48\"\n style={{ maxWidth: \"none\" }}\n placeholder=\"Search\"\n autoComplete=\"off\"\n data-id={searchDataId ?? \"meganav-mobile-search-input\"}\n />\n\n <MeganavSearchAutocomplete />\n </div>\n </form>\n\n <div\n className=\"max-h-0 overflow-hidden transition-all\"\n data-id=\"meganav-mobile-search-suggestions\"\n >\n <MeganavSearchSuggestions\n absUrl={absUrl}\n displaySupportLink={false}\n />\n </div>\n\n <ul className=\"mb-16\" data-id=\"meganav-mobile-panel-controls\">\n {MeganavData.panels.map((panel) => {\n const PanelComponent = panels[panel.component];\n const displayHr = [\n \"company-panel\",\n \"developers-panel\",\n ].includes(panel.id);\n\n return (\n <li\n className=\"ui-meganav-mobile-item\"\n key={`${panel.id}-mobile`}\n >\n <MeganavControlMobilePanelOpen\n ariaControls={`${panel.id}-mobile`}\n >\n {panel.label}\n </MeganavControlMobilePanelOpen>\n\n <div\n className=\"ui-meganav-panel-mobile hidden\"\n id={`${panel.id}-mobile`}\n data-scroll-lock-scrollable\n >\n <MeganavControlMobilePanelClose\n ariaControls={`${panel.id}-mobile`}\n displayHr={displayHr}\n />\n <PanelComponent\n paths={paths}\n absUrl={absUrl}\n statusUrl={statusUrl}\n />\n </div>\n </li>\n );\n })}\n <li>\n <a href={absUrl(\"/pricing\")} className=\"ui-meganav-mobile-link\">\n Pricing\n </a>\n </li>\n </ul>\n\n <hr className=\"ui-meganav-hr mb-20\" />\n\n <div className=\"flex justify-between items-center mb-16\">\n <a\n href={absUrl(\"/contact\")}\n className=\"text-menu2 font-medium block ml-0 mr-8 lg:mx-12 p-0 hover:text-gui-hover focus:text-gui-focus focus:outline-none\"\n >\n Contact us\n </a>\n {sessionState?.signedIn && sessionState?.account ? (\n <a\n href={absUrl(sessionState.account.links.dashboard.href)}\n className=\"ui-btn-secondary\"\n >\n Dashboard\n </a>\n ) : (\n <a href={absUrl(\"/sign-up\")} className=\"ui-btn\">\n Sign up free\n </a>\n )}\n </div>\n </div>\n </div>\n </li>\n </ul>\n );\n};\n\nexport default React.memo(MeganavItemsMobile, (oldState, newState) => {\n const { paths: pathsOld, theme: themeOld } = oldState;\n const { paths: pathsNew, theme: themeNew } = newState;\n\n return (\n pathsOld === pathsNew &&\n themeOld === themeNew &&\n Object.keys(newState.sessionState || {}).length === 0\n );\n});\n"],"names":["React","SignOutLink","MeganavSearchSuggestions","Icon","MeganavData","MeganavControlMobileDropdown","MeganavControlMobilePanelClose","MeganavControlMobilePanelOpen","MeganavSearchAutocomplete","MeganavItemsMobile","panels","paths","sessionState","theme","loginLink","absUrl","statusUrl","searchDataId","classNames","textColor","ul","className","data-id","li","signedIn","logOut","text","href","onClick","a","div","id","form","action","method","name","color","size","additionalCSS","button","type","input","style","maxWidth","placeholder","autoComplete","displaySupportLink","map","panel","PanelComponent","component","displayHr","includes","key","ariaControls","label","data-scroll-lock-scrollable","hr","account","links","dashboard","memo","oldState","newState","pathsOld","themeOld","pathsNew","themeNew","Object","keys","length"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/core/MeganavItemsMobile.tsx"],"sourcesContent":["import React from \"react\";\n\nimport SignOutLink from \"./SignOutLink\";\nimport MeganavSearchSuggestions from \"./MeganavSearchSuggestions\";\nimport Icon from \"./Icon\";\nimport MeganavData from \"./LegacyMeganav/component.json\";\nimport MeganavControlMobileDropdown from \"./MeganavControlMobileDropdown\";\nimport MeganavControlMobilePanelClose from \"./MeganavControlMobilePanelClose\";\nimport MeganavControlMobilePanelOpen from \"./MeganavControlMobilePanelOpen\";\nimport MeganavSearchAutocomplete from \"./MeganavSearchAutocomplete\";\nimport {\n AbsUrl,\n MeganavPanels,\n MeganavPaths,\n MeganavSessionState,\n MeganavTheme,\n} from \"./LegacyMeganav\";\n\ntype MeganavItemsMobileProps = {\n panels: MeganavPanels;\n paths?: MeganavPaths;\n sessionState?: MeganavSessionState;\n theme: MeganavTheme;\n loginLink: string;\n absUrl: AbsUrl;\n statusUrl: string;\n searchDataId?: string;\n};\n\nconst MeganavItemsMobile = ({\n panels,\n paths,\n sessionState,\n theme,\n loginLink,\n absUrl,\n statusUrl,\n searchDataId,\n}: MeganavItemsMobileProps) => {\n const classNames = `ui-meganav-link ${theme.textColor}`;\n\n return (\n <ul className=\"flex md:hidden items-center\" data-id=\"meganav-items-mobile\">\n <li>\n {sessionState?.signedIn && sessionState?.logOut ? (\n <SignOutLink absUrl={absUrl} {...sessionState.logOut}>\n {({ text, href, onClick }) => (\n <a\n onClick={onClick}\n href={absUrl(href)}\n className={classNames}\n data-id=\"meganav-link\"\n >\n {text}\n </a>\n )}\n </SignOutLink>\n ) : (\n <a\n href={absUrl(loginLink)}\n className={classNames}\n data-id=\"meganav-link\"\n >\n Login\n </a>\n )}\n </li>\n\n <li className=\"ui-meganav-item\">\n <MeganavControlMobileDropdown theme={theme} />\n\n <div\n className=\"ui-meganav-mobile-dropdown invisible\"\n id=\"meganav-mobile-dropdown\"\n data-id=\"meganav-mobile-dropdown\"\n >\n <div className=\"pt-24 pb-16 ui-grid-px bg-white\">\n <form className=\"mb-16\" action={absUrl(\"/search\")} method=\"get\">\n <div className=\"relative w-full\">\n <Icon\n name=\"icon-gui-magnifying-glass-outline\"\n color=\"text-cool-black\"\n size=\"1.5rem\"\n additionalCSS=\"absolute top-12 left-16 hover:text-gui-hover\"\n />\n <button\n type=\"button\"\n className=\"absolute top-12 right-16 p-0 focus:outline-none focus-visible:outline-gui-focus m-0 md:hidden invisible\"\n data-id=\"meganav-search-input-clear\"\n >\n <Icon\n name=\"icon-gui-x-circle-solid\"\n color=\"text-dark-grey\"\n size=\"1.5rem\"\n additionalCSS=\"\"\n />\n </button>\n <input\n type=\"search\"\n name=\"q\"\n className=\"ui-input px-48 h-48\"\n style={{ maxWidth: \"none\" }}\n placeholder=\"Search\"\n autoComplete=\"off\"\n data-id={searchDataId ?? \"meganav-mobile-search-input\"}\n />\n\n <MeganavSearchAutocomplete />\n </div>\n </form>\n\n <div\n className=\"max-h-0 overflow-hidden transition-all\"\n data-id=\"meganav-mobile-search-suggestions\"\n >\n <MeganavSearchSuggestions\n absUrl={absUrl}\n displaySupportLink={false}\n />\n </div>\n\n <ul className=\"mb-16\" data-id=\"meganav-mobile-panel-controls\">\n {MeganavData.panels.map((panel) => {\n const PanelComponent = panels[panel.component];\n const displayHr = [\n \"company-panel\",\n \"developers-panel\",\n ].includes(panel.id);\n\n return (\n <li\n className=\"ui-meganav-mobile-item\"\n key={`${panel.id}-mobile`}\n >\n <MeganavControlMobilePanelOpen\n ariaControls={`${panel.id}-mobile`}\n >\n {panel.label}\n </MeganavControlMobilePanelOpen>\n\n <div\n className=\"ui-meganav-panel-mobile hidden\"\n id={`${panel.id}-mobile`}\n data-scroll-lock-scrollable\n >\n <MeganavControlMobilePanelClose\n ariaControls={`${panel.id}-mobile`}\n displayHr={displayHr}\n />\n <PanelComponent\n paths={paths}\n absUrl={absUrl}\n statusUrl={statusUrl}\n />\n </div>\n </li>\n );\n })}\n <li>\n <a href={absUrl(\"/pricing\")} className=\"ui-meganav-mobile-link\">\n Pricing\n </a>\n </li>\n </ul>\n\n <hr className=\"ui-meganav-hr mb-20\" />\n\n <div className=\"flex justify-between items-center mb-16\">\n <a\n href={absUrl(\"/contact\")}\n className=\"text-menu2 font-medium block ml-0 mr-8 lg:mx-12 p-0 hover:text-gui-hover focus:text-gui-focus focus:outline-none\"\n >\n Contact us\n </a>\n {sessionState?.signedIn && sessionState?.account ? (\n <a\n href={absUrl(sessionState.account.links.dashboard.href)}\n className=\"ui-btn-secondary\"\n >\n Dashboard\n </a>\n ) : (\n <a href={absUrl(\"/sign-up\")} className=\"ui-btn\">\n Sign up free\n </a>\n )}\n </div>\n </div>\n </div>\n </li>\n </ul>\n );\n};\n\nexport default React.memo(MeganavItemsMobile, (oldState, newState) => {\n const { paths: pathsOld, theme: themeOld } = oldState;\n const { paths: pathsNew, theme: themeNew } = newState;\n\n return (\n pathsOld === pathsNew &&\n themeOld === themeNew &&\n Object.keys(newState.sessionState || {}).length === 0\n );\n});\n"],"names":["React","SignOutLink","MeganavSearchSuggestions","Icon","MeganavData","MeganavControlMobileDropdown","MeganavControlMobilePanelClose","MeganavControlMobilePanelOpen","MeganavSearchAutocomplete","MeganavItemsMobile","panels","paths","sessionState","theme","loginLink","absUrl","statusUrl","searchDataId","classNames","textColor","ul","className","data-id","li","signedIn","logOut","text","href","onClick","a","div","id","form","action","method","name","color","size","additionalCSS","button","type","input","style","maxWidth","placeholder","autoComplete","displaySupportLink","map","panel","PanelComponent","component","displayHr","includes","key","ariaControls","label","data-scroll-lock-scrollable","hr","account","links","dashboard","memo","oldState","newState","pathsOld","themeOld","pathsNew","themeNew","Object","keys","length"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/MeganavItemsSignedIn.tsx"],"sourcesContent":["import React from \"react\";\nimport MeganavSearch from \"./MeganavSearch\";\nimport { AbsUrl, MeganavSessionState, MeganavTheme } from \"./Meganav\";\n\ntype MeganavItemsSignedIn = {\n sessionState: MeganavSessionState;\n theme: MeganavTheme;\n absUrl: AbsUrl;\n searchDataId?: string;\n};\n\nconst truncate = (string: string, length: number) => {\n return string?.length && string.length > length\n ? `${string.slice(0, length - 1)}…`\n : string;\n};\n\nconst MeganavItemsSignedIn = ({\n sessionState,\n absUrl,\n searchDataId,\n}: MeganavItemsSignedIn) => {\n const accountName = truncate(sessionState.accountName, 20);\n\n return (\n <ul className=\"hidden md:flex items-center\">\n <li className=\"ui-meganav-item relative\">\n <span className=\"ui-meganav-link h-64 hover:text-cool-black mr-0\">\n {accountName}\n </span>\n </li>\n\n <li>\n <MeganavSearch absUrl={absUrl} dataId={searchDataId} />\n </li>\n\n {sessionState.account && (\n <li>\n <a\n href={absUrl(sessionState.account.links.dashboard.href)}\n className=\"ui-btn-secondary p-btn-small\"\n >\n Dashboard\n </a>\n </li>\n )}\n </ul>\n );\n};\n\nexport default MeganavItemsSignedIn;\n"],"names":["React","MeganavSearch","truncate","string","length","slice","MeganavItemsSignedIn","sessionState","absUrl","searchDataId","accountName","ul","className","li","span","dataId","account","a","href","links","dashboard"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAC1B,QAAOC,kBAAmB,iBAAkB,CAU5C,MAAMC,SAAW,CAACC,OAAgBC,UAChC,OAAOD,QAAQC,QAAUD,OAAOC,MAAM,CAAGA,OACrC,CAAC,EAAED,OAAOE,KAAK,CAAC,EAAGD,OAAS,GAAG,CAAC,CAAC,CACjCD,MACN,EAEA,MAAMG,qBAAuB,CAAC,CAC5BC,YAAY,CACZC,MAAM,CACNC,YAAY,CACS,IACrB,MAAMC,YAAcR,SAASK,aAAaG,WAAW,CAAE,IAEvD,OACE,oBAACC,MAAGC,UAAU,+BACZ,oBAACC,MAAGD,UAAU,4BACZ,oBAACE,QAAKF,UAAU,mDACbF,cAIL,oBAACG,UACC,oBAACZ,eAAcO,OAAQA,OAAQO,OAAQN,gBAGxCF,aAAaS,OAAO,EACnB,oBAACH,UACC,oBAACI,KACCC,KAAMV,OAAOD,aAAaS,OAAO,CAACG,KAAK,CAACC,SAAS,CAACF,IAAI,EACtDN,UAAU,gCACX,cAOX,CAEA,gBAAeN,oBAAqB"}
1
+ {"version":3,"sources":["../../src/core/MeganavItemsSignedIn.tsx"],"sourcesContent":["import React from \"react\";\nimport MeganavSearch from \"./MeganavSearch\";\nimport { AbsUrl, MeganavSessionState, MeganavTheme } from \"./LegacyMeganav\";\n\ntype MeganavItemsSignedIn = {\n sessionState: MeganavSessionState;\n theme: MeganavTheme;\n absUrl: AbsUrl;\n searchDataId?: string;\n};\n\nconst truncate = (string: string, length: number) => {\n return string?.length && string.length > length\n ? `${string.slice(0, length - 1)}…`\n : string;\n};\n\nconst MeganavItemsSignedIn = ({\n sessionState,\n absUrl,\n searchDataId,\n}: MeganavItemsSignedIn) => {\n const accountName = truncate(sessionState.accountName, 20);\n\n return (\n <ul className=\"hidden md:flex items-center\">\n <li className=\"ui-meganav-item relative\">\n <span className=\"ui-meganav-link h-64 hover:text-cool-black mr-0\">\n {accountName}\n </span>\n </li>\n\n <li>\n <MeganavSearch absUrl={absUrl} dataId={searchDataId} />\n </li>\n\n {sessionState.account && (\n <li>\n <a\n href={absUrl(sessionState.account.links.dashboard.href)}\n className=\"ui-btn-secondary p-btn-small\"\n >\n Dashboard\n </a>\n </li>\n )}\n </ul>\n );\n};\n\nexport default MeganavItemsSignedIn;\n"],"names":["React","MeganavSearch","truncate","string","length","slice","MeganavItemsSignedIn","sessionState","absUrl","searchDataId","accountName","ul","className","li","span","dataId","account","a","href","links","dashboard"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAC1B,QAAOC,kBAAmB,iBAAkB,CAU5C,MAAMC,SAAW,CAACC,OAAgBC,UAChC,OAAOD,QAAQC,QAAUD,OAAOC,MAAM,CAAGA,OACrC,CAAC,EAAED,OAAOE,KAAK,CAAC,EAAGD,OAAS,GAAG,CAAC,CAAC,CACjCD,MACN,EAEA,MAAMG,qBAAuB,CAAC,CAC5BC,YAAY,CACZC,MAAM,CACNC,YAAY,CACS,IACrB,MAAMC,YAAcR,SAASK,aAAaG,WAAW,CAAE,IAEvD,OACE,oBAACC,MAAGC,UAAU,+BACZ,oBAACC,MAAGD,UAAU,4BACZ,oBAACE,QAAKF,UAAU,mDACbF,cAIL,oBAACG,UACC,oBAACZ,eAAcO,OAAQA,OAAQO,OAAQN,gBAGxCF,aAAaS,OAAO,EACnB,oBAACH,UACC,oBAACI,KACCC,KAAMV,OAAOD,aAAaS,OAAO,CAACG,KAAK,CAACC,SAAS,CAACF,IAAI,EACtDN,UAAU,gCACX,cAOX,CAEA,gBAAeN,oBAAqB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/MeganavSearch.tsx"],"sourcesContent":["import React from \"react\";\n\nimport Icon from \"./Icon\";\nimport MeganavSearchPanel from \"./MeganavSearchPanel\";\nimport { AbsUrl } from \"./Meganav\";\n\nconst MeganavSearch = ({\n absUrl,\n dataId = \"meganav-control\",\n}: {\n absUrl: AbsUrl;\n dataId?: string;\n}) => (\n <>\n <button\n type=\"button\"\n data-id={dataId}\n data-control=\"search\"\n className=\"h-64 w-24 px-24 pr-48 py-20 group focus:outline-none\"\n aria-expanded=\"false\"\n aria-controls=\"panel-search\"\n aria-label={`Show Search Panel`}\n >\n <Icon\n name=\"icon-gui-magnifying-glass-outline\"\n color=\"text-cool-black\"\n size=\"1.5rem\"\n additionalCSS=\"group-hover:text-gui-hover group-focus:text-gui-focus\"\n />\n </button>\n\n <div\n className=\"ui-meganav-panel invisible\"\n id=\"panel-search\"\n data-id=\"meganav-panel\"\n >\n <MeganavSearchPanel absUrl={absUrl} />\n </div>\n </>\n);\n\nexport default MeganavSearch;\n"],"names":["React","Icon","MeganavSearchPanel","MeganavSearch","absUrl","dataId","button","type","data-id","data-control","className","aria-expanded","aria-controls","aria-label","name","color","size","additionalCSS","div","id"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,SAAU,QAAS,AAC1B,QAAOC,uBAAwB,sBAAuB,CAGtD,MAAMC,cAAgB,CAAC,CACrBC,MAAM,CACNC,OAAS,iBAAiB,CAI3B,GACC,wCACE,oBAACC,UACCC,KAAK,SACLC,UAASH,OACTI,eAAa,SACbC,UAAU,uDACVC,gBAAc,QACdC,gBAAc,eACdC,aAAY,CAAC,iBAAiB,CAAC,EAE/B,oBAACZ,MACCa,KAAK,oCACLC,MAAM,kBACNC,KAAK,SACLC,cAAc,2DAIlB,oBAACC,OACCR,UAAU,6BACVS,GAAG,eACHX,UAAQ,iBAER,oBAACN,oBAAmBE,OAAQA,UAKlC,gBAAeD,aAAc"}
1
+ {"version":3,"sources":["../../src/core/MeganavSearch.tsx"],"sourcesContent":["import React from \"react\";\n\nimport Icon from \"./Icon\";\nimport MeganavSearchPanel from \"./MeganavSearchPanel\";\nimport { AbsUrl } from \"./LegacyMeganav\";\n\nconst MeganavSearch = ({\n absUrl,\n dataId = \"meganav-control\",\n}: {\n absUrl: AbsUrl;\n dataId?: string;\n}) => (\n <>\n <button\n type=\"button\"\n data-id={dataId}\n data-control=\"search\"\n className=\"h-64 w-24 px-24 pr-48 py-20 group focus:outline-none\"\n aria-expanded=\"false\"\n aria-controls=\"panel-search\"\n aria-label={`Show Search Panel`}\n >\n <Icon\n name=\"icon-gui-magnifying-glass-outline\"\n color=\"text-cool-black\"\n size=\"1.5rem\"\n additionalCSS=\"group-hover:text-gui-hover group-focus:text-gui-focus\"\n />\n </button>\n\n <div\n className=\"ui-meganav-panel invisible\"\n id=\"panel-search\"\n data-id=\"meganav-panel\"\n >\n <MeganavSearchPanel absUrl={absUrl} />\n </div>\n </>\n);\n\nexport default MeganavSearch;\n"],"names":["React","Icon","MeganavSearchPanel","MeganavSearch","absUrl","dataId","button","type","data-id","data-control","className","aria-expanded","aria-controls","aria-label","name","color","size","additionalCSS","div","id"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,SAAU,QAAS,AAC1B,QAAOC,uBAAwB,sBAAuB,CAGtD,MAAMC,cAAgB,CAAC,CACrBC,MAAM,CACNC,OAAS,iBAAiB,CAI3B,GACC,wCACE,oBAACC,UACCC,KAAK,SACLC,UAASH,OACTI,eAAa,SACbC,UAAU,uDACVC,gBAAc,QACdC,gBAAc,eACdC,aAAY,CAAC,iBAAiB,CAAC,EAE/B,oBAACZ,MACCa,KAAK,oCACLC,MAAM,kBACNC,KAAK,SACLC,cAAc,2DAIlB,oBAACC,OACCR,UAAU,6BACVS,GAAG,eACHX,UAAQ,iBAER,oBAACN,oBAAmBE,OAAQA,UAKlC,gBAAeD,aAAc"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/MeganavSearchPanel.tsx"],"sourcesContent":["import React from \"react\";\n\nimport Icon from \"./Icon\";\nimport MeganavSearchSuggestions from \"./MeganavSearchSuggestions\";\nimport MeganavSearchAutocomplete from \"./MeganavSearchAutocomplete\";\nimport { AbsUrl } from \"./Meganav\";\n\nconst MeganavSearchPanel = ({ absUrl }: { absUrl: AbsUrl }) => (\n <section className=\"ui-meganav-content grid-cols-12\">\n <div className=\"col-span-8\">\n <div className=\"mb-32\">\n <form\n className=\"flex items-start\"\n action={absUrl(\"/search\")}\n method=\"get\"\n >\n <div className=\"relative w-full\">\n <Icon\n name=\"icon-gui-magnifying-glass-outline\"\n color=\"text-cool-black\"\n size=\"1.5rem\"\n additionalCSS=\"absolute top-12 left-16\"\n />\n <input\n type=\"search\"\n name=\"q\"\n className=\"ui-input pl-48 h-48\"\n placeholder=\"Search\"\n autoComplete=\"off\"\n data-id=\"meganav-search-input\"\n />\n\n <MeganavSearchAutocomplete />\n </div>\n\n <button\n type=\"submit\"\n className=\"ui-btn-secondary flex-shrink-0 ml-8 sm:ml-16 md:ml-24 xl:ml-32\"\n >\n Search\n </button>\n </form>\n </div>\n </div>\n\n <div className=\"col-span-12\">\n <MeganavSearchSuggestions displaySupportLink={true} absUrl={absUrl} />\n </div>\n </section>\n);\n\nexport default MeganavSearchPanel;\n"],"names":["React","Icon","MeganavSearchSuggestions","MeganavSearchAutocomplete","MeganavSearchPanel","absUrl","section","className","div","form","action","method","name","color","size","additionalCSS","input","type","placeholder","autoComplete","data-id","button","displaySupportLink"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,SAAU,QAAS,AAC1B,QAAOC,6BAA8B,4BAA6B,AAClE,QAAOC,8BAA+B,6BAA8B,CAGpE,MAAMC,mBAAqB,CAAC,CAAEC,MAAM,CAAsB,GACxD,oBAACC,WAAQC,UAAU,mCACjB,oBAACC,OAAID,UAAU,cACb,oBAACC,OAAID,UAAU,SACb,oBAACE,QACCF,UAAU,mBACVG,OAAQL,OAAO,WACfM,OAAO,OAEP,oBAACH,OAAID,UAAU,mBACb,oBAACN,MACCW,KAAK,oCACLC,MAAM,kBACNC,KAAK,SACLC,cAAc,4BAEhB,oBAACC,SACCC,KAAK,SACLL,KAAK,IACLL,UAAU,sBACVW,YAAY,SACZC,aAAa,MACbC,UAAQ,yBAGV,oBAACjB,iCAGH,oBAACkB,UACCJ,KAAK,SACLV,UAAU,kEACX,aAOP,oBAACC,OAAID,UAAU,eACb,oBAACL,0BAAyBoB,mBAAoB,KAAMjB,OAAQA,UAKlE,gBAAeD,kBAAmB"}
1
+ {"version":3,"sources":["../../src/core/MeganavSearchPanel.tsx"],"sourcesContent":["import React from \"react\";\n\nimport Icon from \"./Icon\";\nimport MeganavSearchSuggestions from \"./MeganavSearchSuggestions\";\nimport MeganavSearchAutocomplete from \"./MeganavSearchAutocomplete\";\nimport { AbsUrl } from \"./LegacyMeganav\";\n\nconst MeganavSearchPanel = ({ absUrl }: { absUrl: AbsUrl }) => (\n <section className=\"ui-meganav-content grid-cols-12\">\n <div className=\"col-span-8\">\n <div className=\"mb-32\">\n <form\n className=\"flex items-start\"\n action={absUrl(\"/search\")}\n method=\"get\"\n >\n <div className=\"relative w-full\">\n <Icon\n name=\"icon-gui-magnifying-glass-outline\"\n color=\"text-cool-black\"\n size=\"1.5rem\"\n additionalCSS=\"absolute top-12 left-16\"\n />\n <input\n type=\"search\"\n name=\"q\"\n className=\"ui-input pl-48 h-48\"\n placeholder=\"Search\"\n autoComplete=\"off\"\n data-id=\"meganav-search-input\"\n />\n\n <MeganavSearchAutocomplete />\n </div>\n\n <button\n type=\"submit\"\n className=\"ui-btn-secondary flex-shrink-0 ml-8 sm:ml-16 md:ml-24 xl:ml-32\"\n >\n Search\n </button>\n </form>\n </div>\n </div>\n\n <div className=\"col-span-12\">\n <MeganavSearchSuggestions displaySupportLink={true} absUrl={absUrl} />\n </div>\n </section>\n);\n\nexport default MeganavSearchPanel;\n"],"names":["React","Icon","MeganavSearchSuggestions","MeganavSearchAutocomplete","MeganavSearchPanel","absUrl","section","className","div","form","action","method","name","color","size","additionalCSS","input","type","placeholder","autoComplete","data-id","button","displaySupportLink"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,SAAU,QAAS,AAC1B,QAAOC,6BAA8B,4BAA6B,AAClE,QAAOC,8BAA+B,6BAA8B,CAGpE,MAAMC,mBAAqB,CAAC,CAAEC,MAAM,CAAsB,GACxD,oBAACC,WAAQC,UAAU,mCACjB,oBAACC,OAAID,UAAU,cACb,oBAACC,OAAID,UAAU,SACb,oBAACE,QACCF,UAAU,mBACVG,OAAQL,OAAO,WACfM,OAAO,OAEP,oBAACH,OAAID,UAAU,mBACb,oBAACN,MACCW,KAAK,oCACLC,MAAM,kBACNC,KAAK,SACLC,cAAc,4BAEhB,oBAACC,SACCC,KAAK,SACLL,KAAK,IACLL,UAAU,sBACVW,YAAY,SACZC,aAAa,MACbC,UAAQ,yBAGV,oBAACjB,iCAGH,oBAACkB,UACCJ,KAAK,SACLV,UAAU,kEACX,aAOP,oBAACC,OAAID,UAAU,eACb,oBAACL,0BAAyBoB,mBAAoB,KAAMjB,OAAQA,UAKlE,gBAAeD,kBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/MeganavSearchSuggestions.tsx"],"sourcesContent":["import React from \"react\";\n\nimport FeaturedLink from \"./FeaturedLink\";\nimport { AbsUrl } from \"./Meganav\";\n\ntype MeganavSearchSuggestionsProps = {\n absUrl: AbsUrl;\n displaySupportLink: boolean;\n};\n\nconst MeganavSearchSuggestions = ({\n absUrl,\n displaySupportLink,\n}: MeganavSearchSuggestionsProps) => (\n <>\n <p className=\"ui-text-overline2 text-cool-black py-12\">Popular pages</p>\n\n <div className=\"flex justify-between items-center overflow-hidden\">\n <ul className=\"flex transition-transform\">\n <li className=\"py-12 pr-8 flex-shrink-0\">\n <a\n href={absUrl(\"/docs/how-ably-works\")}\n className=\"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus\"\n >\n How does Ably work?\n </a>\n </li>\n <li className=\"py-12 px-8 flex-shrink-0\">\n <a\n href={absUrl(\"/docs/quick-start-guide\")}\n className=\"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus\"\n >\n Quickstart guide\n </a>\n </li>\n <li className=\"py-12 px-8 flex-shrink-0\">\n <a\n href={absUrl(\"/docs/core-features/pubsub\")}\n className=\"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus\"\n >\n Publish/Subscribe Messaging\n </a>\n </li>\n <li className=\"py-12 pl-8 flex-shrink-0\">\n <a\n href={absUrl(\"/platform\")}\n className=\"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus\"\n >\n Platform\n </a>\n </li>\n </ul>\n {displaySupportLink ? (\n <FeaturedLink url={absUrl(\"/support\")} textSize=\"text-p2\">\n Support\n </FeaturedLink>\n ) : null}\n </div>\n </>\n);\n\nexport default MeganavSearchSuggestions;\n"],"names":["React","FeaturedLink","MeganavSearchSuggestions","absUrl","displaySupportLink","p","className","div","ul","li","a","href","url","textSize"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,iBAAkB,gBAAiB,CAQ1C,MAAMC,yBAA2B,CAAC,CAChCC,MAAM,CACNC,kBAAkB,CACY,GAC9B,wCACE,oBAACC,KAAEC,UAAU,2CAA0C,iBAEvD,oBAACC,OAAID,UAAU,qDACb,oBAACE,MAAGF,UAAU,6BACZ,oBAACG,MAAGH,UAAU,4BACZ,oBAACI,KACCC,KAAMR,OAAO,wBACbG,UAAU,+EACX,wBAIH,oBAACG,MAAGH,UAAU,4BACZ,oBAACI,KACCC,KAAMR,OAAO,2BACbG,UAAU,+EACX,qBAIH,oBAACG,MAAGH,UAAU,4BACZ,oBAACI,KACCC,KAAMR,OAAO,8BACbG,UAAU,+EACX,gCAIH,oBAACG,MAAGH,UAAU,4BACZ,oBAACI,KACCC,KAAMR,OAAO,aACbG,UAAU,+EACX,cAKJF,mBACC,oBAACH,cAAaW,IAAKT,OAAO,YAAaU,SAAS,WAAU,WAGxD,MAKV,gBAAeX,wBAAyB"}
1
+ {"version":3,"sources":["../../src/core/MeganavSearchSuggestions.tsx"],"sourcesContent":["import React from \"react\";\n\nimport FeaturedLink from \"./FeaturedLink\";\nimport { AbsUrl } from \"./LegacyMeganav\";\n\ntype MeganavSearchSuggestionsProps = {\n absUrl: AbsUrl;\n displaySupportLink: boolean;\n};\n\nconst MeganavSearchSuggestions = ({\n absUrl,\n displaySupportLink,\n}: MeganavSearchSuggestionsProps) => (\n <>\n <p className=\"ui-text-overline2 text-cool-black py-12\">Popular pages</p>\n\n <div className=\"flex justify-between items-center overflow-hidden\">\n <ul className=\"flex transition-transform\">\n <li className=\"py-12 pr-8 flex-shrink-0\">\n <a\n href={absUrl(\"/docs/how-ably-works\")}\n className=\"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus\"\n >\n How does Ably work?\n </a>\n </li>\n <li className=\"py-12 px-8 flex-shrink-0\">\n <a\n href={absUrl(\"/docs/quick-start-guide\")}\n className=\"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus\"\n >\n Quickstart guide\n </a>\n </li>\n <li className=\"py-12 px-8 flex-shrink-0\">\n <a\n href={absUrl(\"/docs/core-features/pubsub\")}\n className=\"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus\"\n >\n Publish/Subscribe Messaging\n </a>\n </li>\n <li className=\"py-12 pl-8 flex-shrink-0\">\n <a\n href={absUrl(\"/platform\")}\n className=\"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus\"\n >\n Platform\n </a>\n </li>\n </ul>\n {displaySupportLink ? (\n <FeaturedLink url={absUrl(\"/support\")} textSize=\"text-p2\">\n Support\n </FeaturedLink>\n ) : null}\n </div>\n </>\n);\n\nexport default MeganavSearchSuggestions;\n"],"names":["React","FeaturedLink","MeganavSearchSuggestions","absUrl","displaySupportLink","p","className","div","ul","li","a","href","url","textSize"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,iBAAkB,gBAAiB,CAQ1C,MAAMC,yBAA2B,CAAC,CAChCC,MAAM,CACNC,kBAAkB,CACY,GAC9B,wCACE,oBAACC,KAAEC,UAAU,2CAA0C,iBAEvD,oBAACC,OAAID,UAAU,qDACb,oBAACE,MAAGF,UAAU,6BACZ,oBAACG,MAAGH,UAAU,4BACZ,oBAACI,KACCC,KAAMR,OAAO,wBACbG,UAAU,+EACX,wBAIH,oBAACG,MAAGH,UAAU,4BACZ,oBAACI,KACCC,KAAMR,OAAO,2BACbG,UAAU,+EACX,qBAIH,oBAACG,MAAGH,UAAU,4BACZ,oBAACI,KACCC,KAAMR,OAAO,8BACbG,UAAU,+EACX,gCAIH,oBAACG,MAAGH,UAAU,4BACZ,oBAACI,KACCC,KAAMR,OAAO,aACbG,UAAU,+EACX,cAKJF,mBACC,oBAACH,cAAaW,IAAKT,OAAO,YAAaU,SAAS,WAAU,WAGxD,MAKV,gBAAeX,wBAAyB"}
package/core/Notice.js CHANGED
@@ -1,2 +1,2 @@
1
- import React,{useEffect}from"react";import DOMPurify from"dompurify";import Icon from"./Icon";import cn from"./utils/cn.js";import NoticeScripts from"./Notice/component.js";import useRailsUjsLinks from"./hooks/use-rails-ujs-hooks";const defaultTextColor="text-neutral-1300";const contentWrapperClasses="w-full pr-8 ui-text-p4 self-center";const ContentWrapper=({buttonLink,textColor=defaultTextColor,children})=>buttonLink?React.createElement("a",{href:buttonLink,className:cn(contentWrapperClasses,textColor)},children):React.createElement("div",{className:cn(contentWrapperClasses,textColor)},children);const Notice=({buttonLink,buttonLabel,bodyText="",title,config,closeBtn,bgColor="bg-orange-100",textColor=defaultTextColor})=>{useEffect(()=>{NoticeScripts({bannerContainer:document.querySelector('[data-id="ui-notice"]'),cookieId:config?.cookieId,noticeId:config?.noticeId,options:{collapse:config?.options?.collapse||false}})},[]);const safeContent=DOMPurify.sanitize(bodyText,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href","data-method","rel"]});const contentRef=useRailsUjsLinks();return React.createElement("div",{className:cn("ui-announcement",bgColor,textColor),"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??"#"},React.createElement("strong",{className:"font-bold whitespace-nowrap pr-4"},title),React.createElement("span",{ref:contentRef,className:"pr-4",dangerouslySetInnerHTML:{__html:safeContent}}),buttonLabel&&React.createElement("span",{className:"cursor-pointer whitespace-nowrap text-gui-blue-default-light"},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-x-mark-outline",size:"1.25rem",color:textColor}))))};export default Notice;
1
+ import React,{useEffect}from"react";import Icon from"./Icon";import cn from"./utils/cn.js";import NoticeScripts from"./Notice/component.js";const defaultTextColor="text-neutral-1300";const contentWrapperClasses="w-full pr-8 ui-text-p4 self-center";const ContentWrapper=({buttonLink,textColor=defaultTextColor,children})=>buttonLink?React.createElement("a",{href:buttonLink,className:cn(contentWrapperClasses,textColor)},children):React.createElement("div",{className:cn(contentWrapperClasses,textColor)},children);const Notice=({buttonLink,buttonLabel,bodyText,title,config,closeBtn,bgColor="bg-orange-100",textColor=defaultTextColor})=>{useEffect(()=>{NoticeScripts({bannerContainer:document.querySelector('[data-id="ui-notice"]'),cookieId:config?.cookieId,noticeId:config?.noticeId,options:{collapse:config?.options?.collapse||false}})},[]);return React.createElement("div",{className:cn("ui-announcement",bgColor,textColor),"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??"#"},React.createElement("strong",{className:"font-bold whitespace-nowrap pr-4"},title),React.createElement("span",{className:"pr-4"},bodyText),buttonLabel&&React.createElement("span",{className:"cursor-pointer whitespace-nowrap text-gui-blue-default-light"},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-x-mark-outline",size:"1.25rem",color:textColor}))))};export default Notice;
2
2
  //# sourceMappingURL=Notice.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/Notice.tsx"],"sourcesContent":["import React, { ReactNode, useEffect } from \"react\";\nimport DOMPurify from \"dompurify\";\n\nimport { ColorClass, ColorThemeSet } from \"./styles/colors/types\";\nimport Icon from \"./Icon\";\nimport cn from \"./utils/cn.js\";\nimport NoticeScripts from \"./Notice/component.js\";\n\ntype ContentWrapperProps = {\n buttonLink: string;\n children: ReactNode;\n textColor?: ColorClass | ColorThemeSet;\n};\nimport useRailsUjsLinks from \"./hooks/use-rails-ujs-hooks\";\n\n// TODO(jamiehenson):\n// This type is a bit messed up currently due to the NoticeScripts import being interpreted as NoticeProps.\n// Plan is to TS-ify the JS assets too, so this can be rectified then. The NoticeScripts-oriented props are\n// the ones after the line break.\nexport type NoticeProps = {\n buttonLink?: string;\n buttonLabel?: string;\n bodyText?: string;\n title?: string;\n closeBtn?: boolean;\n config?: {\n options: {\n collapse: boolean;\n };\n noticeId: string | number;\n cookieId: string;\n };\n bgColor?: string;\n textColor?: ColorClass | ColorThemeSet;\n\n bannerContainer?: Element | null;\n cookieId?: string;\n noticeId?: string;\n options?: { collapse: boolean };\n};\n\nconst defaultTextColor = \"text-neutral-1300\";\n\nconst contentWrapperClasses = \"w-full pr-8 ui-text-p4 self-center\";\n\nconst ContentWrapper = ({\n buttonLink,\n textColor = defaultTextColor,\n children,\n}: ContentWrapperProps) =>\n buttonLink ? (\n <a href={buttonLink} className={cn(contentWrapperClasses, textColor)}>\n {children}\n </a>\n ) : (\n <div className={cn(contentWrapperClasses, textColor)}>{children}</div>\n );\n\nconst Notice = ({\n buttonLink,\n buttonLabel,\n bodyText = \"\",\n title,\n config,\n closeBtn,\n bgColor = \"bg-orange-100\",\n textColor = defaultTextColor,\n}: NoticeProps) => {\n useEffect(() => {\n NoticeScripts({\n bannerContainer: document.querySelector('[data-id=\"ui-notice\"]'),\n cookieId: config?.cookieId,\n noticeId: config?.noticeId,\n options: {\n collapse: config?.options?.collapse || false,\n },\n });\n }, []);\n\n const safeContent = DOMPurify.sanitize(bodyText, {\n ALLOWED_TAGS: [\"a\"],\n ALLOWED_ATTR: [\"href\", \"data-method\", \"rel\"],\n });\n\n const contentRef = useRailsUjsLinks();\n\n return (\n <div\n className={cn(\"ui-announcement\", bgColor, textColor)}\n data-id=\"ui-notice\"\n style={{ maxHeight: 0, overflow: \"hidden\" }}\n >\n <div className=\"ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start\">\n <ContentWrapper buttonLink={buttonLink ?? \"#\"}>\n <strong className=\"font-bold whitespace-nowrap pr-4\">{title}</strong>\n <span\n ref={contentRef}\n className=\"pr-4\"\n dangerouslySetInnerHTML={{\n __html: safeContent,\n }}\n ></span>\n {buttonLabel && (\n <span className=\"cursor-pointer whitespace-nowrap text-gui-blue-default-light\">\n {buttonLabel}\n </span>\n )}\n </ContentWrapper>\n\n {closeBtn && (\n <button\n type=\"button\"\n className=\"ml-auto h-20 w-20 border-none bg-none self-baseline\"\n >\n <Icon\n name=\"icon-gui-x-mark-outline\"\n size=\"1.25rem\"\n color={textColor}\n />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nexport default Notice;\n"],"names":["React","useEffect","DOMPurify","Icon","cn","NoticeScripts","useRailsUjsLinks","defaultTextColor","contentWrapperClasses","ContentWrapper","buttonLink","textColor","children","a","href","className","div","Notice","buttonLabel","bodyText","title","config","closeBtn","bgColor","bannerContainer","document","querySelector","cookieId","noticeId","options","collapse","safeContent","sanitize","ALLOWED_TAGS","ALLOWED_ATTR","contentRef","data-id","style","maxHeight","overflow","strong","span","ref","dangerouslySetInnerHTML","__html","button","type","name","size","color"],"mappings":"AAAA,OAAOA,OAAoBC,SAAS,KAAQ,OAAQ,AACpD,QAAOC,cAAe,WAAY,AAGlC,QAAOC,SAAU,QAAS,AAC1B,QAAOC,OAAQ,eAAgB,AAC/B,QAAOC,kBAAmB,uBAAwB,AAOlD,QAAOC,qBAAsB,6BAA8B,CA4B3D,MAAMC,iBAAmB,oBAEzB,MAAMC,sBAAwB,qCAE9B,MAAMC,eAAiB,CAAC,CACtBC,UAAU,CACVC,UAAYJ,gBAAgB,CAC5BK,QAAQ,CACY,GACpBF,WACE,oBAACG,KAAEC,KAAMJ,WAAYK,UAAWX,GAAGI,sBAAuBG,YACvDC,UAGH,oBAACI,OAAID,UAAWX,GAAGI,sBAAuBG,YAAaC,UAG3D,MAAMK,OAAS,CAAC,CACdP,UAAU,CACVQ,WAAW,CACXC,SAAW,EAAE,CACbC,KAAK,CACLC,MAAM,CACNC,QAAQ,CACRC,QAAU,eAAe,CACzBZ,UAAYJ,gBAAgB,CAChB,IACZN,UAAU,KACRI,cAAc,CACZmB,gBAAiBC,SAASC,aAAa,CAAC,yBACxCC,SAAUN,QAAQM,SAClBC,SAAUP,QAAQO,SAClBC,QAAS,CACPC,SAAUT,QAAQQ,SAASC,UAAY,KACzC,CACF,EACF,EAAG,EAAE,EAEL,MAAMC,YAAc7B,UAAU8B,QAAQ,CAACb,SAAU,CAC/Cc,aAAc,CAAC,IAAI,CACnBC,aAAc,CAAC,OAAQ,cAAe,MAAM,AAC9C,GAEA,MAAMC,WAAa7B,mBAEnB,OACE,oBAACU,OACCD,UAAWX,GAAG,kBAAmBmB,QAASZ,WAC1CyB,UAAQ,YACRC,MAAO,CAAEC,UAAW,EAAGC,SAAU,QAAS,GAE1C,oBAACvB,OAAID,UAAU,6DACb,oBAACN,gBAAeC,WAAYA,YAAc,KACxC,oBAAC8B,UAAOzB,UAAU,oCAAoCK,OACtD,oBAACqB,QACCC,IAAKP,WACLpB,UAAU,OACV4B,wBAAyB,CACvBC,OAAQb,WACV,IAEDb,aACC,oBAACuB,QAAK1B,UAAU,gEACbG,cAKNI,UACC,oBAACuB,UACCC,KAAK,SACL/B,UAAU,uDAEV,oBAACZ,MACC4C,KAAK,0BACLC,KAAK,UACLC,MAAOtC,cAOrB,CAEA,gBAAeM,MAAO"}
1
+ {"version":3,"sources":["../../src/core/Notice.tsx"],"sourcesContent":["import React, { ReactNode, useEffect } from \"react\";\n\nimport { ColorClass, ColorThemeSet } from \"./styles/colors/types\";\nimport Icon from \"./Icon\";\nimport cn from \"./utils/cn.js\";\nimport NoticeScripts from \"./Notice/component.js\";\n\ntype ContentWrapperProps = {\n buttonLink: string;\n children: ReactNode;\n textColor?: ColorClass | ColorThemeSet;\n};\n\n// TODO(jamiehenson):\n// This type is a bit messed up currently due to the NoticeScripts import being interpreted as NoticeProps.\n// Plan is to TS-ify the JS assets too, so this can be rectified then. The NoticeScripts-oriented props are\n// the ones after the line break.\nexport type NoticeProps = {\n buttonLink?: string;\n buttonLabel?: string;\n bodyText?: string;\n title?: string;\n closeBtn?: boolean;\n config?: {\n options: {\n collapse: boolean;\n };\n noticeId: string | number;\n cookieId: string;\n };\n bgColor?: string;\n textColor?: ColorClass | ColorThemeSet;\n\n bannerContainer?: Element | null;\n cookieId?: string;\n noticeId?: string;\n options?: { collapse: boolean };\n};\n\nconst defaultTextColor = \"text-neutral-1300\";\n\nconst contentWrapperClasses = \"w-full pr-8 ui-text-p4 self-center\";\n\nconst ContentWrapper = ({\n buttonLink,\n textColor = defaultTextColor,\n children,\n}: ContentWrapperProps) =>\n buttonLink ? (\n <a href={buttonLink} className={cn(contentWrapperClasses, textColor)}>\n {children}\n </a>\n ) : (\n <div className={cn(contentWrapperClasses, textColor)}>{children}</div>\n );\n\nconst Notice = ({\n buttonLink,\n buttonLabel,\n bodyText,\n title,\n config,\n closeBtn,\n bgColor = \"bg-orange-100\",\n textColor = defaultTextColor,\n}: NoticeProps) => {\n useEffect(() => {\n NoticeScripts({\n bannerContainer: document.querySelector('[data-id=\"ui-notice\"]'),\n cookieId: config?.cookieId,\n noticeId: config?.noticeId,\n options: {\n collapse: config?.options?.collapse || false,\n },\n });\n }, []);\n\n return (\n <div\n className={cn(\"ui-announcement\", bgColor, textColor)}\n data-id=\"ui-notice\"\n style={{ maxHeight: 0, overflow: \"hidden\" }}\n >\n <div className=\"ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start\">\n <ContentWrapper buttonLink={buttonLink ?? \"#\"}>\n <strong className=\"font-bold whitespace-nowrap pr-4\">{title}</strong>\n <span className=\"pr-4\">{bodyText}</span>\n {buttonLabel && (\n <span className=\"cursor-pointer whitespace-nowrap text-gui-blue-default-light\">\n {buttonLabel}\n </span>\n )}\n </ContentWrapper>\n\n {closeBtn && (\n <button\n type=\"button\"\n className=\"ml-auto h-20 w-20 border-none bg-none self-baseline\"\n >\n <Icon\n name=\"icon-gui-x-mark-outline\"\n size=\"1.25rem\"\n color={textColor}\n />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nexport default Notice;\n"],"names":["React","useEffect","Icon","cn","NoticeScripts","defaultTextColor","contentWrapperClasses","ContentWrapper","buttonLink","textColor","children","a","href","className","div","Notice","buttonLabel","bodyText","title","config","closeBtn","bgColor","bannerContainer","document","querySelector","cookieId","noticeId","options","collapse","data-id","style","maxHeight","overflow","strong","span","button","type","name","size","color"],"mappings":"AAAA,OAAOA,OAAoBC,SAAS,KAAQ,OAAQ,AAGpD,QAAOC,SAAU,QAAS,AAC1B,QAAOC,OAAQ,eAAgB,AAC/B,QAAOC,kBAAmB,uBAAwB,CAkClD,MAAMC,iBAAmB,oBAEzB,MAAMC,sBAAwB,qCAE9B,MAAMC,eAAiB,CAAC,CACtBC,UAAU,CACVC,UAAYJ,gBAAgB,CAC5BK,QAAQ,CACY,GACpBF,WACE,oBAACG,KAAEC,KAAMJ,WAAYK,UAAWV,GAAGG,sBAAuBG,YACvDC,UAGH,oBAACI,OAAID,UAAWV,GAAGG,sBAAuBG,YAAaC,UAG3D,MAAMK,OAAS,CAAC,CACdP,UAAU,CACVQ,WAAW,CACXC,QAAQ,CACRC,KAAK,CACLC,MAAM,CACNC,QAAQ,CACRC,QAAU,eAAe,CACzBZ,UAAYJ,gBAAgB,CAChB,IACZJ,UAAU,KACRG,cAAc,CACZkB,gBAAiBC,SAASC,aAAa,CAAC,yBACxCC,SAAUN,QAAQM,SAClBC,SAAUP,QAAQO,SAClBC,QAAS,CACPC,SAAUT,QAAQQ,SAASC,UAAY,KACzC,CACF,EACF,EAAG,EAAE,EAEL,OACE,oBAACd,OACCD,UAAWV,GAAG,kBAAmBkB,QAASZ,WAC1CoB,UAAQ,YACRC,MAAO,CAAEC,UAAW,EAAGC,SAAU,QAAS,GAE1C,oBAAClB,OAAID,UAAU,6DACb,oBAACN,gBAAeC,WAAYA,YAAc,KACxC,oBAACyB,UAAOpB,UAAU,oCAAoCK,OACtD,oBAACgB,QAAKrB,UAAU,QAAQI,UACvBD,aACC,oBAACkB,QAAKrB,UAAU,gEACbG,cAKNI,UACC,oBAACe,UACCC,KAAK,SACLvB,UAAU,uDAEV,oBAACX,MACCmC,KAAK,0BACLC,KAAK,UACLC,MAAO9B,cAOrB,CAEA,gBAAeM,MAAO"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/SignOutLink.tsx"],"sourcesContent":["import React, { MouseEvent, MouseEventHandler, ReactNode, useRef } from \"react\";\nimport { AbsUrl } from \"./Meganav\";\n\ntype SignOutLinkProps = {\n token: string;\n href: string;\n text: string;\n children: ({\n href,\n text,\n onClick,\n }: {\n href: string;\n text: string;\n onClick: MouseEventHandler<HTMLAnchorElement>;\n }) => ReactNode;\n absUrl: AbsUrl;\n};\n\nconst SignOutLink = ({\n token,\n href,\n text,\n children,\n absUrl,\n}: SignOutLinkProps) => {\n const formRef = useRef<HTMLFormElement>(null);\n\n const onClick = (e: MouseEvent) => {\n formRef.current?.submit();\n e.preventDefault();\n };\n\n return (\n <>\n <form\n ref={formRef}\n method=\"post\"\n action={absUrl(href)}\n className=\"hidden\"\n >\n <input name=\"_method\" value=\"delete\" type=\"hidden\" />\n <input name=\"authenticity_token\" value={token} type=\"hidden\" />\n </form>\n\n {children({ href, text, onClick })}\n </>\n );\n};\n\nexport default SignOutLink;\n"],"names":["React","useRef","SignOutLink","token","href","text","children","absUrl","formRef","onClick","e","current","submit","preventDefault","form","ref","method","action","className","input","name","value","type"],"mappings":"AAAA,OAAOA,OAAmDC,MAAM,KAAQ,OAAQ,CAmBhF,MAAMC,YAAc,CAAC,CACnBC,KAAK,CACLC,IAAI,CACJC,IAAI,CACJC,QAAQ,CACRC,MAAM,CACW,IACjB,MAAMC,QAAUP,OAAwB,MAExC,MAAMQ,QAAU,AAACC,IACfF,QAAQG,OAAO,EAAEC,SACjBF,EAAEG,cAAc,EAClB,EAEA,OACE,wCACE,oBAACC,QACCC,IAAKP,QACLQ,OAAO,OACPC,OAAQV,OAAOH,MACfc,UAAU,UAEV,oBAACC,SAAMC,KAAK,UAAUC,MAAM,SAASC,KAAK,WAC1C,oBAACH,SAAMC,KAAK,qBAAqBC,MAAOlB,MAAOmB,KAAK,YAGrDhB,SAAS,CAAEF,KAAMC,KAAMI,OAAQ,GAGtC,CAEA,gBAAeP,WAAY"}
1
+ {"version":3,"sources":["../../src/core/SignOutLink.tsx"],"sourcesContent":["import React, { MouseEvent, MouseEventHandler, ReactNode, useRef } from \"react\";\nimport { AbsUrl } from \"./LegacyMeganav\";\n\ntype SignOutLinkProps = {\n token: string;\n href: string;\n text: string;\n children: ({\n href,\n text,\n onClick,\n }: {\n href: string;\n text: string;\n onClick: MouseEventHandler<HTMLAnchorElement>;\n }) => ReactNode;\n absUrl: AbsUrl;\n};\n\nconst SignOutLink = ({\n token,\n href,\n text,\n children,\n absUrl,\n}: SignOutLinkProps) => {\n const formRef = useRef<HTMLFormElement>(null);\n\n const onClick = (e: MouseEvent) => {\n formRef.current?.submit();\n e.preventDefault();\n };\n\n return (\n <>\n <form\n ref={formRef}\n method=\"post\"\n action={absUrl(href)}\n className=\"hidden\"\n >\n <input name=\"_method\" value=\"delete\" type=\"hidden\" />\n <input name=\"authenticity_token\" value={token} type=\"hidden\" />\n </form>\n\n {children({ href, text, onClick })}\n </>\n );\n};\n\nexport default SignOutLink;\n"],"names":["React","useRef","SignOutLink","token","href","text","children","absUrl","formRef","onClick","e","current","submit","preventDefault","form","ref","method","action","className","input","name","value","type"],"mappings":"AAAA,OAAOA,OAAmDC,MAAM,KAAQ,OAAQ,CAmBhF,MAAMC,YAAc,CAAC,CACnBC,KAAK,CACLC,IAAI,CACJC,IAAI,CACJC,QAAQ,CACRC,MAAM,CACW,IACjB,MAAMC,QAAUP,OAAwB,MAExC,MAAMQ,QAAU,AAACC,IACfF,QAAQG,OAAO,EAAEC,SACjBF,EAAEG,cAAc,EAClB,EAEA,OACE,wCACE,oBAACC,QACCC,IAAKP,QACLQ,OAAO,OACPC,OAAQV,OAAOH,MACfc,UAAU,UAEV,oBAACC,SAAMC,KAAK,UAAUC,MAAM,SAASC,KAAK,WAC1C,oBAACH,SAAMC,KAAK,qBAAqBC,MAAOlB,MAAOmB,KAAK,YAGrDhB,SAAS,CAAEF,KAAMC,KAAMI,OAAQ,GAGtC,CAEA,gBAAeP,WAAY"}