@fluidattacks/design 3.1.10 → 3.1.12

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 (206) hide show
  1. package/dist/_commonjsHelpers-C6fGbg64.mjs +6 -0
  2. package/dist/assets/{design.css → index.css} +1 -1
  3. package/dist/assets/index2.css +1 -0
  4. package/dist/components/@core/index.js +18 -1
  5. package/dist/components/accordion/accordion-content/index.js +9 -1
  6. package/dist/components/accordion/index.js +21 -1
  7. package/dist/components/alert/index.js +111 -4
  8. package/dist/components/button/index.js +18 -1
  9. package/dist/components/card/card-header/index.js +14 -1
  10. package/dist/components/card/card-with-image/index.js +18 -1
  11. package/dist/components/card/card-with-input/index.js +57 -3
  12. package/dist/components/card/card-with-selector/index.js +16 -1
  13. package/dist/components/card/card-with-switch/index.js +12 -1
  14. package/dist/components/card/index.js +12 -1
  15. package/dist/components/carousel/index.js +36 -10
  16. package/dist/components/checkbox/index.js +84 -3
  17. package/dist/components/cloud-image/index.js +8 -1
  18. package/dist/components/code-snippet/index.js +27 -1
  19. package/dist/components/code-snippet/location-code/index.js +125 -1
  20. package/dist/components/colors/index.js +9 -1
  21. package/dist/components/confirm-dialog/index.js +23 -1
  22. package/dist/components/container/index.js +27 -3
  23. package/dist/components/content-card/category-tag/index.js +13 -1
  24. package/dist/components/content-card/event-date/index.js +18 -1
  25. package/dist/components/content-card/index.js +63 -3
  26. package/dist/components/content-card-carousel/index.js +15 -1
  27. package/dist/components/content-card-carousel/scroll-buttons/index.js +9 -1
  28. package/dist/components/divider/index.js +10 -1
  29. package/dist/components/empty-state/empty-button/index.js +6 -1
  30. package/dist/components/empty-state/index.js +21 -8
  31. package/dist/components/file-preview/index.js +15 -3
  32. package/dist/components/form/index.js +26 -3
  33. package/dist/components/grid-container/index.js +26 -5
  34. package/dist/components/group-selector/index.js +26 -1
  35. package/dist/components/group-selector/option-container/index.js +12 -1
  36. package/dist/components/icon/index.js +42 -4
  37. package/dist/components/icon-button/index.js +27 -3
  38. package/dist/components/indicator-card/index.js +15 -1
  39. package/dist/components/info-sidebar/index.js +16 -1
  40. package/dist/components/inputs/fields/combobox/index.js +26 -1
  41. package/dist/components/inputs/fields/combobox/option/index.js +8 -1
  42. package/dist/components/inputs/fields/date/calendar/cell/index.js +16 -1
  43. package/dist/components/inputs/fields/date/calendar/grid/index.js +15 -1
  44. package/dist/components/inputs/fields/date/calendar/header/index.js +16 -1
  45. package/dist/components/inputs/fields/date/calendar/index.js +15 -1
  46. package/dist/components/inputs/fields/date/index.js +18 -1
  47. package/dist/components/inputs/fields/date-range/calendar/index.js +16 -1
  48. package/dist/components/inputs/fields/date-range/index.js +28 -3
  49. package/dist/components/inputs/fields/date-time/calendar/index.js +31 -5
  50. package/dist/components/inputs/fields/date-time/index.js +18 -1
  51. package/dist/components/inputs/fields/editable/index.js +16 -1
  52. package/dist/components/inputs/fields/input/index.js +13 -1
  53. package/dist/components/inputs/fields/input-file/index.js +24 -4
  54. package/dist/components/inputs/fields/input-tags/index.js +14 -2
  55. package/dist/components/inputs/fields/number/index.js +10 -1
  56. package/dist/components/inputs/fields/number-range/index.js +11 -1
  57. package/dist/components/inputs/fields/phone/index.js +414 -11
  58. package/dist/components/inputs/fields/text-area/index.js +13 -1
  59. package/dist/components/inputs/index.js +28 -1
  60. package/dist/components/inputs/label/index.js +12 -1
  61. package/dist/components/inputs/outline-container/index.js +18 -1
  62. package/dist/components/inputs/utils/action-button/index.js +10 -1
  63. package/dist/components/inputs/utils/calendar-button/index.js +13 -1
  64. package/dist/components/inputs/utils/date-selector/index.js +8 -1
  65. package/dist/components/inputs/utils/date-time-field/index.js +32 -1
  66. package/dist/components/inputs/utils/dialog/index.js +11 -1
  67. package/dist/components/inputs/utils/number-field/index.js +13 -1
  68. package/dist/components/inputs/utils/popover/index.js +13 -1
  69. package/dist/components/interactive-card/icon/index.js +7 -1
  70. package/dist/components/interactive-card/index.js +15 -1
  71. package/dist/components/language-selector/index.js +13 -1
  72. package/dist/components/language-selector/item-list/index.js +8 -1
  73. package/dist/components/link/index.js +52 -7
  74. package/dist/components/list-item/index.js +16 -1
  75. package/dist/components/little-flag/index.js +15 -3
  76. package/dist/components/loading/index.js +28 -14
  77. package/dist/components/logo/index.js +7 -1
  78. package/dist/components/logo-carousel/index.js +10 -4
  79. package/dist/components/lottie/index.js +15 -3
  80. package/dist/components/menu/index.js +23 -1
  81. package/dist/components/message-banner/index.js +21 -4
  82. package/dist/components/modal/index.js +19 -1
  83. package/dist/components/modal/modal-confirm/index.js +10 -1
  84. package/dist/components/modal/modal-footer/index.js +16 -1
  85. package/dist/components/modal/modal-header/index.js +25 -1
  86. package/dist/components/notification/index.js +68 -5
  87. package/dist/components/notification-sign/index.js +26 -6
  88. package/dist/components/number-input/index.js +25 -7
  89. package/dist/components/oauth-selector/index.js +26 -1
  90. package/dist/components/oauth-selector/option-container/index.js +15 -1
  91. package/dist/components/plan-card/index.js +84 -5
  92. package/dist/components/plan-card/recommended-tag/index.js +10 -1
  93. package/dist/components/pop-up/description/index.js +13 -1
  94. package/dist/components/pop-up/index.js +23 -1
  95. package/dist/components/premium-feature/index.js +45 -3
  96. package/dist/components/priority-score/index.js +14 -1
  97. package/dist/components/progress/index.js +23 -3
  98. package/dist/components/progress-bar/index.js +95 -5
  99. package/dist/components/radio-button/index.js +88 -3
  100. package/dist/components/scroll-button/index.js +20 -2
  101. package/dist/components/search/index.js +63 -7
  102. package/dist/components/search-bar/index.js +32 -1
  103. package/dist/components/search-bar/item-searching/index.js +10 -1
  104. package/dist/components/severity-badge/index.js +14 -1
  105. package/dist/components/severity-overview/badge/index.js +18 -1
  106. package/dist/components/severity-overview/index.js +7 -1
  107. package/dist/components/show-on-hover/index.js +25 -3
  108. package/dist/components/slide-out-menu/index.js +2009 -3
  109. package/dist/components/slide-out-menu/menu-item/index.js +15 -1
  110. package/dist/components/slider/index.js +93 -7
  111. package/dist/components/slider/thumb/index.js +10 -1
  112. package/dist/components/step-lapse/index.js +95 -9
  113. package/dist/components/table-button/index.js +56 -3
  114. package/dist/components/tabs/fixed-tabs/index.js +9 -1
  115. package/dist/components/tabs/index.js +14 -1
  116. package/dist/components/tabs/tab/index.js +8 -1
  117. package/dist/components/tag/index.js +116 -3
  118. package/dist/components/timeline/card/index.js +9 -1
  119. package/dist/components/timeline/index.js +7 -1
  120. package/dist/components/toggle/index.js +45 -14
  121. package/dist/components/toggle-buttons/index.js +74 -5
  122. package/dist/components/tooltip/index.js +13 -1
  123. package/dist/components/tour/index.js +2481 -4
  124. package/dist/components/typography/heading/index.js +9 -1
  125. package/dist/components/typography/index.js +8 -1
  126. package/dist/components/typography/span/index.js +9 -1
  127. package/dist/components/typography/text/index.js +9 -1
  128. package/dist/components/web-form/index.js +59 -7
  129. package/dist/hooks/index.js +13 -1
  130. package/dist/index-38JqtnAI.mjs +122 -0
  131. package/dist/index-B5yoGFs6.mjs +54 -0
  132. package/dist/index-BLbKylyw.mjs +209 -0
  133. package/dist/{index-C0_LPuYU.mjs → index-Bu448Tz2.mjs} +22 -22
  134. package/dist/index-BwFnfaRh.mjs +2310 -0
  135. package/dist/index-Co_k0WFk.mjs +75 -0
  136. package/dist/index-Cu7uUMlx.mjs +82 -0
  137. package/dist/index-D-lcuEHY.mjs +1018 -0
  138. package/dist/index-DrfjITyT.mjs +61 -0
  139. package/dist/index.js +206 -1
  140. package/dist/styles-7_q7nHce.mjs +110 -0
  141. package/dist/styles-BA0WIQL-.mjs +74 -0
  142. package/dist/styles-C3cZmKVJ.mjs +131 -0
  143. package/dist/styles-CI-I6joH.mjs +144 -0
  144. package/dist/styles-Cx93EcVo.mjs +76 -0
  145. package/dist/styles-D85YYIjM.mjs +131 -0
  146. package/dist/styles-EIbGRPlk.mjs +106 -0
  147. package/dist/styles-Q1VXuWI7.mjs +65 -0
  148. package/dist/styles-fH2c4cfc.mjs +77 -0
  149. package/dist/{styles-BAhpqi6C.mjs → styles-lSVV9kjn.mjs} +28 -28
  150. package/dist/use-carousel-CvRxi2FI.mjs +17 -0
  151. package/dist/use-click-outside-BtZLIoU1.mjs +18 -0
  152. package/dist/use-cloudinary-image-fG7ODNgr.mjs +611 -0
  153. package/dist/use-modal-CkrZ-_-M.mjs +14 -0
  154. package/dist/use-search-DpLNvt7Q.mjs +12 -0
  155. package/dist/utils-CQvBF-wY.mjs +4 -0
  156. package/package.json +3 -2
  157. package/dist/_commonjsHelpers-C37NGDzP.js +0 -1
  158. package/dist/_commonjsHelpers-D6CrkqQz.mjs +0 -6
  159. package/dist/index-BH27NQKA.mjs +0 -2311
  160. package/dist/index-Bcw2vW_n.mjs +0 -75
  161. package/dist/index-C8zdgAVH.mjs +0 -82
  162. package/dist/index-CA_9DXWd.js +0 -5
  163. package/dist/index-CmylnDrF.js +0 -14
  164. package/dist/index-DUMgwAbO.js +0 -26
  165. package/dist/index-DpQYiwGu.js +0 -5
  166. package/dist/index-Dy8ZUIYs.js +0 -5
  167. package/dist/index-JPf5Yzg6.js +0 -17
  168. package/dist/index-OBZtKZuT.mjs +0 -1021
  169. package/dist/index-SsXlDjK4.mjs +0 -122
  170. package/dist/index-TKLFHcRp.js +0 -18
  171. package/dist/index-TnyKqJHo.mjs +0 -61
  172. package/dist/index-Yr95Cb7Z.mjs +0 -54
  173. package/dist/index-h9-U5wxq.mjs +0 -209
  174. package/dist/index-qCiUU4sZ.js +0 -9
  175. package/dist/index-qe0nJwzl.js +0 -15
  176. package/dist/styles--Elze-LV.js +0 -3
  177. package/dist/styles-3pR4Xdvy.js +0 -33
  178. package/dist/styles-59h91S9m.mjs +0 -65
  179. package/dist/styles-BCwLWpC3.mjs +0 -126
  180. package/dist/styles-BJ7-0I5X.mjs +0 -74
  181. package/dist/styles-BKObp9bh.mjs +0 -76
  182. package/dist/styles-BWVdbvFu.js +0 -5
  183. package/dist/styles-Bl-CstrT.js +0 -5
  184. package/dist/styles-Bn42XCW5.js +0 -7
  185. package/dist/styles-C2CoGJl7.js +0 -33
  186. package/dist/styles-CNzziAXG.js +0 -5
  187. package/dist/styles-CdD9waPD.js +0 -29
  188. package/dist/styles-CnKTwnFk.mjs +0 -110
  189. package/dist/styles-D4R-eerv.mjs +0 -77
  190. package/dist/styles-DNIIhyRC.mjs +0 -144
  191. package/dist/styles-DV8yOaqV.mjs +0 -131
  192. package/dist/styles-DYoftbd3.js +0 -42
  193. package/dist/styles-DlmKLhPh.js +0 -7
  194. package/dist/styles-be8gOdgy.mjs +0 -106
  195. package/dist/use-carousel-64dKFW4E.js +0 -1
  196. package/dist/use-carousel-D7xeL3YZ.mjs +0 -17
  197. package/dist/use-click-outside-BqkLISED.js +0 -1
  198. package/dist/use-click-outside-C4Z4pdiW.mjs +0 -18
  199. package/dist/use-cloudinary-image-DKMl7jbx.mjs +0 -612
  200. package/dist/use-cloudinary-image-YMMafagv.js +0 -1
  201. package/dist/use-modal-CNbLSSQb.mjs +0 -14
  202. package/dist/use-modal-_bYY6M_n.js +0 -1
  203. package/dist/use-search-75ip5xR-.mjs +0 -12
  204. package/dist/use-search-DeL4UDMh.js +0 -1
  205. package/dist/utils-C2whpEd3.js +0 -1
  206. package/dist/utils-Da0qL35u.mjs +0 -4
@@ -1 +1,19 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("lodash"),i=require("react-dom"),t=require("./modal-confirm/index.js"),o=require("./modal-footer/index.js"),a=require("./modal-header/index.js"),n=require("../../styles-CdD9waPD.js"),d=require("../../index-TKLFHcRp.js");require("../typography/heading/index.js"),require("../typography/span/index.js");const s=require("../typography/text/index.js");exports.ModalConfirm=t.ModalConfirm,exports.Modal=({_portal:t=!0,cancelButton:l,children:m,confirmButton:c,content:u,description:p="",modalRef:x,otherActions:j,onClose:g,title:h="",size:y,id:f="modal-container"})=>{const q=()=>e.jsx(n.ModalWrapper,{"aria-label":x.name,"aria-modal":"true",id:"modal-wrapper",children:e.jsxs(n.ModalContainer,{$size:y,"data-testid":f,id:f,children:[!r.isEmpty(h)&&e.jsx(a.ModalHeader,{description:p,modalRef:x,onClose:g,otherActions:j,title:h}),m,r.isObject(u)&&r.isString(u.imageSrc)&&e.jsx(n.ImageContainer,{$framed:u.imageFramed,children:e.jsx(d.MemoizedImage,{alt:"modal-img",publicId:u.imageSrc})}),r.isObject(u)&&r.isString(u.imageText)&&e.jsx(s.Text,{mb:1.5,size:"sm",children:u.imageText}),e.jsx(o.ModalFooter,{cancelButton:l,confirmButton:c,modalRef:x})]})});return t&&x.isOpen?i.createPortal(q(),document.getElementById("portals")??document.body):x.isOpen?q():null};
1
+ import { jsx as t, jsxs as h } from "react/jsx-runtime";
2
+ import r from "lodash";
3
+ import { createPortal as x } from "react-dom";
4
+ import { ModalConfirm as j } from "./modal-confirm/index.js";
5
+ import { ModalFooter as M } from "./modal-footer/index.js";
6
+ import { ModalHeader as b } from "./modal-header/index.js";
7
+ import { M as B, a as S, I as g } from "../../styles-D85YYIjM.mjs";
8
+ import { M as y } from "../../index-BwFnfaRh.mjs";
9
+ import "../typography/heading/index.js";
10
+ import "../typography/span/index.js";
11
+ import { Text as z } from "../typography/text/index.js";
12
+ const H = ({ _portal: n = !0, cancelButton: s, children: l, confirmButton: d, content: o, description: c = "", modalRef: e, otherActions: p, onClose: f, title: i = "", size: u, id: a = "modal-container" }) => {
13
+ const m = () => t(B, { "aria-label": e.name, "aria-modal": "true", id: "modal-wrapper", children: h(S, { $size: u, "data-testid": a, id: a, children: [!r.isEmpty(i) && t(b, { description: c, modalRef: e, onClose: f, otherActions: p, title: i }), l, r.isObject(o) && r.isString(o.imageSrc) && t(g, { $framed: o.imageFramed, children: t(y, { alt: "modal-img", publicId: o.imageSrc }) }), r.isObject(o) && r.isString(o.imageText) && t(z, { mb: 1.5, size: "sm", children: o.imageText }), t(M, { cancelButton: s, confirmButton: d, modalRef: e })] }) });
14
+ return n && e.isOpen ? x(m(), document.getElementById("portals") ?? document.body) : e.isOpen ? m() : null;
15
+ };
16
+ export {
17
+ H as Modal,
18
+ j as ModalConfirm
19
+ };
@@ -1 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),i=require("../../button/index.js"),e=require("../../container/index.js");exports.ModalConfirm=({disabled:n,id:r="modal-confirm",onCancel:o,onConfirm:a="submit",txtCancel:d,txtConfirm:s})=>{const c="submit"===a;return t.jsxs(e.Container,{display:"flex",gap:.75,maxWidth:o?"392px":"190px",mt:1.5,children:[o?t.jsx(i.Button,{id:`${r}-cancel`,justify:"center",onClick:o,variant:"tertiary",width:"100%",children:d??"Cancel"}):void 0,t.jsx(i.Button,{disabled:n,id:r,justify:"center",onClick:c?void 0:a,type:c?"submit":"button",variant:"primary",width:"100%",children:s??"Confirm"})]})};
1
+ import { jsxs as d, jsx as o } from "react/jsx-runtime";
2
+ import { Button as a } from "../../button/index.js";
3
+ import { Container as l } from "../../container/index.js";
4
+ const C = ({ disabled: e, id: t = "modal-confirm", onCancel: i, onConfirm: n = "submit", txtCancel: m, txtConfirm: s }) => {
5
+ const r = n === "submit";
6
+ return d(l, { display: "flex", gap: 0.75, maxWidth: i ? "392px" : "190px", mt: 1.5, children: [i ? o(a, { id: `${t}-cancel`, justify: "center", onClick: i, variant: "tertiary", width: "100%", children: m ?? "Cancel" }) : void 0, o(a, { disabled: e, id: t, justify: "center", onClick: r ? void 0 : n, type: r ? "submit" : "button", variant: "primary", width: "100%", children: s ?? "Confirm" })] });
7
+ };
8
+ export {
9
+ C as ModalConfirm
10
+ };
@@ -1 +1,16 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("lodash"),r=require("react"),i=require("../../../styles-CdD9waPD.js"),l=require("../../button/index.js");exports.ModalFooter=({modalRef:n,confirmButton:o,cancelButton:s})=>{const{close:c}=n,u=r.useCallback((()=>{null==s||s.onClick(),c()}),[s,c]),a=r.useCallback((()=>{null==o||o.onClick(),c()}),[o,c]);return[o,s].some((e=>!t.isEmpty(e)))?e.jsx(i.Footer,{children:e.jsxs("div",{children:[s&&e.jsx(l.Button,{onClick:u,variant:"tertiary",width:"100%",children:s.text}),o&&e.jsx(l.Button,{onClick:a,variant:"primary",width:"100%",children:o.text})]})}):null};
1
+ import { jsx as i, jsxs as l } from "react/jsx-runtime";
2
+ import { isEmpty as p } from "lodash";
3
+ import { useCallback as n } from "react";
4
+ import { F as f } from "../../../styles-D85YYIjM.mjs";
5
+ import { Button as a } from "../../button/index.js";
6
+ const C = ({ modalRef: s, confirmButton: o, cancelButton: t }) => {
7
+ const { close: r } = s, c = n(() => {
8
+ t == null || t.onClick(), r();
9
+ }, [t, r]), e = n(() => {
10
+ o == null || o.onClick(), r();
11
+ }, [o, r]);
12
+ return [o, t].some((d) => !p(d)) ? i(f, { children: l("div", { children: [t && i(a, { onClick: c, variant: "tertiary", width: "100%", children: t.text }), o && i(a, { onClick: e, variant: "primary", width: "100%", children: o.text })] }) }) : null;
13
+ };
14
+ export {
15
+ C as ModalFooter
16
+ };
@@ -1 +1,25 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("lodash"),t=require("react"),r=require("styled-components"),s=require("../../../styles-CdD9waPD.js"),n=require("../../icon-button/index.js"),o=require("../../typography/heading/index.js");require("../../typography/span/index.js");const l=require("../../typography/text/index.js");exports.ModalHeader=({title:c,description:d,modalRef:a,otherActions:u,onClose:p})=>{const x=r.useTheme(),y=t.useCallback((()=>{null==p||p(),a.close()}),[a,p]);return t.useEffect((()=>{const e=e=>{"Escape"===e.key&&y()};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}),[y]),e.jsxs(s.Header,{children:[e.jsxs(s.Title,{children:["string"==typeof c?e.jsx(o.Heading,{fontWeight:"bold",lineSpacing:1.75,mr:1,size:"sm",children:c}):c,e.jsxs("div",{className:"flex",children:[u,e.jsx(n.IconButton,{icon:"close",iconColor:x.palette.gray[300],iconSize:"xs",iconType:"fa-light",id:"modal-close",onClick:y,variant:"ghost"})]})]}),d&&i.isString(d)&&!i.isEmpty(d)?e.jsx(l.Text,{mt:.5,size:"sm",children:d}):d]})};
1
+ import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
+ import { isString as d, isEmpty as p } from "lodash";
3
+ import { useCallback as f, useEffect as x } from "react";
4
+ import { useTheme as h } from "styled-components";
5
+ import { H as u, T as w } from "../../../styles-D85YYIjM.mjs";
6
+ import { IconButton as y } from "../../icon-button/index.js";
7
+ import { Heading as k } from "../../typography/heading/index.js";
8
+ import "../../typography/span/index.js";
9
+ import { Text as v } from "../../typography/text/index.js";
10
+ const L = ({ title: i, description: o, modalRef: n, otherActions: m, onClose: e }) => {
11
+ const c = h(), s = f(() => {
12
+ e == null || e(), n.close();
13
+ }, [n, e]);
14
+ return x(() => {
15
+ const a = (l) => {
16
+ l.key === "Escape" && s();
17
+ };
18
+ return window.addEventListener("keydown", a), () => {
19
+ window.removeEventListener("keydown", a);
20
+ };
21
+ }, [s]), t(u, { children: [t(w, { children: [typeof i == "string" ? r(k, { fontWeight: "bold", lineSpacing: 1.75, mr: 1, size: "sm", children: i }) : i, t("div", { className: "flex", children: [m, r(y, { icon: "close", iconColor: c.palette.gray[300], iconSize: "xs", iconType: "fa-light", id: "modal-close", onClick: s, variant: "ghost" })] })] }), o && d(o) && !p(o) ? r(v, { mt: 0.5, size: "sm", children: o }) : o] });
22
+ };
23
+ export {
24
+ L as ModalHeader
25
+ };
@@ -1,5 +1,68 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),e=require("react"),i=require("styled-components"),t=require("../container/index.js"),o=require("../icon/index.js"),s=require("../icon-button/index.js"),a=require("../typography/heading/index.js");require("../typography/span/index.js");const r=require("../typography/text/index.js"),c=i.styled.div`
2
- ${({theme:n,$variant:e})=>`\n background: ${n.palette.white};\n border: 1px solid ${n.palette.gray[200]};\n border-radius: ${n.spacing[.25]};\n border-left: 4px solid ${n.palette[e][500]};\n box-shadow: ${n.shadows.md};\n position: relative;\n display: flex;\n width: 360px;\n padding: ${n.spacing[1.25]} ${n.spacing[1]} ${n.spacing[1.25]} ${n.spacing[.75]};\n gap: ${n.spacing[.5]};\n\n button {\n position: absolute;\n top: 20px;\n right: 16px;\n }\n `}
3
- `,l=i.styled.div`
4
- ${({theme:n,$variant:e})=>`\n height: ${n.spacing[2.5]};\n width: ${n.spacing[2.5]};\n position: relative;\n flex-shrink: 0;\n\n & .ellipse-1,\n & .ellipse-2,\n & .icon {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n position: absolute;\n }\n\n & .ellipse-1 {\n transform: scale(2.5) translate(-20%, -20%);\n color: ${n.palette[e][50]};\n position: absolute;\n }\n\n & .ellipse-2 {\n transform: scale(2) translate(-25%, -25%);\n color: ${n.palette[e][200]};\n }\n\n & .icon {\n color: ${n.palette[e][500]};\n }\n `}
5
- `;exports.Notification=({description:p,onClose:d,title:x,variant:g})=>{const h=i.useTheme(),u=e.useCallback((()=>{null==d||d()}),[d]);return n.jsxs(c,{$variant:g,className:`notification notification__${g}`,role:"alertdialog",children:[n.jsxs(l,{$variant:g,children:[n.jsx(o.Icon,{icon:"circle",iconClass:"ellipse-1",iconSize:"xs"}),n.jsx(o.Icon,{icon:"circle",iconClass:"ellipse-2",iconSize:"xs"}),n.jsx(o.Icon,{icon:($=g,"warning"===$?"triangle-exclamation":"info"===$?"circle-info":"success"===$?"circle-check":"circle-exclamation"),iconClass:"icon",iconSize:"xs",iconType:"fa-light"})]}),n.jsxs(t.Container,{pr:1.5,children:[n.jsx(a.Heading,{fontWeight:"bold",size:"xs",children:x}),n.jsx(r.Text,{size:"sm",whiteSpace:"break-spaces",wordWrap:"break-word",children:p})]}),n.jsx(s.IconButton,{height:"fit-content",icon:"close",iconColor:h.palette.gray[400],iconSize:"xs",iconType:"fa-light",onClick:u,px:.125,py:.125,variant:"ghost"})]});var $};
1
+ import { jsxs as t, jsx as o } from "react/jsx-runtime";
2
+ import { useCallback as p } from "react";
3
+ import { styled as s, useTheme as d } from "styled-components";
4
+ import { Container as m } from "../container/index.js";
5
+ import { Icon as a } from "../icon/index.js";
6
+ import { IconButton as f } from "../icon-button/index.js";
7
+ import { Heading as g } from "../typography/heading/index.js";
8
+ import "../typography/span/index.js";
9
+ import { Text as $ } from "../typography/text/index.js";
10
+ const h = s.div`
11
+ ${({ theme: i, $variant: n }) => `
12
+ background: ${i.palette.white};
13
+ border: 1px solid ${i.palette.gray[200]};
14
+ border-radius: ${i.spacing[0.25]};
15
+ border-left: 4px solid ${i.palette[n][500]};
16
+ box-shadow: ${i.shadows.md};
17
+ position: relative;
18
+ display: flex;
19
+ width: 360px;
20
+ padding: ${i.spacing[1.25]} ${i.spacing[1]} ${i.spacing[1.25]} ${i.spacing[0.75]};
21
+ gap: ${i.spacing[0.5]};
22
+
23
+ button {
24
+ position: absolute;
25
+ top: 20px;
26
+ right: 16px;
27
+ }
28
+ `}
29
+ `, x = s.div`
30
+ ${({ theme: i, $variant: n }) => `
31
+ height: ${i.spacing[2.5]};
32
+ width: ${i.spacing[2.5]};
33
+ position: relative;
34
+ flex-shrink: 0;
35
+
36
+ & .ellipse-1,
37
+ & .ellipse-2,
38
+ & .icon {
39
+ top: 50%;
40
+ left: 50%;
41
+ transform: translate(-50%, -50%);
42
+ position: absolute;
43
+ }
44
+
45
+ & .ellipse-1 {
46
+ transform: scale(2.5) translate(-20%, -20%);
47
+ color: ${i.palette[n][50]};
48
+ position: absolute;
49
+ }
50
+
51
+ & .ellipse-2 {
52
+ transform: scale(2) translate(-25%, -25%);
53
+ color: ${i.palette[n][200]};
54
+ }
55
+
56
+ & .icon {
57
+ color: ${i.palette[n][500]};
58
+ }
59
+ `}
60
+ `, b = (i) => i === "warning" ? "triangle-exclamation" : i === "info" ? "circle-info" : i === "success" ? "circle-check" : "circle-exclamation", j = ({ description: i, onClose: n, title: r, variant: e }) => {
61
+ const l = d(), c = p(() => {
62
+ n == null || n();
63
+ }, [n]);
64
+ return t(h, { $variant: e, className: `notification notification__${e}`, role: "alertdialog", children: [t(x, { $variant: e, children: [o(a, { icon: "circle", iconClass: "ellipse-1", iconSize: "xs" }), o(a, { icon: "circle", iconClass: "ellipse-2", iconSize: "xs" }), o(a, { icon: b(e), iconClass: "icon", iconSize: "xs", iconType: "fa-light" })] }), t(m, { pr: 1.5, children: [o(g, { fontWeight: "bold", size: "xs", children: r }), o($, { size: "sm", whiteSpace: "break-spaces", wordWrap: "break-word", children: i })] }), o(f, { height: "fit-content", icon: "close", iconColor: l.palette.gray[400], iconSize: "xs", iconType: "fa-light", onClick: c, px: 0.125, py: 0.125, variant: "ghost" })] });
65
+ };
66
+ export {
67
+ j as Notification
68
+ };
@@ -1,10 +1,30 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),n=require("styled-components"),r=require("../../styles-C2CoGJl7.js"),i=n.styled(r.BaseComponent)`
2
- ${({theme:e,$variant:t})=>`\n align-items: center;\n background: ${"error"===t?e.palette.primary[400]:e.palette.warning[500]};\n border-radius: 100%;\n font-family: ${e.typography.type.primary};\n justify-content: center;\n padding: 0;\n position: absolute;\n z-index: 11;\n width: ${e.spacing[.5]};\n height: ${e.spacing[.5]};\n `}
3
- `,a=n.styled.div`
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as s } from "react";
3
+ import { styled as i } from "styled-components";
4
+ import { B as p } from "../../styles-C3cZmKVJ.mjs";
5
+ const d = i(p)`
6
+ ${({ theme: t, $variant: n }) => `
7
+ align-items: center;
8
+ background: ${n === "error" ? t.palette.primary[400] : t.palette.warning[500]};
9
+ border-radius: 100%;
10
+ font-family: ${t.typography.type.primary};
11
+ justify-content: center;
12
+ padding: 0;
13
+ position: absolute;
14
+ z-index: 11;
15
+ width: ${t.spacing[0.5]};
16
+ height: ${t.spacing[0.5]};
17
+ `}
18
+ `, c = i.div`
4
19
  align-items: center;
5
- color: ${({theme:e})=>e.palette.white};
20
+ color: ${({ theme: t }) => t.palette.white};
6
21
  display: flex;
7
22
  font-size: 6px;
8
- font-weight: ${({theme:e})=>e.typography.weight.bold};
23
+ font-weight: ${({ theme: t }) => t.typography.weight.bold};
9
24
  justify-content: center;
10
- `,o=t.forwardRef((function({numberIndicator:t,show:n,variant:r="error",...o},s){return e.jsx(i,{$variant:r,className:n?"flex":"hidden","data-testid":"notification-sign",ref:s,...o,children:t&&e.jsx(a,{children:t<=9?t:9})})}));exports.NotificationSign=o;
25
+ `, g = s(function({ numberIndicator: t, show: n, variant: r = "error", ...a }, o) {
26
+ return e(d, { $variant: r, className: n ? "flex" : "hidden", "data-testid": "notification-sign", ref: o, ...a, children: t && e(c, { children: t <= 9 ? t : 9 }) });
27
+ });
28
+ export {
29
+ g as NotificationSign
30
+ };
@@ -1,17 +1,22 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("lodash"),r=require("react"),a=require("styled-components"),n=require("../../index-CmylnDrF.js"),o=a.styled.div`
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { toNumber as d, isEmpty as k } from "lodash";
3
+ import { forwardRef as w, useState as T, useCallback as l } from "react";
4
+ import { styled as g } from "styled-components";
5
+ import { T as $ } from "../../index-D-lcuEHY.mjs";
6
+ const P = g.div`
2
7
  width: fit-content;
3
- border: ${({theme:e})=>`1px solid ${e.palette.gray[300]}`};
8
+ border: ${({ theme: t }) => `1px solid ${t.palette.gray[300]}`};
4
9
  border-radius: 4px;
5
10
  background: none;
6
- color: ${({theme:e})=>e.palette.black};
7
- font-family: ${({theme:e})=>e.typography.type.primary};
8
- font-size: ${({theme:e})=>e.typography.text.md};
11
+ color: ${({ theme: t }) => t.palette.black};
12
+ font-family: ${({ theme: t }) => t.typography.type.primary};
13
+ font-size: ${({ theme: t }) => t.typography.text.md};
9
14
  height: 40px;
10
15
  display: flex;
11
16
  align-items: center;
12
17
  justify-content: center;
13
18
  padding: 0.5em;
14
- `,i=a.styled.input`
19
+ `, E = g.input`
15
20
  width: 4em;
16
21
  appearance: textfield;
17
22
  border-style: none;
@@ -31,4 +36,17 @@
31
36
  &::-webkit-inner-spin-button {
32
37
  opacity: 1;
33
38
  }
34
- `,u=r.forwardRef((function({autoUpdate:a=!1,decimalPlaces:u=0,defaultValue:l=0,max:d,min:p,name:s,onEnter:m,tooltipMessage:b,...c},g){const x=u<0?0:u,[y,h]=r.useState(Number(l).toFixed(x)),f=r.useCallback((e=>{const r=t.toNumber(e.target.value);e.target.value.endsWith(".")?h(e.target.value):r>=Number(p)&&r<=Number(d)&&(h(String(r)),a&&m(t.toNumber(r.toFixed(x)))),e.stopPropagation()}),[a,x,d,p,m]),v=r.useCallback((e=>{e.currentTarget.contains(e.relatedTarget)||h(Number(l).toFixed(x)),e.stopPropagation()}),[x,l]),N=r.useCallback((e=>{e.stopPropagation(),"Enter"!==e.key||t.isEmpty(e.currentTarget.value)||m(t.toNumber(e.currentTarget.value))}),[m]);return e.jsx(o,{onBlur:v,tabIndex:-1,children:e.jsx(n.Tooltip,{id:"numberInputTooltip",tip:b,children:e.jsx(i,{...c,"aria-label":s,"aria-valuemax":Number(d),"aria-valuemin":Number(p),"aria-valuenow":Number(y),max:d,min:p,name:s,onChange:f,onKeyUp:N,ref:g,step:10**-x,type:"number",value:y})})})}));exports.NumberInput=u;
39
+ `, U = w(function({ autoUpdate: t = !1, decimalPlaces: s = 0, defaultValue: m = 0, max: r, min: o, name: b, onEnter: n, tooltipMessage: f, ...y }, h) {
40
+ const a = s < 0 ? 0 : s, [c, p] = T(Number(m).toFixed(a)), x = l((e) => {
41
+ const i = d(e.target.value);
42
+ e.target.value.endsWith(".") ? p(e.target.value) : i >= Number(o) && i <= Number(r) && (p(String(i)), t && n(d(i.toFixed(a)))), e.stopPropagation();
43
+ }, [t, a, r, o, n]), v = l((e) => {
44
+ e.currentTarget.contains(e.relatedTarget) || p(Number(m).toFixed(a)), e.stopPropagation();
45
+ }, [a, m]), N = l((e) => {
46
+ e.stopPropagation(), e.key !== "Enter" || k(e.currentTarget.value) || n(d(e.currentTarget.value));
47
+ }, [n]);
48
+ return u(P, { onBlur: v, tabIndex: -1, children: u($, { id: "numberInputTooltip", tip: f, children: u(E, { ...y, "aria-label": b, "aria-valuemax": Number(r), "aria-valuemin": Number(o), "aria-valuenow": Number(c), max: r, min: o, name: b, onChange: x, onKeyUp: N, ref: h, step: 10 ** -a, type: "number", value: c }) }) });
49
+ });
50
+ export {
51
+ U as NumberInput
52
+ };
@@ -1 +1,26 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("react"),n=require("styled-components"),t=require("./option-container/index.js"),r=require("../button/index.js"),o=require("../container/index.js"),l=require("../../use-click-outside-BqkLISED.js");exports.OptionContainer=t.OptionContainer,exports.OAuthSelector=({align:s="end",buttonLabel:a="Add Credential",children:u,id:d,manualOption:c,providers:p})=>{const x=n.useTheme(),[b,C]=i.useState(!1),m=i.useRef(null);l.useClickOutside(m.current,(()=>{C(!1)}),!0);const j=i.useCallback((e=>{null==c||c.onClick(e),C(!1)}),[c]),h=i.useCallback((()=>{C((e=>!e))}),[C]),k=i.useCallback((e=>i=>{var n;null==(n=p[e])||n.onClick(i),C(!1)}),[p]);return e.jsxs(o.Container,{alignItems:s,display:"flex",flexDirection:"column",position:"relative",ref:m,width:"max-content",zIndex:10,children:[e.jsx(r.Button,{icon:"plus",onClick:h,variant:"primary",children:a}),e.jsxs(o.Container,{alignItems:"center",bgColor:"#fff",border:`1px solid ${x.palette.gray[200]}`,borderRadius:"4px",display:"flex",gap:.5,height:"78px",id:d,pb:.5,pl:.75,position:"absolute",pr:.75,pt:.5,shadow:"md",top:"40px",visibility:b?"visible":"hidden",zIndex:10,children:[Object.keys(p).map((i=>e.jsx(t.OptionContainer,{onClick:k(i),provider:i},i))),void 0===c?void 0:e.jsx(t.OptionContainer,{icon:"square-plus",label:c.label??"Add manually",onClick:j}),u]})]})};
1
+ import { jsxs as s, jsx as t } from "react/jsx-runtime";
2
+ import { useState as y, useRef as x, useCallback as n } from "react";
3
+ import { useTheme as O } from "styled-components";
4
+ import { OptionContainer as p } from "./option-container/index.js";
5
+ import { Button as I } from "../button/index.js";
6
+ import { Container as d } from "../container/index.js";
7
+ import { u as j } from "../../use-click-outside-BtZLIoU1.mjs";
8
+ const D = ({ align: m = "end", buttonLabel: c = "Add Credential", children: u, id: b, manualOption: e, providers: r }) => {
9
+ const f = O(), [h, o] = y(!1), a = x(null);
10
+ j(a.current, () => {
11
+ o(!1);
12
+ }, !0);
13
+ const C = n((i) => {
14
+ e == null || e.onClick(i), o(!1);
15
+ }, [e]), v = n(() => {
16
+ o((i) => !i);
17
+ }, [o]), g = n((i) => (k) => {
18
+ var l;
19
+ (l = r[i]) == null || l.onClick(k), o(!1);
20
+ }, [r]);
21
+ return s(d, { alignItems: m, display: "flex", flexDirection: "column", position: "relative", ref: a, width: "max-content", zIndex: 10, children: [t(I, { icon: "plus", onClick: v, variant: "primary", children: c }), s(d, { alignItems: "center", bgColor: "#fff", border: `1px solid ${f.palette.gray[200]}`, borderRadius: "4px", display: "flex", gap: 0.5, height: "78px", id: b, pb: 0.5, pl: 0.75, position: "absolute", pr: 0.75, pt: 0.5, shadow: "md", top: "40px", visibility: h ? "visible" : "hidden", zIndex: 10, children: [Object.keys(r).map((i) => t(p, { onClick: g(i), provider: i }, i)), e === void 0 ? void 0 : t(p, { icon: "square-plus", label: e.label ?? "Add manually", onClick: C }), u] })] });
22
+ };
23
+ export {
24
+ D as OAuthSelector,
25
+ p as OptionContainer
26
+ };
@@ -1 +1,15 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("styled-components"),i=require("../../../index-TKLFHcRp.js"),n=require("../../container/index.js"),r=require("../../icon/index.js");require("../../typography/heading/index.js"),require("../../typography/span/index.js");const o=require("../../typography/text/index.js"),a={Azure:"integrates/autoenrollment/azureIcon",Bitbucket:"integrates/autoenrollment/bitbucketLogo",GitHub:"integrates/autoenrollment/githubLogo",GitLab:"integrates/autoenrollment/gitlabIcon"};exports.OptionContainer=({icon:l,label:s,onClick:c,onlyLabel:p=!1,provider:u="GitLab"})=>{const d=t.useTheme();return e.jsxs(n.Container,{alignItems:"center",bgColorHover:d.palette.gray[100],borderRadius:"4px",cursor:"pointer",display:"flex",flexDirection:"column",gap:.25,height:"62px",justify:"center",minWidth:"64px",onClick:c,pb:.5,pl:.25,pr:.25,pt:.5,children:[!p&&e.jsx(n.Container,{height:"24px",width:"24px",children:void 0===l?e.jsx(i.MemoizedImage,{alt:`${u} Logo`,height:"100%",publicId:a[u],width:"100%"}):e.jsx(r.Icon,{icon:l,iconColor:"#000",iconSize:"sm",iconType:"fa-light"})}),e.jsx(n.Container,{alignItems:"center",display:"flex",minWidth:"24px",children:e.jsx(o.Text,{color:d.palette.gray[800],display:"inline",size:"xs",textAlign:"center",whiteSpace:p?"break-spaces":"nowrap",wordWrap:"unset",children:s??u})})]})};
1
+ import { jsxs as p, jsx as e } from "react/jsx-runtime";
2
+ import { useTheme as s } from "styled-components";
3
+ import { M as c } from "../../../index-BwFnfaRh.mjs";
4
+ import { Container as i } from "../../container/index.js";
5
+ import { Icon as m } from "../../icon/index.js";
6
+ import "../../typography/heading/index.js";
7
+ import "../../typography/span/index.js";
8
+ import { Text as g } from "../../typography/text/index.js";
9
+ const h = { Azure: "integrates/autoenrollment/azureIcon", Bitbucket: "integrates/autoenrollment/bitbucketLogo", GitHub: "integrates/autoenrollment/githubLogo", GitLab: "integrates/autoenrollment/gitlabIcon" }, L = ({ icon: o, label: a, onClick: l, onlyLabel: r = !1, provider: t = "GitLab" }) => {
10
+ const n = s();
11
+ return p(i, { alignItems: "center", bgColorHover: n.palette.gray[100], borderRadius: "4px", cursor: "pointer", display: "flex", flexDirection: "column", gap: 0.25, height: "62px", justify: "center", minWidth: "64px", onClick: l, pb: 0.5, pl: 0.25, pr: 0.25, pt: 0.5, children: [!r && e(i, { height: "24px", width: "24px", children: o === void 0 ? e(c, { alt: `${t} Logo`, height: "100%", publicId: h[t], width: "100%" }) : e(m, { icon: o, iconColor: "#000", iconSize: "sm", iconType: "fa-light" }) }), e(i, { alignItems: "center", display: "flex", minWidth: "24px", children: e(g, { color: n.palette.gray[800], display: "inline", size: "xs", textAlign: "center", whiteSpace: r ? "break-spaces" : "nowrap", wordWrap: "unset", children: a ?? t }) })] });
12
+ };
13
+ export {
14
+ L as OptionContainer
15
+ };
@@ -1,5 +1,84 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("./recommended-tag/index.js"),t=require("styled-components"),i=require("../button/index.js"),a=require("../colors/index.js"),r=require("../container/index.js"),s=require("../typography/heading/index.js");require("../typography/span/index.js");const o=require("../typography/text/index.js"),d=t.styled.div`
2
- ${({className:e,theme:n})=>`\n align-items: flex-start;\n border-radius: ${n.spacing[1]};\n background: ${n.palette.white};\n display: flex;\n flex-direction: column;\n gap: ${n.spacing[1]};\n padding: ${n.spacing[1.5]};\n position: relative;\n width: 320px;\n\n button {\n text-align: center;\n width: 100%;\n }\n\n ${"essential"===e?`border: 2px solid ${n.palette.gray[300]};`:`\n box-shadow: 0px 9px 18px 0px rgba(243, 38, 55, 0.06),\n 0px 18px 27px 0px rgba(243, 38, 55, 0.10);\n\n &::before {\n background: ${n.palette.gradients["01"]} border-box;\n border-radius: ${n.spacing[1]};\n content: "";\n position: absolute;\n inset: 0;\n border: 2px solid transparent;\n mask:\n linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);\n mask-composite: exclude;\n }\n `}\n `}
3
- `;t.styled.div`
4
- ${({className:e,theme:n})=>`\n align-items: flex-start;\n border-radius: ${n.spacing[1]};\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: ${n.spacing[1.5]};\n padding: ${n.spacing[1.5]};\n width: 466px;\n\n button {\n text-align: center;\n width: 100%;\n }\n\n ${"essential"===e?`\n background: linear-gradient(\n 180deg,\n ${n.palette.primary[400]} 0%,\n ${n.palette.black} 100%\n );`:`\n background: ${n.palette.white};\n box-shadow: 0px 9px 18px 0px rgba(243, 38, 55, 0.06),\n 0px 18px 27px 0px rgba(243, 38, 55, 0.10);\n `}\n\n @media screen and (max-width: ${n.breakpoints.mobile}) {\n width: 320px;\n }\n `}
5
- `;const p={advanced:{title:"Advanced plan",benefits:"Leverage vulnerability scanning + AI + expert intelligence",buttonText:"Contact sales",description:"For teams that want to discover risk exposure with speed and accuracy.",priceGroup:"$1,579"},essential:{title:"Essential plan",benefits:"Leverage vulnerability scanning",buttonText:"Start a 21-day free trial",description:"For teams that want to discover risk exposure quickly\n through our scanning tool.",priceAuthor:"$499",priceGroup:"$1,579"}};exports.PlanCard=({description:t,onClick:l,plan:c})=>{const{title:x,description:g,benefits:u,buttonText:b}=p[c],m=t??g;return e.jsxs(d,{className:c,children:[e.jsxs(r.Container,{display:"flex",flexDirection:"column",gap:.25,pt:"essential"===c?1.75:0,children:["advanced"===c&&e.jsx(n.RecommendedTag,{}),e.jsx(s.Heading,{color:a.theme.palette.gray[900],fontWeight:"semibold",size:"sm",sizeSm:"xs",children:x}),e.jsx(o.Text,{color:a.theme.palette.gray[400],fontWeight:"semibold",pb:"essential"===c?1.25:0,size:"sm",sizeSm:"xs",children:u})]}),e.jsx(o.Text,{lineSpacing:1.5,lineSpacingSm:1.25,pb:"advanced"===c?1.5:0,size:"md",sizeSm:"sm",children:m}),e.jsx(i.Button,{onClick:l,variant:"primary",children:b})]})};
1
+ import { jsxs as a, jsx as i } from "react/jsx-runtime";
2
+ import { RecommendedTag as g } from "./recommended-tag/index.js";
3
+ import { styled as o } from "styled-components";
4
+ import { Button as x } from "../button/index.js";
5
+ import { theme as r } from "../colors/index.js";
6
+ import { Container as b } from "../container/index.js";
7
+ import { Heading as u } from "../typography/heading/index.js";
8
+ import "../typography/span/index.js";
9
+ import { Text as s } from "../typography/text/index.js";
10
+ const f = o.div`
11
+ ${({ className: t, theme: n }) => `
12
+ align-items: flex-start;
13
+ border-radius: ${n.spacing[1]};
14
+ background: ${n.palette.white};
15
+ display: flex;
16
+ flex-direction: column;
17
+ gap: ${n.spacing[1]};
18
+ padding: ${n.spacing[1.5]};
19
+ position: relative;
20
+ width: 320px;
21
+
22
+ button {
23
+ text-align: center;
24
+ width: 100%;
25
+ }
26
+
27
+ ${t === "essential" ? `border: 2px solid ${n.palette.gray[300]};` : `
28
+ box-shadow: 0px 9px 18px 0px rgba(243, 38, 55, 0.06),
29
+ 0px 18px 27px 0px rgba(243, 38, 55, 0.10);
30
+
31
+ &::before {
32
+ background: ${n.palette.gradients["01"]} border-box;
33
+ border-radius: ${n.spacing[1]};
34
+ content: "";
35
+ position: absolute;
36
+ inset: 0;
37
+ border: 2px solid transparent;
38
+ mask:
39
+ linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
40
+ mask-composite: exclude;
41
+ }
42
+ `}
43
+ `}
44
+ `;
45
+ o.div`
46
+ ${({ className: t, theme: n }) => `
47
+ align-items: flex-start;
48
+ border-radius: ${n.spacing[1]};
49
+ display: flex;
50
+ flex-direction: column;
51
+ justify-content: center;
52
+ gap: ${n.spacing[1.5]};
53
+ padding: ${n.spacing[1.5]};
54
+ width: 466px;
55
+
56
+ button {
57
+ text-align: center;
58
+ width: 100%;
59
+ }
60
+
61
+ ${t === "essential" ? `
62
+ background: linear-gradient(
63
+ 180deg,
64
+ ${n.palette.primary[400]} 0%,
65
+ ${n.palette.black} 100%
66
+ );` : `
67
+ background: ${n.palette.white};
68
+ box-shadow: 0px 9px 18px 0px rgba(243, 38, 55, 0.06),
69
+ 0px 18px 27px 0px rgba(243, 38, 55, 0.10);
70
+ `}
71
+
72
+ @media screen and (max-width: ${n.breakpoints.mobile}) {
73
+ width: 320px;
74
+ }
75
+ `}
76
+ `;
77
+ const h = { advanced: { title: "Advanced plan", benefits: "Leverage vulnerability scanning + AI + expert intelligence", buttonText: "Contact sales", description: "For teams that want to discover risk exposure with speed and accuracy.", priceGroup: "$1,579" }, essential: { title: "Essential plan", benefits: "Leverage vulnerability scanning", buttonText: "Start a 21-day free trial", description: `For teams that want to discover risk exposure quickly
78
+ through our scanning tool.`, priceAuthor: "$499", priceGroup: "$1,579" } }, j = ({ description: t, onClick: n, plan: e }) => {
79
+ const { title: p, description: l, benefits: d, buttonText: c } = h[e], m = t ?? l;
80
+ return a(f, { className: e, children: [a(b, { display: "flex", flexDirection: "column", gap: 0.25, pt: e === "essential" ? 1.75 : 0, children: [e === "advanced" && i(g, {}), i(u, { color: r.palette.gray[900], fontWeight: "semibold", size: "sm", sizeSm: "xs", children: p }), i(s, { color: r.palette.gray[400], fontWeight: "semibold", pb: e === "essential" ? 1.25 : 0, size: "sm", sizeSm: "xs", children: d })] }), i(s, { lineSpacing: 1.5, lineSpacingSm: 1.25, pb: e === "advanced" ? 1.5 : 0, size: "md", sizeSm: "sm", children: m }), i(x, { onClick: n, variant: "primary", children: c })] });
81
+ };
82
+ export {
83
+ j as PlanCard
84
+ };
@@ -1 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../colors/index.js"),r=require("../../container/index.js");require("../../typography/heading/index.js"),require("../../typography/span/index.js");const i=require("../../typography/text/index.js");exports.RecommendedTag=()=>e.jsx(r.Container,{alignItems:"center",bgColor:t.theme.palette.primary[25],borderRadius:"8px",gap:.5,justify:"center",padding:[.125,.25,.125,.25],width:"max-content",children:e.jsx(i.Text,{bgGradient:t.theme.palette.gradients["01"],fontWeight:"semibold",size:"xs",textFill:"transparent",children:"Recommended"})});
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { theme as t } from "../../colors/index.js";
3
+ import { Container as r } from "../../container/index.js";
4
+ import "../../typography/heading/index.js";
5
+ import "../../typography/span/index.js";
6
+ import { Text as i } from "../../typography/text/index.js";
7
+ const p = () => e(r, { alignItems: "center", bgColor: t.palette.primary[25], borderRadius: "8px", gap: 0.5, justify: "center", padding: [0.125, 0.25, 0.125, 0.25], width: "max-content", children: e(i, { bgGradient: t.palette.gradients["01"], fontWeight: "semibold", size: "xs", textFill: "transparent", children: "Recommended" }) });
8
+ export {
9
+ p as RecommendedTag
10
+ };
@@ -1 +1,13 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("react"),n=require("styled-components");require("../../typography/heading/index.js");const t=require("../../typography/span/index.js"),r=require("../../typography/text/index.js");exports.Description=({description:l="",highlightDescription:s=""})=>{const p=n.useTheme(),o="string"==typeof s,g=o?"":new RegExp(`(${s.join("|")})`,"u");return s.length>0?e.jsx(r.Text,{display:"inline",lineSpacing:1.5,size:"lg",textAlign:"center",children:o?e.jsxs(i.Fragment,{children:[e.jsx(t.Span,{color:p.palette.gray[600],display:"inline",fontWeight:"bold",lineSpacing:1.5,size:"lg",children:s}),l]}):l.split(g).map(((i,n)=>s.includes(i)?e.jsx(t.Span,{color:p.palette.gray[600],display:"inline",fontWeight:"bold",lineSpacing:1.5,size:"lg",children:i},`${n+1}-bold`):i))}):e.jsx(r.Text,{lineSpacing:1.5,size:"lg",textAlign:"center",children:l})};
1
+ import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
+ import { Fragment as p } from "react";
3
+ import { useTheme as m } from "styled-components";
4
+ import "../../typography/heading/index.js";
5
+ import { Span as o } from "../../typography/span/index.js";
6
+ import { Text as s } from "../../typography/text/index.js";
7
+ const u = ({ description: n = "", highlightDescription: i = "" }) => {
8
+ const l = m(), r = typeof i == "string", a = r ? "" : new RegExp(`(${i.join("|")})`, "u");
9
+ return i.length > 0 ? e(s, { display: "inline", lineSpacing: 1.5, size: "lg", textAlign: "center", children: r ? c(p, { children: [e(o, { color: l.palette.gray[600], display: "inline", fontWeight: "bold", lineSpacing: 1.5, size: "lg", children: i }), n] }) : n.split(a).map((t, g) => i.includes(t) ? e(o, { color: l.palette.gray[600], display: "inline", fontWeight: "bold", lineSpacing: 1.5, size: "lg", children: t }, `${g + 1}-bold`) : t) }) : e(s, { lineSpacing: 1.5, size: "lg", textAlign: "center", children: n });
10
+ };
11
+ export {
12
+ u as Description
13
+ };
@@ -1 +1,23 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("lodash"),t=require("react"),r=require("react-dom"),n=require("styled-components"),l=require("./description/index.js"),o=require("../button/index.js"),a=require("../../index-TKLFHcRp.js"),d=require("../container/index.js"),s=require("../typography/heading/index.js");require("../typography/span/index.js"),require("../typography/text/index.js"),exports.PopUp=({_portal:c=!1,cancelButton:x,darkBackground:h=!1,children:u,confirmButton:p,container:g,description:j,highlightDescription:m="",image:y,maxWidth:b,title:C,titleColor:f})=>{const v=n.useTheme(),{alt:q,src:k,width:w="77px",height:I="77px"}=y,D=t.useCallback((()=>{null==x||x.onClick()}),[x]),B=t.useCallback((()=>{null==p||p.onClick()}),[p]),z=e.jsx(d.Container,{alignItems:"center","aria-label":C,"aria-modal":"true",bgColor:h?"rgba(52, 64, 84, 70%)":"",display:"flex",height:"100vh",justify:"center",left:"0",position:c?"fixed":"absolute",top:"0px",width:"100%",zIndex:99999,children:e.jsxs(d.Container,{bgColor:v.palette.white,border:`1px solid ${v.palette.gray[200]}`,borderRadius:"8px",display:"inline-flex",flexDirection:"column",maxWidth:b,pb:2.5,pl:2.5,pr:2.5,pt:2.5,shadow:"lg",width:"100%",zIndex:11,children:[e.jsxs(d.Container,{alignItems:"center",display:"flex",flexDirection:"column",width:"100%",children:[e.jsx(d.Container,{children:e.jsx(a.MemoizedImage,{alt:q,height:I,publicId:k,width:w})}),e.jsxs(d.Container,{display:"flex",flexDirection:"column",gap:.5,mb:1.5,mt:1.5,children:[e.jsx(s.Heading,{color:f,fontWeight:"bold",lineSpacing:2.5,size:"lg",textAlign:"center",children:C}),e.jsx(l.Description,{description:j,highlightDescription:m})]})]}),u&&e.jsx(d.Container,{mb:1,scroll:"y",children:e.jsx(d.Container,{height:"100%",children:u})}),e.jsxs(d.Container,{alignItems:"flex-start",display:"flex",gap:1,justify:"center",children:[i.isObject(p)?e.jsx(o.Button,{onClick:B,variant:(null==p?void 0:p.variant)??"primary",children:null==p?void 0:p.text},null==p?void 0:p.key):void 0,i.isObject(x)?e.jsx(o.Button,{onClick:D,variant:(null==x?void 0:x.variant)??"tertiary",children:null==x?void 0:x.text},null==x?void 0:x.key):void 0]})]})});return c?r.createPortal(z,g??document.body):z};
1
+ import { jsx as e, jsxs as o } from "react/jsx-runtime";
2
+ import { isObject as p } from "lodash";
3
+ import { useCallback as s } from "react";
4
+ import { createPortal as B } from "react-dom";
5
+ import { useTheme as g } from "styled-components";
6
+ import { Description as z } from "./description/index.js";
7
+ import { Button as h } from "../button/index.js";
8
+ import { M as W } from "../../index-BwFnfaRh.mjs";
9
+ import { Container as r } from "../container/index.js";
10
+ import { Heading as A } from "../typography/heading/index.js";
11
+ import "../typography/span/index.js";
12
+ import "../typography/text/index.js";
13
+ const F = ({ _portal: l = !1, cancelButton: i, darkBackground: f = !1, children: a, confirmButton: t, container: x, description: m, highlightDescription: u = "", image: b, maxWidth: y, title: n, titleColor: C }) => {
14
+ const c = g(), { alt: k, src: w, width: v = "77px", height: D = "77px" } = b, I = s(() => {
15
+ i == null || i.onClick();
16
+ }, [i]), j = s(() => {
17
+ t == null || t.onClick();
18
+ }, [t]), d = e(r, { alignItems: "center", "aria-label": n, "aria-modal": "true", bgColor: f ? "rgba(52, 64, 84, 70%)" : "", display: "flex", height: "100vh", justify: "center", left: "0", position: l ? "fixed" : "absolute", top: "0px", width: "100%", zIndex: 99999, children: o(r, { bgColor: c.palette.white, border: `1px solid ${c.palette.gray[200]}`, borderRadius: "8px", display: "inline-flex", flexDirection: "column", maxWidth: y, pb: 2.5, pl: 2.5, pr: 2.5, pt: 2.5, shadow: "lg", width: "100%", zIndex: 11, children: [o(r, { alignItems: "center", display: "flex", flexDirection: "column", width: "100%", children: [e(r, { children: e(W, { alt: k, height: D, publicId: w, width: v }) }), o(r, { display: "flex", flexDirection: "column", gap: 0.5, mb: 1.5, mt: 1.5, children: [e(A, { color: C, fontWeight: "bold", lineSpacing: 2.5, size: "lg", textAlign: "center", children: n }), e(z, { description: m, highlightDescription: u })] })] }), a && e(r, { mb: 1, scroll: "y", children: e(r, { height: "100%", children: a }) }), o(r, { alignItems: "flex-start", display: "flex", gap: 1, justify: "center", children: [p(t) ? e(h, { onClick: j, variant: (t == null ? void 0 : t.variant) ?? "primary", children: t == null ? void 0 : t.text }, t == null ? void 0 : t.key) : void 0, p(i) ? e(h, { onClick: I, variant: (i == null ? void 0 : i.variant) ?? "tertiary", children: i == null ? void 0 : i.text }, i == null ? void 0 : i.key) : void 0] })] }) });
19
+ return l ? B(d, x ?? document.body) : d;
20
+ };
21
+ export {
22
+ F as PopUp
23
+ };
@@ -1,3 +1,45 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),e=require("styled-components"),i=require("../container/index.js"),r=require("../icon/index.js");require("../typography/heading/index.js"),require("../typography/span/index.js");const o=require("../typography/text/index.js"),s=e.styled.div`
2
- ${({theme:n})=>`\n height: ${n.spacing[1]};\n width: ${n.spacing[1]};\n position: relative;\n flex-shrink: 0;\n\n & .ellipse-1,\n & .ellipse-2,\n & .icon {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n position: absolute;\n }\n\n & .ellipse-1 {\n color: ${n.palette.warning[200]};\n position: absolute;\n }\n\n & .ellipse-2 {\n transform: scale(0.75) translate(-67%, -66%);\n color: ${n.palette.warning[400]};\n }\n\n & .icon {\n color: ${n.palette.warning[600]};\n font-size: ${n.spacing[.5]};\n }\n `}
3
- `;exports.PremiumFeature=({margin:t,onClick:l,text:c})=>{const a=e.useTheme(),p=n.jsxs(s,{children:[n.jsx(r.Icon,{icon:"circle",iconClass:"ellipse-1",iconSize:"xs"}),n.jsx(r.Icon,{icon:"circle",iconClass:"ellipse-2",iconSize:"xs"}),n.jsx(r.Icon,{icon:"crown",iconClass:"icon",iconSize:"xs"})]});return void 0!==c?n.jsx(i.Container,{cursor:"pointer",display:"inline-block",mr:t,onClick:l,children:n.jsxs(i.Container,{alignItems:"center",bgColor:a.palette.warning[50],borderRadius:"4px",display:"flex",padding:[.25,.25,.25,.25],width:"fit-content",children:[p,n.jsx(o.Text,{color:a.palette.warning[500],display:"inline",ml:.25,size:"xs",children:c})]})}):n.jsx(i.Container,{display:"inline-block",mr:t,onClick:l,children:p})};
1
+ import { jsx as i, jsxs as t } from "react/jsx-runtime";
2
+ import { styled as c, useTheme as p } from "styled-components";
3
+ import { Container as a } from "../container/index.js";
4
+ import { Icon as e } from "../icon/index.js";
5
+ import "../typography/heading/index.js";
6
+ import "../typography/span/index.js";
7
+ import { Text as m } from "../typography/text/index.js";
8
+ const d = c.div`
9
+ ${({ theme: n }) => `
10
+ height: ${n.spacing[1]};
11
+ width: ${n.spacing[1]};
12
+ position: relative;
13
+ flex-shrink: 0;
14
+
15
+ & .ellipse-1,
16
+ & .ellipse-2,
17
+ & .icon {
18
+ top: 50%;
19
+ left: 50%;
20
+ transform: translate(-50%, -50%);
21
+ position: absolute;
22
+ }
23
+
24
+ & .ellipse-1 {
25
+ color: ${n.palette.warning[200]};
26
+ position: absolute;
27
+ }
28
+
29
+ & .ellipse-2 {
30
+ transform: scale(0.75) translate(-67%, -66%);
31
+ color: ${n.palette.warning[400]};
32
+ }
33
+
34
+ & .icon {
35
+ color: ${n.palette.warning[600]};
36
+ font-size: ${n.spacing[0.5]};
37
+ }
38
+ `}
39
+ `, $ = ({ margin: n, onClick: o, text: l }) => {
40
+ const s = p(), r = t(d, { children: [i(e, { icon: "circle", iconClass: "ellipse-1", iconSize: "xs" }), i(e, { icon: "circle", iconClass: "ellipse-2", iconSize: "xs" }), i(e, { icon: "crown", iconClass: "icon", iconSize: "xs" })] });
41
+ return i(a, l !== void 0 ? { cursor: "pointer", display: "inline-block", mr: n, onClick: o, children: t(a, { alignItems: "center", bgColor: s.palette.warning[50], borderRadius: "4px", display: "flex", padding: [0.25, 0.25, 0.25, 0.25], width: "fit-content", children: [r, i(m, { color: s.palette.warning[500], display: "inline", ml: 0.25, size: "xs", children: l })] }) } : { display: "inline-block", mr: n, onClick: o, children: r });
42
+ };
43
+ export {
44
+ $ as PremiumFeature
45
+ };
@@ -1 +1,14 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("styled-components"),i=require("../container/index.js"),t=require("../icon/index.js");require("../typography/heading/index.js"),require("../typography/span/index.js");const o=require("../typography/text/index.js");exports.PriorityScore=({score:n})=>{const s=r.useTheme(),a=n>66||0===n?"priority-bars-high":n<=33?"priority-bars-low":"priority-bars-medium";return e.jsxs(i.Container,{alignItems:"center",display:"inline-flex",gap:.25,children:[e.jsx(t.Icon,{icon:a,iconClass:n<=66?"fa-kit-duotone":"",iconColor:n>0?s.palette.primary[500]:s.palette.gray[200],iconSize:"xs",iconType:"fa-kit",secondaryColor:s.palette.gray[200]}),e.jsx(o.Text,{color:s.palette.gray[800],size:"sm",textAlign:"right",children:n+"%"})]})};
1
+ import { jsxs as t, jsx as i } from "react/jsx-runtime";
2
+ import { useTheme as e } from "styled-components";
3
+ import { Container as a } from "../container/index.js";
4
+ import { Icon as s } from "../icon/index.js";
5
+ import "../typography/heading/index.js";
6
+ import "../typography/span/index.js";
7
+ import { Text as n } from "../typography/text/index.js";
8
+ const x = ({ score: r }) => {
9
+ const o = e();
10
+ return t(a, { alignItems: "center", display: "inline-flex", gap: 0.25, children: [i(s, { icon: r > 66 || r === 0 ? "priority-bars-high" : r <= 33 ? "priority-bars-low" : "priority-bars-medium", iconClass: r <= 66 ? "fa-kit-duotone" : "", iconColor: r > 0 ? o.palette.primary[500] : o.palette.gray[200], iconSize: "xs", iconType: "fa-kit", secondaryColor: o.palette.gray[200] }), i(n, { color: o.palette.gray[800], size: "sm", textAlign: "right", children: r + "%" })] });
11
+ };
12
+ export {
13
+ x as PriorityScore
14
+ };
@@ -1,5 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),r=require("styled-components"),s=require("../../styles-C2CoGJl7.js"),i=require("../container/index.js"),n=r.styled(s.BaseComponent)`
2
- animation: ${({$animationTime:e})=>`progress-bar ${e}s ease-in-out`};
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { useState as p, useEffect as i } from "react";
3
+ import { styled as l, useTheme as g } from "styled-components";
4
+ import { B as h } from "../../styles-C3cZmKVJ.mjs";
5
+ import { Container as f } from "../container/index.js";
6
+ const d = l(h)`
7
+ animation: ${({ $animationTime: e }) => `progress-bar ${e}s ease-in-out`};
3
8
  animation-fill-mode: both;
4
9
 
5
10
  @keyframes progress-bar {
@@ -11,4 +16,19 @@
11
16
  width: 100%;
12
17
  }
13
18
  }
14
- `;exports.Progress=({progressTime:s=10,onComplete:o})=>{const a=r.useTheme(),[l,u]=t.useState(0);return t.useEffect((()=>{100===l&&(null==o||o())}),[l,o]),t.useEffect((()=>{const e=setInterval((()=>{u((e=>100===e?0:e+1))}),1e3*s/100);return()=>{clearInterval(e)}}),[l,s]),e.jsx(i.Container,{bgColor:a.palette.gray[200],height:"4px",children:e.jsx(n,{$animationTime:s,bgGradient:a.palette.gradients["01"],height:"100%",width:`${l}%`})})};
19
+ `, w = ({ progressTime: e = 10, onComplete: t }) => {
20
+ const s = g(), [r, m] = p(0);
21
+ return i(() => {
22
+ r === 100 && (t == null || t());
23
+ }, [r, t]), i(() => {
24
+ const n = setInterval(() => {
25
+ m((a) => a === 100 ? 0 : a + 1);
26
+ }, ((a) => 1e3 * a / 100)(e));
27
+ return () => {
28
+ clearInterval(n);
29
+ };
30
+ }, [r, e]), o(f, { bgColor: s.palette.gray[200], height: "4px", children: o(d, { $animationTime: e, bgGradient: s.palette.gradients["01"], height: "100%", width: `${r}%` }) });
31
+ };
32
+ export {
33
+ w as Progress
34
+ };