@bigbinary/neeto-molecules 3.2.17 → 3.2.19

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.
@@ -7,20 +7,29 @@ import { hyphenize } from '@bigbinary/neeto-commons-frontend/utils/general';
7
7
  import Left from '@bigbinary/neeto-icons/Left';
8
8
  import Typography from '@bigbinary/neetoui/Typography';
9
9
  import { curry, is, includes, __, all, equals, omit } from 'ramda';
10
- import { isNotEmpty, hyphenate, isPresent } from '@bigbinary/neeto-cist';
10
+ import { isNotPresent, isNotEmpty, hyphenate, isPresent } from '@bigbinary/neeto-cist';
11
11
  import { Segments } from '@bigbinary/neeto-filters-frontend';
12
12
  import { useNavigationCheckpoints } from '@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint';
13
13
  import { NavLink } from 'react-router-dom';
14
14
  import { n } from './inject-css-c86de496.js';
15
15
 
16
- var _excluded$1 = ["checkpointKey", "to", "children"];
16
+ var _excluded$2 = ["checkpointKey", "to", "children"];
17
17
  var CheckPointNavLinks = function CheckPointNavLinks(_ref) {
18
18
  var checkpointKey = _ref.checkpointKey,
19
19
  to = _ref.to,
20
20
  children = _ref.children,
21
- others = _objectWithoutProperties(_ref, _excluded$1);
21
+ others = _objectWithoutProperties(_ref, _excluded$2);
22
22
  var _useNavigationCheckpo = useNavigationCheckpoints(checkpointKey),
23
23
  checkpoint = _useNavigationCheckpo[checkpointKey];
24
+ var className = others.className,
25
+ isActive = others.isActive;
26
+ if (isNotPresent(to)) {
27
+ return /*#__PURE__*/React__default.createElement("div", _extends({}, others, {
28
+ className: classnames([className], {
29
+ active: isActive()
30
+ })
31
+ }), children);
32
+ }
24
33
  return /*#__PURE__*/React__default.createElement(NavLink, _extends({
25
34
  to: checkpoint || to
26
35
  }, others, {
@@ -56,6 +65,9 @@ var filterByPermissions = curry(function (_ref) {
56
65
  return true;
57
66
  });
58
67
 
68
+ var _excluded$1 = ["to", "label", "type", "count", "isSectionHeader", "isCountsLoading", "data-cy", "entity", "columns", "isActive"];
69
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
70
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
59
71
  var SubLink = function SubLink(_ref) {
60
72
  var to = _ref.to,
61
73
  label = _ref.label,
@@ -69,7 +81,8 @@ var SubLink = function SubLink(_ref) {
69
81
  entity = _ref$entity === void 0 ? "" : _ref$entity,
70
82
  _ref$columns = _ref.columns,
71
83
  columns = _ref$columns === void 0 ? [] : _ref$columns,
72
- isActive = _ref.isActive;
84
+ isActive = _ref.isActive,
85
+ otherProps = _objectWithoutProperties(_ref, _excluded$1);
73
86
  if (type === SUB_LINK_TYPES.SEGMENTS) {
74
87
  return /*#__PURE__*/React__default.createElement(Segments, {
75
88
  columns: columns,
@@ -84,13 +97,14 @@ var SubLink = function SubLink(_ref) {
84
97
  var isSubLinkActive = function isSubLinkActive() {
85
98
  return !isSectionHeader && (is(Function, isActive) ? isActive() : isSubRouteActive(to, location));
86
99
  };
87
- return /*#__PURE__*/React__default.createElement(CheckPointNavLinks, {
88
- to: to,
100
+ return /*#__PURE__*/React__default.createElement(CheckPointNavLinks, _extends({}, _objectSpread$2({
101
+ to: to
102
+ }, otherProps), {
89
103
  activeClassName: "active",
90
104
  className: "neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none",
91
105
  "data-cy": "".concat(dataCyPrefix, "-sub-link"),
92
106
  isActive: isSubLinkActive
93
- }, /*#__PURE__*/React__default.createElement(Typography, {
107
+ }), /*#__PURE__*/React__default.createElement(Typography, {
94
108
  className: "neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow",
95
109
  component: "span",
96
110
  "data-cy": "".concat(dataCyPrefix, "-sub-link-label"),
@@ -191,4 +205,4 @@ var Chevron = function Chevron(_ref) {
191
205
  };
192
206
 
193
207
  export { Chevron as C, Items as I, SelectedLink as S, CheckPointNavLinks as a, SELECTED_NAV_LINK_ROUTE_STORAGE_KEY as b, filterByPermissions as f, getSidebarStateLocalStorageKey as g };
194
- //# sourceMappingURL=Chevron-97e8647b.js.map
208
+ //# sourceMappingURL=Chevron-0f52b925.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chevron-0f52b925.js","sources":["../src/components/Sidebar/Components/Links/CheckPointNavLink.jsx","../src/components/Sidebar/constants.js","../src/components/Sidebar/utils.js","../src/components/Sidebar/Components/Links/SubLink.jsx","../src/components/Sidebar/Components/Links/Items.jsx","../src/components/Sidebar/Components/Links/SelectedLink.jsx","../src/components/Sidebar/Components/Chevron.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport { useNavigationCheckpoints } from \"neetocommons/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({ checkpointKey, to, children, ...others }) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n const { className, isActive } = others;\n\n if (isNotPresent(to)) {\n return (\n <div\n {...others}\n className={classNames([className], { active: isActive() })}\n >\n {children}\n </div>\n );\n }\n\n return (\n <NavLink to={checkpoint || to} {...others} key={to}>\n {children}\n </NavLink>\n );\n};\n\nexport default CheckPointNavLinks;\n","export const SUB_LINK_TYPES = {\n SYSTEM_VIEW: \"system_view\",\n SEGMENTS: \"segments\",\n};\n\nexport const SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = \"selectedNavLinkRoute\";\n","import { isNotEmpty } from \"neetocist\";\nimport { __, all, curry, equals, includes, is } from \"ramda\";\n\nexport const isSubRouteActive = (subRoute, location) => {\n const currentBrowserUrl = new URL(\n location.pathname + location.search + location.hash,\n window.location.origin\n );\n const targetUrl = new URL(subRoute, window.location.origin);\n\n const targetSearchParams = targetUrl.searchParams;\n const targetSearchKeys = Array.from(targetSearchParams.keys());\n\n return (\n all(\n key =>\n currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key),\n targetSearchKeys\n ) && equals(currentBrowserUrl.pathname, targetUrl.pathname)\n );\n};\n\nexport const getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const filterByPermissions = curry(({ permissions }) => {\n if (permissions && isNotEmpty(permissions)) {\n return is(Array, permissions)\n ? permissions.some(includes(__, globalProps.permissions))\n : globalProps.permissions.includes(permissions);\n }\n\n return true;\n});\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters\";\nimport { Typography } from \"neetoui\";\nimport { is } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../../constants\";\nimport { isSubRouteActive } from \"../../utils\";\n\nconst SubLink = ({\n to,\n label,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-cy\": dataCy,\n entity = \"\",\n columns = [],\n isActive,\n ...otherProps\n}) => {\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ columns, entity }} isIndependent={false} />;\n }\n\n const dataCyPrefix = dataCy || hyphenate(label);\n\n const renderCount = count => (count > 999 ? \"999+\" : count);\n\n const isSubLinkActive = () =>\n !isSectionHeader &&\n (is(Function, isActive) ? isActive() : isSubRouteActive(to, location));\n\n return (\n <CheckPointNavLinks\n {...{ to, ...otherProps }}\n activeClassName=\"active\"\n className=\"neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none\"\n data-cy={`${dataCyPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-count neeto-ui-flex-shrink-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-count`}\n style=\"body2\"\n >\n {isCountsLoading ? (\n <div className=\"neeto-ui-rounded neeto-ui-bg-gray-200 h-4 w-4 animate-pulse\" />\n ) : (\n renderCount(count)\n )}\n </Typography>\n </CheckPointNavLinks>\n );\n};\n\nexport default SubLink;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\n\nimport SubLink from \"./SubLink\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Items = ({ items, isSettingsItems = false, isCountsLoading }) => (\n <div\n className=\"neeto-molecules-sidebar__sublink-wrapper\"\n data-cy=\"sidebar-sub-link-wrapper\"\n >\n {items.filter(filterByPermissions).map((subItem, subIndex) => (\n <React.Fragment key={subIndex}>\n <SubLink\n {...{ ...subItem, isCountsLoading }}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n />\n {isSettingsItems && isPresent(subItem.items) && (\n <>\n <Items {...{ isSettingsItems }} items={subItem.items} />\n {items.length - 1 !== subIndex && (\n <hr className=\"neeto-molecules-sidebar__separator\" />\n )}\n </>\n )}\n </React.Fragment>\n ))}\n </div>\n);\n\nexport default Items;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Left } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport Items from \"./Items\";\n\nconst SelectedLink = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n isConfigureSidebar,\n}) => {\n const { label, items, isConfigureNavLink, ...otherProps } = navLink;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__links--focus-mode neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"configure-nav-container\"\n >\n <div\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-molecules-sidebar__link neeto-ui-border-b\"\n onClick={handleGoBack}\n {...{ ...omit([\"icon\"], otherProps) }}\n >\n {isConfigureNavLink && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-cy={`${hyphenize(label)}-go-back-button`}\n data-testid={`${label}-go-back-button`}\n >\n <Left size={16} />\n </span>\n )}\n <Typography\n component=\"span\"\n style=\"body1\"\n className={classNames(\"neeto-molecules-sidebar__link-label\", {\n \"neeto-molecules-sidebar__configure-page-header\":\n isConfigureNavLink,\n [\"pl-4\"]: isConfigureSidebar,\n })}\n >\n {label}\n </Typography>\n </div>\n {items && <Items {...{ items }} isSettingsItems />}\n </div>\n );\n};\n\nexport default SelectedLink;\n","import React from \"react\";\n\nconst Chevron = ({ style }) => (\n <svg {...{ style }} height=\"16\" viewBox=\"0 0 16 16\" width=\"16\">\n <path\n d=\"M7.07031 13.8887C7.2207 14.0391 7.40527 14.1211 7.62402 14.1211C8.06836 14.1211 8.41699 13.7725 8.41699 13.3281C8.41699 13.1094 8.32812 12.9043 8.17773 12.7539L3.37207 8.05762L8.17773 3.375C8.32812 3.21777 8.41699 3.0127 8.41699 2.80078C8.41699 2.35645 8.06836 2.00781 7.62402 2.00781C7.40527 2.00781 7.2207 2.08984 7.07031 2.24023L1.73828 7.44922C1.56055 7.62012 1.46484 7.8252 1.46484 8.06445C1.46484 8.29688 1.55371 8.49512 1.73828 8.67969L7.07031 13.8887ZM13.1748 13.8887C13.3252 14.0391 13.5098 14.1211 13.7354 14.1211C14.1797 14.1211 14.5283 13.7725 14.5283 13.3281C14.5283 13.1094 14.4395 12.9043 14.2891 12.7539L9.4834 8.05762L14.2891 3.375C14.4395 3.21777 14.5283 3.0127 14.5283 2.80078C14.5283 2.35645 14.1797 2.00781 13.7354 2.00781C13.5098 2.00781 13.3252 2.08984 13.1748 2.24023L7.84961 7.44922C7.66504 7.62012 7.57617 7.8252 7.56934 8.06445C7.56934 8.29688 7.66504 8.49512 7.84961 8.67969L13.1748 13.8887Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Chevron;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","className","isActive","isNotPresent","React","createElement","_extends","classNames","active","NavLink","key","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","isSubRouteActive","subRoute","location","currentBrowserUrl","URL","pathname","search","hash","window","origin","targetUrl","targetSearchParams","searchParams","targetSearchKeys","Array","from","keys","all","get","equals","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","user","globalProps","email","phoneNumber","concat","filterByPermissions","curry","permissions","isNotEmpty","is","some","includes","__","SubLink","label","_ref$type","type","count","isSectionHeader","isCountsLoading","dataCy","_ref$entity","entity","_ref$columns","columns","otherProps","Segments","isIndependent","dataCyPrefix","hyphenate","renderCount","isSubLinkActive","Function","_objectSpread","activeClassName","Typography","component","style","Items","items","_ref$isSettingsItems","isSettingsItems","filter","map","subItem","subIndex","_subItem$to","Fragment","isPresent","item","path","length","SelectedLink","_ref$navLink","navLink","isConfigureNavLink","handleGoBack","isConfigureSidebar","onClick","omit","hyphenize","Left","size","_defineProperty","Chevron","height","viewBox","width","d","fill"],"mappings":";;;;;;;;;;;;;;;;AAOA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAmD;AAAA,EAAA,IAA7CC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IAAEC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;AAAKC,IAAAA,MAAM,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,WAAA,CAAA,CAAA;AAClE,EAAA,IAAAC,qBAAA,GACEC,wBAAwB,CAACP,aAAa,CAAC;IADhBQ,UAAU,GAAAF,qBAAA,CAA1BN,aAAa,CAAA,CAAA;AAGtB,EAAA,IAAQS,SAAS,GAAeN,MAAM,CAA9BM,SAAS;IAAEC,QAAQ,GAAKP,MAAM,CAAnBO,QAAQ,CAAA;AAE3B,EAAA,IAAIC,YAAY,CAACV,EAAE,CAAC,EAAE;AACpB,IAAA,oBACEW,cAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,QAAA,KACMX,MAAM,EAAA;AACVM,MAAAA,SAAS,EAAEM,UAAU,CAAC,CAACN,SAAS,CAAC,EAAE;QAAEO,MAAM,EAAEN,QAAQ,EAAC;OAAG,CAAA;AAAE,KAAA,CAAA,EAE1DR,QACE,CAAC,CAAA;AAEV,GAAA;AAEA,EAAA,oBACEU,cAAA,CAAAC,aAAA,CAACI,OAAO,EAAAH,QAAA,CAAA;IAACb,EAAE,EAAEO,UAAU,IAAIP,EAAAA;AAAG,GAAA,EAAKE,MAAM,EAAA;AAAEe,IAAAA,GAAG,EAAEjB,EAAAA;AAAG,GAAA,CAAA,EAChDC,QACM,CAAC,CAAA;AAEd;;AC7BO,IAAMiB,cAAc,GAAG;AAC5BC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,QAAQ,EAAE,UAAA;AACZ,CAAC,CAAA;AAEM,IAAMC,mCAAmC,GAAG;;ACF5C,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,QAAQ,EAAEC,QAAQ,EAAK;EACtD,IAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAC/BF,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM,GAAGJ,QAAQ,CAACK,IAAI,EACnDC,MAAM,CAACN,QAAQ,CAACO,MAClB,CAAC,CAAA;AACD,EAAA,IAAMC,SAAS,GAAG,IAAIN,GAAG,CAACH,QAAQ,EAAEO,MAAM,CAACN,QAAQ,CAACO,MAAM,CAAC,CAAA;AAE3D,EAAA,IAAME,kBAAkB,GAAGD,SAAS,CAACE,YAAY,CAAA;EACjD,IAAMC,gBAAgB,GAAGC,KAAK,CAACC,IAAI,CAACJ,kBAAkB,CAACK,IAAI,EAAE,CAAC,CAAA;EAE9D,OACEC,GAAG,CACD,UAAAtB,GAAG,EAAA;AAAA,IAAA,OACDQ,iBAAiB,CAACS,YAAY,CAACM,GAAG,CAACvB,GAAG,CAAC,KAAKgB,kBAAkB,CAACO,GAAG,CAACvB,GAAG,CAAC,CAAA;AAAA,GAAA,EACzEkB,gBACF,CAAC,IAAIM,MAAM,CAAChB,iBAAiB,CAACE,QAAQ,EAAEK,SAAS,CAACL,QAAQ,CAAC,CAAA;AAE/D,CAAC,CAAA;IAEYe,8BAA8B,GAAG,SAAjCA,8BAA8BA,GAAS;EAAA,IAAAC,iBAAA,EAAAC,kBAAA,CAAA;EAClD,IAAMC,IAAI,GAAG,CAAA,CAAAF,iBAAA,GAAAG,WAAW,CAACD,IAAI,MAAAF,IAAAA,IAAAA,iBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAkBI,KAAK,MAAA,CAAAH,kBAAA,GAAIE,WAAW,CAACD,IAAI,MAAA,IAAA,IAAAD,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBI,WAAW,CAAA,CAAA;EAErE,OAAAC,eAAAA,CAAAA,MAAA,CAAuBJ,IAAI,CAAA,CAAA;AAC7B,EAAC;IAEYK,mBAAmB,GAAGC,KAAK,CAAC,UAAArD,IAAA,EAAqB;AAAA,EAAA,IAAlBsD,WAAW,GAAAtD,IAAA,CAAXsD,WAAW,CAAA;AACrD,EAAA,IAAIA,WAAW,IAAIC,UAAU,CAACD,WAAW,CAAC,EAAE;AAC1C,IAAA,OAAOE,EAAE,CAAClB,KAAK,EAAEgB,WAAW,CAAC,GACzBA,WAAW,CAACG,IAAI,CAACC,QAAQ,CAACC,EAAE,EAAEX,WAAW,CAACM,WAAW,CAAC,CAAC,GACvDN,WAAW,CAACM,WAAW,CAACI,QAAQ,CAACJ,WAAW,CAAC,CAAA;AACnD,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC;;;;;ACxBD,IAAMM,OAAO,GAAG,SAAVA,OAAOA,CAAA5D,IAAA,EAYP;AAAA,EAAA,IAXJE,EAAE,GAAAF,IAAA,CAAFE,EAAE;IACF2D,KAAK,GAAA7D,IAAA,CAAL6D,KAAK;IAAAC,SAAA,GAAA9D,IAAA,CACL+D,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAG1C,cAAc,CAACC,WAAW,GAAAyC,SAAA;IACjCE,KAAK,GAAAhE,IAAA,CAALgE,KAAK;IACLC,eAAe,GAAAjE,IAAA,CAAfiE,eAAe;IACfC,eAAe,GAAAlE,IAAA,CAAfkE,eAAe;IACJC,MAAM,GAAAnE,IAAA,CAAjB,SAAS,CAAA;IAAAoE,WAAA,GAAApE,IAAA,CACTqE,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAE,YAAA,GAAAtE,IAAA,CACXuE,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IACZ3D,QAAQ,GAAAX,IAAA,CAARW,QAAQ;AACL6D,IAAAA,UAAU,GAAAnE,wBAAA,CAAAL,IAAA,EAAAM,WAAA,CAAA,CAAA;AAEb,EAAA,IAAIyD,IAAI,KAAK3C,cAAc,CAACE,QAAQ,EAAE;AACpC,IAAA,oBAAOT,cAAA,CAAAC,aAAA,CAAC2D,QAAQ,EAAA;AAAOF,MAAAA,OAAO,EAAPA,OAAO;AAAEF,MAAAA,MAAM,EAANA,MAAM;AAAIK,MAAAA,aAAa,EAAE,KAAA;AAAM,KAAE,CAAC,CAAA;AACpE,GAAA;AAEA,EAAA,IAAMC,YAAY,GAAGR,MAAM,IAAIS,SAAS,CAACf,KAAK,CAAC,CAAA;AAE/C,EAAA,IAAMgB,WAAW,GAAG,SAAdA,WAAWA,CAAGb,KAAK,EAAA;AAAA,IAAA,OAAKA,KAAK,GAAG,GAAG,GAAG,MAAM,GAAGA,KAAK,CAAA;GAAC,CAAA;AAE3D,EAAA,IAAMc,eAAe,GAAG,SAAlBA,eAAeA,GAAA;IAAA,OACnB,CAACb,eAAe,KACfT,EAAE,CAACuB,QAAQ,EAAEpE,QAAQ,CAAC,GAAGA,QAAQ,EAAE,GAAGa,gBAAgB,CAACtB,EAAE,EAAEwB,QAAQ,CAAC,CAAC,CAAA;AAAA,GAAA,CAAA;EAExE,oBACEb,cAAA,CAAAC,aAAA,CAACf,kBAAkB,EAAAgB,QAAA,KAAAiE,eAAA,CAAA;AACX9E,IAAAA,EAAE,EAAFA,EAAAA;AAAE,GAAA,EAAKsE,UAAU,CAAA,EAAA;AACvBS,IAAAA,eAAe,EAAC,QAAQ;AACxBvE,IAAAA,SAAS,EAAC,2FAA2F;IACrG,SAAAyC,EAAAA,EAAAA,CAAAA,MAAA,CAAYwB,YAAY,EAAY,WAAA,CAAA;AACpChE,IAAAA,QAAQ,EAAEmE,eAAAA;AAAgB,GAAA,CAAA,eAE1BjE,cAAA,CAAAC,aAAA,CAACoE,UAAU,EAAA;AACTxE,IAAAA,SAAS,EAAC,4DAA4D;AACtEyE,IAAAA,SAAS,EAAC,MAAM;IAChB,SAAAhC,EAAAA,EAAAA,CAAAA,MAAA,CAAYwB,YAAY,EAAkB,iBAAA,CAAA;AAC1CS,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAEZvB,KACS,CAAC,eACbhD,cAAA,CAAAC,aAAA,CAACoE,UAAU,EAAA;AACTxE,IAAAA,SAAS,EAAC,gEAAgE;AAC1EyE,IAAAA,SAAS,EAAC,MAAM;IAChB,SAAAhC,EAAAA,EAAAA,CAAAA,MAAA,CAAYwB,YAAY,EAAkB,iBAAA,CAAA;AAC1CS,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAEZlB,eAAe,gBACdrD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKJ,IAAAA,SAAS,EAAC,6DAAA;AAA6D,GAAE,CAAC,GAE/EmE,WAAW,CAACb,KAAK,CAET,CACM,CAAC,CAAA;AAEzB,CAAC;;;;AC3DD,IAAMqB,KAAK,GAAG,SAARA,KAAKA,CAAArF,IAAA,EAAA;AAAA,EAAA,IAAMsF,KAAK,GAAAtF,IAAA,CAALsF,KAAK;IAAAC,oBAAA,GAAAvF,IAAA,CAAEwF,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAErB,eAAe,GAAAlE,IAAA,CAAfkE,eAAe,CAAA;EAAA,oBAC9DrD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEJ,IAAAA,SAAS,EAAC,0CAA0C;IACpD,SAAQ,EAAA,0BAAA;AAA0B,GAAA,EAEjC4E,KAAK,CAACG,MAAM,CAACrC,mBAAmB,CAAC,CAACsC,GAAG,CAAC,UAACC,OAAO,EAAEC,QAAQ,EAAA;AAAA,IAAA,IAAAC,WAAA,CAAA;AAAA,IAAA,oBACvDhF,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACiF,QAAQ,EAAA;AAAC3E,MAAAA,GAAG,EAAEyE,QAAAA;AAAS,KAAA,eAC5B/E,cAAA,CAAAC,aAAA,CAAC8C,OAAO,EAAA7C,QAAA,CAAA,EAAA,EAAAiE,eAAA,CAAAA,eAAA,CAAA,EAAA,EACGW,OAAO,CAAA,EAAA,EAAA,EAAA;AAAEzB,MAAAA,eAAe,EAAfA,eAAAA;AAAe,KAAA,CAAA,EAAA;MACjCvD,QAAQ,EAAEgF,OAAO,CAAChF,QAAS;AAC3BsD,MAAAA,eAAe,EAAE8B,SAAS,CAACJ,OAAO,CAACK,IAAI,CAAE;AACzC9F,MAAAA,EAAE,EAAA2F,CAAAA,WAAA,GAAEF,OAAO,CAACzF,EAAE,MAAA2F,IAAAA,IAAAA,WAAA,KAAAA,KAAAA,CAAAA,GAAAA,WAAA,GAAIF,OAAO,CAACM,IAAAA;KAC3B,CAAA,CAAC,EACDT,eAAe,IAAIO,SAAS,CAACJ,OAAO,CAACL,KAAK,CAAC,iBAC1CzE,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAiF,QAAA,qBACEjF,cAAA,CAAAC,aAAA,CAACuE,KAAK,EAAA;AAAOG,MAAAA,eAAe,EAAfA,eAAe;MAAIF,KAAK,EAAEK,OAAO,CAACL,KAAAA;AAAM,KAAE,CAAC,EACvDA,KAAK,CAACY,MAAM,GAAG,CAAC,KAAKN,QAAQ,iBAC5B/E,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIJ,MAAAA,SAAS,EAAC,oCAAA;KAAsC,CAEtD,CAEU,CAAC,CAAA;AAAA,GAClB,CACE,CAAC,CAAA;AAAA;;;;;ACrBR,IAAMyF,YAAY,GAAG,SAAfA,YAAYA,CAAAnG,IAAA,EAIZ;AAAA,EAAA,IAAAoG,YAAA,GAAApG,IAAA,CAHJqG,OAAO;IAAPA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA;AAAEvC,MAAAA,KAAK,EAAE,EAAE;AAAEyB,MAAAA,KAAK,EAAE,EAAE;AAAEgB,MAAAA,kBAAkB,EAAE,KAAA;AAAM,KAAC,GAAAF,YAAA;IAC7DG,YAAY,GAAAvG,IAAA,CAAZuG,YAAY;IACZC,kBAAkB,GAAAxG,IAAA,CAAlBwG,kBAAkB,CAAA;AAElB,EAAA,IAAQ3C,KAAK,GAA+CwC,OAAO,CAA3DxC,KAAK;IAAEyB,KAAK,GAAwCe,OAAO,CAApDf,KAAK;IAAEgB,kBAAkB,GAAoBD,OAAO,CAA7CC,kBAAkB;AAAK9B,IAAAA,UAAU,GAAAnE,wBAAA,CAAKgG,OAAO,EAAA/F,SAAA,CAAA,CAAA;EAEnE,oBACEO,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEJ,IAAAA,SAAS,EAAC,kHAAkH;IAC5H,SAAQ,EAAA,yBAAA;AAAyB,GAAA,eAEjCG,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,QAAA,CAAA;AACEL,IAAAA,SAAS,EAAC,2GAA2G;AACrH+F,IAAAA,OAAO,EAAEF,YAAAA;AAAa,GAAA,EAAAvB,aAAA,CAAA,EAAA,EACb0B,IAAI,CAAC,CAAC,MAAM,CAAC,EAAElC,UAAU,CAAC,CAElC8B,CAAAA,EAAAA,kBAAkB,iBACjBzF,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEJ,IAAAA,SAAS,EAAC,oCAAoC;AAC9C,IAAA,SAAA,EAAA,EAAA,CAAAyC,MAAA,CAAYwD,SAAS,CAAC9C,KAAK,CAAC,EAAkB,iBAAA,CAAA;IAC9C,aAAAV,EAAAA,EAAAA,CAAAA,MAAA,CAAgBU,KAAK,EAAA,iBAAA,CAAA;AAAkB,GAAA,eAEvChD,cAAA,CAAAC,aAAA,CAAC8F,IAAI,EAAA;AAACC,IAAAA,IAAI,EAAE,EAAA;AAAG,GAAE,CACb,CACP,eACDhG,cAAA,CAAAC,aAAA,CAACoE,UAAU,EAAA;AACTC,IAAAA,SAAS,EAAC,MAAM;AAChBC,IAAAA,KAAK,EAAC,OAAO;AACb1E,IAAAA,SAAS,EAAEM,UAAU,CAAC,qCAAqC,EAAA8F,eAAA,CAAA;AACzD,MAAA,gDAAgD,EAC9CR,kBAAAA;KACD,EAAA,MAAM,EAAGE,kBAAkB,CAC7B,CAAA;GAEA3C,EAAAA,KACS,CACT,CAAC,EACLyB,KAAK,iBAAIzE,cAAA,CAAAC,aAAA,CAACuE,KAAK,EAAA;AAAOC,IAAAA,KAAK,EAALA,KAAK;IAAIE,eAAe,EAAA,IAAA;AAAA,GAAE,CAC9C,CAAC,CAAA;AAEV;;;;;ACjDA,IAAMuB,OAAO,GAAG,SAAVA,OAAOA,CAAA/G,IAAA,EAAA;AAAA,EAAA,IAAMoF,KAAK,GAAApF,IAAA,CAALoF,KAAK,CAAA;EAAA,oBACtBvE,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAWsE,IAAAA,KAAK,EAALA,KAAK;AAAI4B,IAAAA,MAAM,EAAC,IAAI;AAACC,IAAAA,OAAO,EAAC,WAAW;AAACC,IAAAA,KAAK,EAAC,IAAA;GACxDrG,eAAAA,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEqG,IAAAA,CAAC,EAAC,y5BAAy5B;AAC35BC,IAAAA,IAAI,EAAC,cAAA;AAAc,GACpB,CACE,CAAC,CAAA;AAAA;;;;"}
@@ -5,7 +5,7 @@ import Button from '@bigbinary/neetoui/Button';
5
5
  import { not } from 'ramda';
6
6
  import { useTranslation } from 'react-i18next';
7
7
  import { useHistory } from 'react-router-dom';
8
- import { S as SelectedLink, C as Chevron } from './Chevron-97e8647b.js';
8
+ import { S as SelectedLink, C as Chevron } from './Chevron-0f52b925.js';
9
9
  import '@babel/runtime/helpers/extends';
10
10
  import '@babel/runtime/helpers/defineProperty';
11
11
  import '@babel/runtime/helpers/objectWithoutProperties';
@@ -31,10 +31,20 @@ import '@babel/runtime/helpers/objectWithoutProperties';
31
31
  import '@bigbinary/neeto-icons/MenuHorizontal';
32
32
  import '@bigbinary/neeto-icons/MenuVertical';
33
33
  import '@bigbinary/neetoui/Dropdown';
34
+ import '@babel/runtime/helpers/asyncToGenerator';
35
+ import '@babel/runtime/regenerator';
34
36
  import '@bigbinary/neeto-commons-frontend/react-utils/withT';
35
37
  import '@bigbinary/neeto-icons/ExternalLink';
36
38
  import '@bigbinary/neeto-icons/Undo';
37
39
  import '@bigbinary/neetoui/Alert';
40
+ import '@bigbinary/neetoui/Pane';
41
+ import '@bigbinary/neetoui/Switch';
42
+ import 'dayjs';
43
+ import 'dayjs/plugin/timezone';
44
+ import 'dayjs/plugin/utc';
45
+ import '@bigbinary/neeto-team-members-frontend';
46
+ import '@bigbinary/neetoui/DatePicker';
47
+ import '@bigbinary/neeto-commons-frontend/initializers';
38
48
 
39
49
  var DEFAULT_HOME_BUTTON_PROPS = {
40
50
  tooltip: {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationHeader.js","sources":["../src/components/NavigationHeader/constants.jsx","../src/components/NavigationHeader/LeftBlock.jsx","../src/components/NavigationHeader/Navigation.jsx","../src/components/NavigationHeader/RightBlock.jsx","../src/components/NavigationHeader/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Home } from \"neetoicons\";\n\nexport const DEFAULT_HOME_BUTTON_PROPS = {\n tooltip: {\n content: t(\"neetoMolecules.navigationHeader.home\"),\n position: \"bottom\",\n },\n homeUrl: \"/\",\n icon: <Home />,\n};\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeDeepRight } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport Rename from \"components/Rename\";\n\nimport { DEFAULT_HOME_BUTTON_PROPS } from \"./constants\";\n\nconst LeftBlock = ({\n homeButtonProps: customHomeButtonProps,\n homeUrl,\n renameProps,\n children,\n}) => {\n const homeButtonProps = mergeDeepRight(\n DEFAULT_HOME_BUTTON_PROPS,\n customHomeButtonProps\n );\n\n return (\n <div\n className=\"flex items-center gap-1 md:gap-2\"\n data-cy=\"navigation-header-left-block\"\n data-testid=\"navigation-header-left-block\"\n >\n <Tooltip\n content={homeButtonProps.tooltip.content}\n position={homeButtonProps.tooltip.position}\n >\n <Link data-cy=\"home-button\" data-testid=\"home-button\" to={homeUrl}>\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-200 p-1\">\n {homeButtonProps.icon}\n </div>\n </Link>\n </Tooltip>\n {isPresent(renameProps) && (\n <Rename\n dropdownItems={renameProps.dropdownItems}\n value={renameProps.value}\n {...renameProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nLeftBlock.propTypes = {\n /**\n * Object containing the home button icon and the props to be passed to the tooltip of the home button.\n */\n homeButtonProps: PropTypes.shape({\n tooltip: PropTypes.shape({\n content: PropTypes.string,\n postition: PropTypes.string,\n }),\n icon: PropTypes.node,\n }),\n /**\n * URL to navigate when the home button is clicked.\n */\n homeUrl: PropTypes.string.isRequired,\n /**\n * Props to be passed to the `Rename` component. Please check the `Rename` component props for more details\n */\n renameProps: PropTypes.object,\n /**\n * To render extra content in the block.\n */\n children: PropTypes.node,\n};\n\nexport default LeftBlock;\n","import React from \"react\";\n\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { NavLink } from \"react-router-dom\";\n\nconst NavigationLinks = ({ headerLinks }) => (\n <div\n className=\"flex w-full items-center justify-between gap-4 md:justify-center md:gap-3 lg:gap-6\"\n data-cy=\"navigation-header-navigation-links\"\n data-testid=\"navigation-header-navigation-links\"\n >\n {headerLinks.map(headerLink => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-molecules-navigation-header__link px-2 capitalize no-underline md:px-0\"\n data-cy={`${joinHyphenCase(headerLink.key)}-tab`}\n key={headerLink.key}\n {...headerLink}\n >\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {headerLink.label}\n </Typography>\n </NavLink>\n ))}\n </div>\n);\n\nNavigationLinks.propTypes = {\n /**\n * Links to be rendered in the center of the navigation header. It is an array of objects.\n * Each object should have the properties `key`, `to` and `label`. Other props will be passed on to the `Navlink` component from\n `react-router-dom`.\n */\n headerLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n })\n ),\n};\n\nexport default NavigationLinks;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport PublishBlock from \"components/PublishBlock\";\n\nimport \"./navigation-header.scss\";\n\nconst RightBlock = ({\n isDraftBlockHidden,\n previewDraftUrl,\n isResetDraftButtonVisible,\n onResetClick,\n isResetting,\n isPublishDisabled,\n isPublishing,\n handlePublish,\n isPublishPreviewDisabled,\n previewPublishedUrl,\n isPublishButtonVisible,\n isResetAlertOpen,\n setIsResetAlertOpen,\n handleReset,\n publishAlertTitle,\n publishAlertDescription,\n publishButtonProps = {},\n}) => {\n const { t } = useTranslation();\n\n const renderDraftButtons = ({ ViewDraftButton, ResetDraftButton }) =>\n !isDraftBlockHidden && (\n <>\n <ViewDraftButton to={previewDraftUrl} />\n {isResetDraftButtonVisible && (\n <ResetDraftButton\n loading={isResetting}\n onClick={() => onResetClick()}\n />\n )}\n </>\n );\n\n const renderPublishButtons = ({ PublishButton, PublishPreviewButton }) => (\n <>\n {isPublishButtonVisible && (\n <PublishButton\n disabled={isPublishDisabled}\n loading={isPublishing}\n onClick={() => handlePublish()}\n {...publishButtonProps}\n />\n )}\n <PublishPreviewButton\n disabled={isPublishPreviewDisabled}\n to={previewPublishedUrl}\n className={classNames({\n \"standalone-publish-preview-button\": !isPublishButtonVisible,\n })}\n />\n </>\n );\n\n return (\n <>\n <PublishBlock {...{ renderDraftButtons, renderPublishButtons }} />\n <PublishBlock.Alert\n isOpen={isResetAlertOpen}\n isSubmitting={isResetting}\n message={\n publishAlertDescription ||\n t(\"neetoMolecules.navigationHeader.resetDescription\")\n }\n title={\n publishAlertTitle || t(\"neetoMolecules.navigationHeader.resetTitle\")\n }\n onClose={() => setIsResetAlertOpen(false)}\n onSubmit={handleReset}\n />\n </>\n );\n};\n\nRightBlock.propTypes = {\n /**\n * To show/hide the draft block.\n */\n isDraftBlockHidden: PropTypes.bool,\n /**\n * Draft preview URL, when the draft button is clicked user will be redirected to this URL.\n */\n previewDraftUrl: PropTypes.string,\n /**\n * Boolean to control the visibility of reset draft button.\n */\n isResetDraftButtonVisible: PropTypes.bool,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n onResetClick: PropTypes.func,\n /**\n * Setting this to `true` will show a spinner on the reset button. Use when the reset process is in progress.\n */\n isResetting: PropTypes.bool,\n /**\n * To disable the publish button.\n */\n isPublishDisabled: PropTypes.bool,\n /**\n * Setting this to `true` will show a spinner on the publish button. Use when the publish process is in progress.\n */\n isPublishing: PropTypes.bool,\n /**\n * Callback function that will be called when the publish button is clicked.\n */\n handlePublish: PropTypes.func,\n /**\n * To disable the publish preview button.\n */\n isPublishPreviewDisabled: PropTypes.bool,\n /**\n * Publish preview URL, when the preview publish button is clicked user will be redirected to this URL.\n */\n previewPublishedUrl: PropTypes.string,\n /**\n * Boolean to control whether the user have the ability to publish.\n */\n isPublishButtonVisible: PropTypes.bool,\n /**\n * Boolean to control whether the reset alert is open.\n */\n isResetAlertOpen: PropTypes.bool,\n /**\n * Handler to control the `isResetAlert` state variable.\n */\n setIsResetAlertOpen: PropTypes.func,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n handleReset: PropTypes.func,\n /**\n * Description to be shown in the publish alert\n */\n publishAlertDescription: PropTypes.string,\n /**\n * Title of the publish alert\n */\n publishAlertTitle: PropTypes.string,\n /**\n * Props to be passed to the publish button\n */\n publishButtonProps: PropTypes.object,\n};\n\nexport default RightBlock;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport { filter, length } from \"ramda\";\n\nimport LeftBlock from \"./LeftBlock\";\nimport NavigationLinks from \"./Navigation\";\nimport RightBlock from \"./RightBlock\";\n\nconst NavigationHeader = ({\n leftActionBlock,\n navigationLinks,\n rightActionBlock,\n}) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n const numberOfChildren = length(\n filter(isPresent, [leftActionBlock, navigationLinks, rightActionBlock])\n );\n\n return (\n <div className=\"w-full\">\n <div\n className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white flex h-16 w-full flex-shrink-0 items-center overflow-x-auto border-b px-2 py-2 md:px-4 lg:px-6\"\n data-cy=\"navigation-header\"\n data-testid=\"navigation-header\"\n >\n <div\n className=\"grid w-full gap-4\"\n style={{\n gridTemplateColumns: isMobile\n ? `repeat(${numberOfChildren - 1}, 1fr)`\n : `repeat(${numberOfChildren}, 1fr)`,\n }}\n >\n {leftActionBlock}\n {!isMobile && navigationLinks}\n {rightActionBlock}\n </div>\n </div>\n {isMobile && (\n <div className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white ßflex-shrink-0 flex items-center overflow-x-auto border-b px-4 py-2 lg:px-6\">\n {navigationLinks}\n </div>\n )}\n </div>\n );\n};\n\nNavigationHeader.LeftActionBlock = LeftBlock;\nNavigationHeader.NavigationLinks = NavigationLinks;\nNavigationHeader.RightActionBlock = RightBlock;\n\nNavigationHeader.propTypes = {\n /**\n * To specify the content to be rendered in the left side of the `NavigationHeader`.\n */\n leftActionBlock: PropTypes.node,\n /**\n * To specify the content to be rendered at the center of the `NavigationHeader`.\n */\n navigationLinks: PropTypes.node,\n /**\n * To specify the content to be rendered in the right side of the `NavigationHeader`.\n */\n rightActionBlock: PropTypes.node,\n};\n\nexport default NavigationHeader;\n"],"names":["DEFAULT_HOME_BUTTON_PROPS","tooltip","content","t","position","homeUrl","icon","React","createElement","Home","LeftBlock","_ref","customHomeButtonProps","homeButtonProps","renameProps","children","mergeDeepRight","className","Tooltip","Link","to","isPresent","Rename","_extends","dropdownItems","value","NavigationLinks","headerLinks","map","headerLink","NavLink","activeClassName","concat","joinHyphenCase","key","Typography","lineHeight","style","weight","label","RightBlock","isDraftBlockHidden","previewDraftUrl","isResetDraftButtonVisible","onResetClick","isResetting","isPublishDisabled","isPublishing","handlePublish","isPublishPreviewDisabled","previewPublishedUrl","isPublishButtonVisible","isResetAlertOpen","setIsResetAlertOpen","handleReset","publishAlertTitle","publishAlertDescription","_ref$publishButtonPro","publishButtonProps","_useTranslation","useTranslation","renderDraftButtons","_ref2","ViewDraftButton","ResetDraftButton","Fragment","loading","onClick","renderPublishButtons","_ref3","PublishButton","PublishPreviewButton","disabled","classNames","PublishBlock","Alert","isOpen","isSubmitting","message","title","onClose","onSubmit","NavigationHeader","leftActionBlock","navigationLinks","rightActionBlock","_useBreakpoints","useBreakpoints","isSize","isMobile","numberOfChildren","length","filter","gridTemplateColumns","LeftActionBlock","RightActionBlock"],"mappings":"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"}
1
+ {"version":3,"file":"NavigationHeader.js","sources":["../src/components/NavigationHeader/constants.jsx","../src/components/NavigationHeader/LeftBlock.jsx","../src/components/NavigationHeader/Navigation.jsx","../src/components/NavigationHeader/RightBlock.jsx","../src/components/NavigationHeader/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Home } from \"neetoicons\";\n\nexport const DEFAULT_HOME_BUTTON_PROPS = {\n tooltip: {\n content: t(\"neetoMolecules.navigationHeader.home\"),\n position: \"bottom\",\n },\n homeUrl: \"/\",\n icon: <Home />,\n};\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeDeepRight } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport Rename from \"components/Rename\";\n\nimport { DEFAULT_HOME_BUTTON_PROPS } from \"./constants\";\n\nconst LeftBlock = ({\n homeButtonProps: customHomeButtonProps,\n homeUrl,\n renameProps,\n children,\n}) => {\n const homeButtonProps = mergeDeepRight(\n DEFAULT_HOME_BUTTON_PROPS,\n customHomeButtonProps\n );\n\n return (\n <div\n className=\"flex items-center gap-1 md:gap-2\"\n data-cy=\"navigation-header-left-block\"\n data-testid=\"navigation-header-left-block\"\n >\n <Tooltip\n content={homeButtonProps.tooltip.content}\n position={homeButtonProps.tooltip.position}\n >\n <Link data-cy=\"home-button\" data-testid=\"home-button\" to={homeUrl}>\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-200 p-1\">\n {homeButtonProps.icon}\n </div>\n </Link>\n </Tooltip>\n {isPresent(renameProps) && (\n <Rename\n dropdownItems={renameProps.dropdownItems}\n value={renameProps.value}\n {...renameProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nLeftBlock.propTypes = {\n /**\n * Object containing the home button icon and the props to be passed to the tooltip of the home button.\n */\n homeButtonProps: PropTypes.shape({\n tooltip: PropTypes.shape({\n content: PropTypes.string,\n postition: PropTypes.string,\n }),\n icon: PropTypes.node,\n }),\n /**\n * URL to navigate when the home button is clicked.\n */\n homeUrl: PropTypes.string.isRequired,\n /**\n * Props to be passed to the `Rename` component. Please check the `Rename` component props for more details\n */\n renameProps: PropTypes.object,\n /**\n * To render extra content in the block.\n */\n children: PropTypes.node,\n};\n\nexport default LeftBlock;\n","import React from \"react\";\n\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { NavLink } from \"react-router-dom\";\n\nconst NavigationLinks = ({ headerLinks }) => (\n <div\n className=\"flex w-full items-center justify-between gap-4 md:justify-center md:gap-3 lg:gap-6\"\n data-cy=\"navigation-header-navigation-links\"\n data-testid=\"navigation-header-navigation-links\"\n >\n {headerLinks.map(headerLink => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-molecules-navigation-header__link px-2 capitalize no-underline md:px-0\"\n data-cy={`${joinHyphenCase(headerLink.key)}-tab`}\n key={headerLink.key}\n {...headerLink}\n >\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {headerLink.label}\n </Typography>\n </NavLink>\n ))}\n </div>\n);\n\nNavigationLinks.propTypes = {\n /**\n * Links to be rendered in the center of the navigation header. It is an array of objects.\n * Each object should have the properties `key`, `to` and `label`. Other props will be passed on to the `Navlink` component from\n `react-router-dom`.\n */\n headerLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n })\n ),\n};\n\nexport default NavigationLinks;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport PublishBlock from \"components/PublishBlock\";\n\nimport \"./navigation-header.scss\";\n\nconst RightBlock = ({\n isDraftBlockHidden,\n previewDraftUrl,\n isResetDraftButtonVisible,\n onResetClick,\n isResetting,\n isPublishDisabled,\n isPublishing,\n handlePublish,\n isPublishPreviewDisabled,\n previewPublishedUrl,\n isPublishButtonVisible,\n isResetAlertOpen,\n setIsResetAlertOpen,\n handleReset,\n publishAlertTitle,\n publishAlertDescription,\n publishButtonProps = {},\n}) => {\n const { t } = useTranslation();\n\n const renderDraftButtons = ({ ViewDraftButton, ResetDraftButton }) =>\n !isDraftBlockHidden && (\n <>\n <ViewDraftButton to={previewDraftUrl} />\n {isResetDraftButtonVisible && (\n <ResetDraftButton\n loading={isResetting}\n onClick={() => onResetClick()}\n />\n )}\n </>\n );\n\n const renderPublishButtons = ({ PublishButton, PublishPreviewButton }) => (\n <>\n {isPublishButtonVisible && (\n <PublishButton\n disabled={isPublishDisabled}\n loading={isPublishing}\n onClick={() => handlePublish()}\n {...publishButtonProps}\n />\n )}\n <PublishPreviewButton\n disabled={isPublishPreviewDisabled}\n to={previewPublishedUrl}\n className={classNames({\n \"standalone-publish-preview-button\": !isPublishButtonVisible,\n })}\n />\n </>\n );\n\n return (\n <>\n <PublishBlock {...{ renderDraftButtons, renderPublishButtons }} />\n <PublishBlock.Alert\n isOpen={isResetAlertOpen}\n isSubmitting={isResetting}\n message={\n publishAlertDescription ||\n t(\"neetoMolecules.navigationHeader.resetDescription\")\n }\n title={\n publishAlertTitle || t(\"neetoMolecules.navigationHeader.resetTitle\")\n }\n onClose={() => setIsResetAlertOpen(false)}\n onSubmit={handleReset}\n />\n </>\n );\n};\n\nRightBlock.propTypes = {\n /**\n * To show/hide the draft block.\n */\n isDraftBlockHidden: PropTypes.bool,\n /**\n * Draft preview URL, when the draft button is clicked user will be redirected to this URL.\n */\n previewDraftUrl: PropTypes.string,\n /**\n * Boolean to control the visibility of reset draft button.\n */\n isResetDraftButtonVisible: PropTypes.bool,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n onResetClick: PropTypes.func,\n /**\n * Setting this to `true` will show a spinner on the reset button. Use when the reset process is in progress.\n */\n isResetting: PropTypes.bool,\n /**\n * To disable the publish button.\n */\n isPublishDisabled: PropTypes.bool,\n /**\n * Setting this to `true` will show a spinner on the publish button. Use when the publish process is in progress.\n */\n isPublishing: PropTypes.bool,\n /**\n * Callback function that will be called when the publish button is clicked.\n */\n handlePublish: PropTypes.func,\n /**\n * To disable the publish preview button.\n */\n isPublishPreviewDisabled: PropTypes.bool,\n /**\n * Publish preview URL, when the preview publish button is clicked user will be redirected to this URL.\n */\n previewPublishedUrl: PropTypes.string,\n /**\n * Boolean to control whether the user have the ability to publish.\n */\n isPublishButtonVisible: PropTypes.bool,\n /**\n * Boolean to control whether the reset alert is open.\n */\n isResetAlertOpen: PropTypes.bool,\n /**\n * Handler to control the `isResetAlert` state variable.\n */\n setIsResetAlertOpen: PropTypes.func,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n handleReset: PropTypes.func,\n /**\n * Description to be shown in the publish alert\n */\n publishAlertDescription: PropTypes.string,\n /**\n * Title of the publish alert\n */\n publishAlertTitle: PropTypes.string,\n /**\n * Props to be passed to the publish button\n */\n publishButtonProps: PropTypes.object,\n};\n\nexport default RightBlock;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport { filter, length } from \"ramda\";\n\nimport LeftBlock from \"./LeftBlock\";\nimport NavigationLinks from \"./Navigation\";\nimport RightBlock from \"./RightBlock\";\n\nconst NavigationHeader = ({\n leftActionBlock,\n navigationLinks,\n rightActionBlock,\n}) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n const numberOfChildren = length(\n filter(isPresent, [leftActionBlock, navigationLinks, rightActionBlock])\n );\n\n return (\n <div className=\"w-full\">\n <div\n className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white flex h-16 w-full flex-shrink-0 items-center overflow-x-auto border-b px-2 py-2 md:px-4 lg:px-6\"\n data-cy=\"navigation-header\"\n data-testid=\"navigation-header\"\n >\n <div\n className=\"grid w-full gap-4\"\n style={{\n gridTemplateColumns: isMobile\n ? `repeat(${numberOfChildren - 1}, 1fr)`\n : `repeat(${numberOfChildren}, 1fr)`,\n }}\n >\n {leftActionBlock}\n {!isMobile && navigationLinks}\n {rightActionBlock}\n </div>\n </div>\n {isMobile && (\n <div className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white ßflex-shrink-0 flex items-center overflow-x-auto border-b px-4 py-2 lg:px-6\">\n {navigationLinks}\n </div>\n )}\n </div>\n );\n};\n\nNavigationHeader.LeftActionBlock = LeftBlock;\nNavigationHeader.NavigationLinks = NavigationLinks;\nNavigationHeader.RightActionBlock = RightBlock;\n\nNavigationHeader.propTypes = {\n /**\n * To specify the content to be rendered in the left side of the `NavigationHeader`.\n */\n leftActionBlock: PropTypes.node,\n /**\n * To specify the content to be rendered at the center of the `NavigationHeader`.\n */\n navigationLinks: PropTypes.node,\n /**\n * To specify the content to be rendered in the right side of the `NavigationHeader`.\n */\n rightActionBlock: PropTypes.node,\n};\n\nexport default NavigationHeader;\n"],"names":["DEFAULT_HOME_BUTTON_PROPS","tooltip","content","t","position","homeUrl","icon","React","createElement","Home","LeftBlock","_ref","customHomeButtonProps","homeButtonProps","renameProps","children","mergeDeepRight","className","Tooltip","Link","to","isPresent","Rename","_extends","dropdownItems","value","NavigationLinks","headerLinks","map","headerLink","NavLink","activeClassName","concat","joinHyphenCase","key","Typography","lineHeight","style","weight","label","RightBlock","isDraftBlockHidden","previewDraftUrl","isResetDraftButtonVisible","onResetClick","isResetting","isPublishDisabled","isPublishing","handlePublish","isPublishPreviewDisabled","previewPublishedUrl","isPublishButtonVisible","isResetAlertOpen","setIsResetAlertOpen","handleReset","publishAlertTitle","publishAlertDescription","_ref$publishButtonPro","publishButtonProps","_useTranslation","useTranslation","renderDraftButtons","_ref2","ViewDraftButton","ResetDraftButton","Fragment","loading","onClick","renderPublishButtons","_ref3","PublishButton","PublishPreviewButton","disabled","classNames","PublishBlock","Alert","isOpen","isSubmitting","message","title","onClose","onSubmit","NavigationHeader","leftActionBlock","navigationLinks","rightActionBlock","_useBreakpoints","useBreakpoints","isSize","isMobile","numberOfChildren","length","filter","gridTemplateColumns","LeftActionBlock","RightActionBlock"],"mappings":"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"}
@@ -1,17 +1,31 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
4
  import _extends from '@babel/runtime/helpers/extends';
3
5
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
- import React__default from 'react';
6
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
7
+ import React__default, { useState, useEffect } from 'react';
5
8
  import classnames from 'classnames';
6
- import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
9
+ import withT$1 from '@bigbinary/neeto-commons-frontend/react-utils/withT';
7
10
  import ExternalLink from '@bigbinary/neeto-icons/ExternalLink';
8
11
  import Undo from '@bigbinary/neeto-icons/Undo';
9
12
  import Button from '@bigbinary/neetoui/Button';
10
13
  import Tooltip from '@bigbinary/neetoui/Tooltip';
11
14
  import Typography from '@bigbinary/neetoui/Typography';
12
- import { useTranslation } from 'react-i18next';
15
+ import { isEmpty } from 'ramda';
16
+ import { useTranslation, Trans } from 'react-i18next';
13
17
  import Alert from '@bigbinary/neetoui/Alert';
14
18
  import { n } from './inject-css-c86de496.js';
19
+ import { dynamicArray, noop } from '@bigbinary/neeto-cist';
20
+ import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
21
+ import Pane from '@bigbinary/neetoui/Pane';
22
+ import Switch from '@bigbinary/neetoui/Switch';
23
+ import dayjs from 'dayjs';
24
+ import timezone from 'dayjs/plugin/timezone';
25
+ import utc from 'dayjs/plugin/utc';
26
+ import { Profile } from '@bigbinary/neeto-team-members-frontend';
27
+ import DatePicker from '@bigbinary/neetoui/DatePicker';
28
+ import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
15
29
 
16
30
  var AlertBlock = function AlertBlock(props) {
17
31
  var _useTranslation = useTranslation(),
@@ -26,13 +40,206 @@ var AlertBlock = function AlertBlock(props) {
26
40
  var css = ".neeto-molecules-publish-block{align-items:center;display:flex;gap:12px;justify-content:flex-end}.neeto-molecules-publish-block__action-btn{align-items:center;display:inline-flex;flex-direction:row;gap:1px;justify-content:center}.neeto-molecules-publish-block__action-btn>div:first-child>.neeto-ui-btn{border-bottom-right-radius:0;border-top-right-radius:0}.neeto-molecules-publish-block__action-btn>.neeto-ui-btn:last-child{border-bottom-left-radius:0;border-top-left-radius:0}";
27
41
  n(css,{});
28
42
 
43
+ var _globalProps$user;
44
+ var TIME_FORMAT = "h a";
45
+ var DATE_FORMAT = ((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.dateFormat) || "DD/MM/YYYY";
46
+
47
+ var disabledDate = function disabledDate(current) {
48
+ return current && current < dayjs().startOf("day");
49
+ };
50
+ var disabledTime = function disabledTime(selectedDate) {
51
+ var current = dayjs(selectedDate).startOf("day");
52
+ var today = dayjs().startOf("day");
53
+ if (current.isBefore(today)) {
54
+ return {
55
+ disabledHours: function disabledHours() {
56
+ return dynamicArray(24, function (i) {
57
+ return i;
58
+ });
59
+ }
60
+ };
61
+ }
62
+ if (current.isSame(today)) {
63
+ var currentTime = dayjs();
64
+ return {
65
+ disabledHours: function disabledHours() {
66
+ return dynamicArray(currentTime.hour() + 1, function (i) {
67
+ return i;
68
+ });
69
+ }
70
+ };
71
+ }
72
+ return {};
73
+ };
74
+ var getDefaultDate = function getDefaultDate() {
75
+ var currDate = new Date();
76
+ currDate.setHours(currDate.getHours() + 1);
77
+ if (currDate.getMinutes() > 30) {
78
+ currDate.setHours(currDate.getHours() + 1);
79
+ }
80
+ return dayjs(currDate);
81
+ };
82
+
83
+ dayjs.extend(utc);
84
+ dayjs.extend(timezone);
85
+ var Form = function Form(_ref) {
86
+ var datetimeValue = _ref.datetimeValue,
87
+ setDatetimeValue = _ref.setDatetimeValue,
88
+ onClose = _ref.onClose;
89
+ var _useTranslation = useTranslation(),
90
+ t = _useTranslation.t;
91
+ var _Profile$usePaneState = Profile.usePaneState(),
92
+ _Profile$usePaneState2 = _slicedToArray(_Profile$usePaneState, 2);
93
+ _Profile$usePaneState2[0];
94
+ var setIsProfilePaneOpen = _Profile$usePaneState2[1];
95
+ return /*#__PURE__*/React__default.createElement("div", {
96
+ className: "space-y-1"
97
+ }, /*#__PURE__*/React__default.createElement(DatePicker, {
98
+ disabledDate: disabledDate,
99
+ required: true,
100
+ showTime: true,
101
+ allowClear: false,
102
+ "data-cy": "publish-later-datepicker-input-field",
103
+ "data-testid": "publish-later-datepicker-input-field",
104
+ dateFormat: DATE_FORMAT,
105
+ label: t("neetoMolecules.publishBlock.dateTime"),
106
+ timeFormat: TIME_FORMAT,
107
+ value: datetimeValue,
108
+ timePickerProps: {
109
+ "data-cy": "publish-later-timepicker-input-field",
110
+ "data-testid": "publish-later-timepicker-input-field",
111
+ clearIcon: false,
112
+ disabledTime: disabledTime
113
+ },
114
+ onChange: function onChange(date) {
115
+ return setDatetimeValue(date);
116
+ }
117
+ }), /*#__PURE__*/React__default.createElement(Typography, {
118
+ style: "body3"
119
+ }, /*#__PURE__*/React__default.createElement(Trans, {
120
+ i18nKey: "neetoMolecules.publishBlock.timezoneDescription",
121
+ values: {
122
+ timezone: dayjs.tz.guess()
123
+ },
124
+ components: {
125
+ button: /*#__PURE__*/React__default.createElement(Button, {
126
+ size: "small",
127
+ style: "link",
128
+ onClick: function onClick() {
129
+ onClose();
130
+ setIsProfilePaneOpen(true);
131
+ }
132
+ })
133
+ }
134
+ })));
135
+ };
136
+
137
+ var PublishLater = function PublishLater(_ref) {
138
+ var setDatetimeValue = _ref.setDatetimeValue,
139
+ datetimeValue = _ref.datetimeValue,
140
+ onClose = _ref.onClose,
141
+ isPublishLaterChecked = _ref.isPublishLaterChecked,
142
+ setIsPublishLaterChecked = _ref.setIsPublishLaterChecked;
143
+ var _useTranslation = useTranslation(),
144
+ t = _useTranslation.t;
145
+ var handleChangeSwitch = function handleChangeSwitch(event) {
146
+ var checked = event.target.checked;
147
+ setDatetimeValue(checked ? getDefaultDate() : "");
148
+ setIsPublishLaterChecked(checked);
149
+ };
150
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
151
+ className: "mb-6"
152
+ }, /*#__PURE__*/React__default.createElement("div", {
153
+ className: "flex w-full items-center space-x-2 py-1"
154
+ }, /*#__PURE__*/React__default.createElement(Switch, {
155
+ checked: isPublishLaterChecked,
156
+ "data-cy": "publish-later-switch",
157
+ "data-testid": "publish-later-switch",
158
+ onChange: handleChangeSwitch
159
+ }), /*#__PURE__*/React__default.createElement(Typography, {
160
+ style: "h4",
161
+ weight: "medium"
162
+ }, t("neetoMolecules.publishBlock.publishLater"))), /*#__PURE__*/React__default.createElement(Typography, {
163
+ className: "mb-6",
164
+ style: "body3",
165
+ weight: "medium"
166
+ }, t("neetoMolecules.publishBlock.helperText"))), isPublishLaterChecked && /*#__PURE__*/React__default.createElement(Form, {
167
+ datetimeValue: datetimeValue,
168
+ onClose: onClose,
169
+ setDatetimeValue: setDatetimeValue
170
+ }));
171
+ };
172
+
173
+ var PublishSettings = withT(function (_ref) {
174
+ var t = _ref.t,
175
+ isSettingsPaneOpen = _ref.isSettingsPaneOpen,
176
+ _onClose = _ref.onClose,
177
+ _ref$isSubmitting = _ref.isSubmitting,
178
+ isSubmitting = _ref$isSubmitting === void 0 ? false : _ref$isSubmitting,
179
+ _ref$onPublish = _ref.onPublish,
180
+ onPublish = _ref$onPublish === void 0 ? noop : _ref$onPublish,
181
+ datetimeValue = _ref.datetimeValue,
182
+ setDatetimeValue = _ref.setDatetimeValue,
183
+ _ref$onCancel = _ref.onCancel,
184
+ onCancel = _ref$onCancel === void 0 ? noop : _ref$onCancel,
185
+ isPublishLaterChecked = _ref.isPublishLaterChecked,
186
+ setIsPublishLaterChecked = _ref.setIsPublishLaterChecked;
187
+ return /*#__PURE__*/React__default.createElement(Pane, {
188
+ isOpen: isSettingsPaneOpen,
189
+ onClose: function onClose() {
190
+ return onCancel({
191
+ onClose: _onClose
192
+ });
193
+ }
194
+ }, /*#__PURE__*/React__default.createElement(Pane.Header, null, /*#__PURE__*/React__default.createElement(Typography, {
195
+ "data-cy": "publish-pane-heading",
196
+ "data-testid": "publish-pane-heading",
197
+ lineHeight: "normal",
198
+ style: "h2",
199
+ weight: "semibold"
200
+ }, t("neetoMolecules.publishBlock.publishSettings"))), /*#__PURE__*/React__default.createElement(Pane.Body, null, /*#__PURE__*/React__default.createElement("div", {
201
+ className: "w-full space-y-1"
202
+ }, /*#__PURE__*/React__default.createElement(PublishLater, {
203
+ datetimeValue: datetimeValue,
204
+ isPublishLaterChecked: isPublishLaterChecked,
205
+ onClose: _onClose,
206
+ setDatetimeValue: setDatetimeValue,
207
+ setIsPublishLaterChecked: setIsPublishLaterChecked
208
+ }))), /*#__PURE__*/React__default.createElement(Pane.Footer, {
209
+ className: "space-x-2"
210
+ }, /*#__PURE__*/React__default.createElement(Button, {
211
+ "data-cy": "publish-submit-button",
212
+ "data-testid": "publish-submit-button",
213
+ disabled: isSubmitting,
214
+ loading: isSubmitting,
215
+ label: isPublishLaterChecked ? t("neetoMolecules.publishBlock.publishLater") : t("neetoMolecules.publishBlock.publishNow"),
216
+ onClick: function onClick() {
217
+ return onPublish({
218
+ isPublishLaterChecked: isPublishLaterChecked,
219
+ datetimeValue: datetimeValue,
220
+ onClose: _onClose
221
+ });
222
+ }
223
+ }), /*#__PURE__*/React__default.createElement(Button, {
224
+ "data-cy": "publish-cancel-button",
225
+ "data-testid": "publish-cancel-button",
226
+ label: t("neetoMolecules.common.actions.cancel"),
227
+ style: "text",
228
+ onClick: function onClick() {
229
+ return onCancel({
230
+ onClose: _onClose
231
+ });
232
+ }
233
+ })));
234
+ });
235
+
29
236
  var _excluded = ["t"],
30
237
  _excluded2 = ["t"],
31
- _excluded3 = ["t", "tooltipProps", "showTooltipWhenDisabled", "disabled"],
238
+ _excluded3 = ["tooltipProps", "showTooltipWhenDisabled", "disabled", "publishPaneProps", "onClick"],
32
239
  _excluded4 = ["t"];
33
240
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
34
241
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
35
- var ViewDraftButton = withT(function (_ref) {
242
+ var ViewDraftButton = withT$1(function (_ref) {
36
243
  var t = _ref.t,
37
244
  props = _objectWithoutProperties(_ref, _excluded);
38
245
  return /*#__PURE__*/React__default.createElement(Button, _extends({
@@ -47,7 +254,7 @@ var ViewDraftButton = withT(function (_ref) {
47
254
  }
48
255
  }, props));
49
256
  });
50
- var ResetDraftButton = withT(function (_ref2) {
257
+ var ResetDraftButton = withT$1(function (_ref2) {
51
258
  var t = _ref2.t,
52
259
  props = _objectWithoutProperties(_ref2, _excluded2);
53
260
  return /*#__PURE__*/React__default.createElement(Button, _extends({
@@ -61,27 +268,102 @@ var ResetDraftButton = withT(function (_ref2) {
61
268
  }
62
269
  }, props));
63
270
  });
64
- var PublishButton = withT(function (_ref3) {
65
- var t = _ref3.t,
66
- tooltipProps = _ref3.tooltipProps,
271
+ var PublishButton = function PublishButton(_ref3) {
272
+ var tooltipProps = _ref3.tooltipProps,
67
273
  _ref3$showTooltipWhen = _ref3.showTooltipWhenDisabled,
68
274
  showTooltipWhenDisabled = _ref3$showTooltipWhen === void 0 ? false : _ref3$showTooltipWhen,
69
275
  _ref3$disabled = _ref3.disabled,
70
276
  disabled = _ref3$disabled === void 0 ? false : _ref3$disabled,
277
+ _ref3$publishPaneProp = _ref3.publishPaneProps,
278
+ publishPaneProps = _ref3$publishPaneProp === void 0 ? {} : _ref3$publishPaneProp,
279
+ onClick = _ref3.onClick,
71
280
  props = _objectWithoutProperties(_ref3, _excluded3);
72
- return /*#__PURE__*/React__default.createElement(Tooltip, _extends({}, tooltipProps, {
281
+ var _useTranslation = useTranslation(),
282
+ t = _useTranslation.t;
283
+ var onPublish = publishPaneProps.onPublish,
284
+ onCancel = publishPaneProps.onCancel,
285
+ isSubmitting = publishPaneProps.isSubmitting,
286
+ datetime = publishPaneProps.datetime;
287
+ var isPublishLaterDisabled = isEmpty(publishPaneProps);
288
+ var _useState = useState(false),
289
+ _useState2 = _slicedToArray(_useState, 2),
290
+ isSettingsPaneOpen = _useState2[0],
291
+ setIsSettingsPaneOpen = _useState2[1];
292
+ var _useState3 = useState(datetime),
293
+ _useState4 = _slicedToArray(_useState3, 2),
294
+ datetimeValue = _useState4[0],
295
+ setDatetimeValue = _useState4[1];
296
+ var _useState5 = useState(!!datetime),
297
+ _useState6 = _slicedToArray(_useState5, 2),
298
+ isPublishLaterChecked = _useState6[0],
299
+ setIsPublishLaterChecked = _useState6[1];
300
+ var handleClick = /*#__PURE__*/function () {
301
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
302
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
303
+ while (1) switch (_context.prev = _context.next) {
304
+ case 0:
305
+ if (!isPublishLaterDisabled) {
306
+ _context.next = 5;
307
+ break;
308
+ }
309
+ _context.next = 3;
310
+ return onClick === null || onClick === void 0 ? void 0 : onClick();
311
+ case 3:
312
+ _context.next = 7;
313
+ break;
314
+ case 5:
315
+ _context.next = 7;
316
+ return onClick === null || onClick === void 0 ? void 0 : onClick({
317
+ setIsSettingsPaneOpen: setIsSettingsPaneOpen
318
+ });
319
+ case 7:
320
+ if (!isPublishLaterDisabled) {
321
+ _context.next = 9;
322
+ break;
323
+ }
324
+ return _context.abrupt("return");
325
+ case 9:
326
+ setDatetimeValue(datetime || "");
327
+ setIsPublishLaterChecked(!!datetime);
328
+ case 11:
329
+ case "end":
330
+ return _context.stop();
331
+ }
332
+ }, _callee);
333
+ }));
334
+ return function handleClick() {
335
+ return _ref4.apply(this, arguments);
336
+ };
337
+ }();
338
+ useEffect(function () {
339
+ setDatetimeValue(datetime);
340
+ }, [datetime]);
341
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Tooltip, _extends({}, tooltipProps, {
73
342
  disabled: !tooltipProps || !showTooltipWhenDisabled && disabled
74
343
  }), /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Button, _extends({
75
344
  "data-cy": "publish-button",
76
345
  "data-testid": "publish-button",
77
- label: t("neetoMolecules.common.actions.publish")
346
+ label: t("neetoMolecules.common.actions.publish"),
347
+ onClick: handleClick
78
348
  }, _objectSpread({
79
349
  disabled: disabled
80
- }, props)))));
81
- });
82
- var PublishPreviewButton = withT(function (_ref4) {
83
- var t = _ref4.t,
84
- props = _objectWithoutProperties(_ref4, _excluded4);
350
+ }, props))))), /*#__PURE__*/React__default.createElement(PublishSettings, {
351
+ datetimeValue: datetimeValue,
352
+ isPublishLaterChecked: isPublishLaterChecked,
353
+ isSettingsPaneOpen: isSettingsPaneOpen,
354
+ isSubmitting: isSubmitting,
355
+ onCancel: onCancel,
356
+ onPublish: onPublish,
357
+ setDatetimeValue: setDatetimeValue,
358
+ setIsPublishLaterChecked: setIsPublishLaterChecked,
359
+ onClose: function onClose() {
360
+ return setIsSettingsPaneOpen(false);
361
+ }
362
+ }));
363
+ };
364
+ var PublishPreviewButton = withT$1(function (_ref5) {
365
+ var t = _ref5.t,
366
+ props = _objectWithoutProperties(_ref5, _excluded4);
85
367
  return /*#__PURE__*/React__default.createElement(Button, _extends({
86
368
  "data-cy": "publish-preview-button",
87
369
  "data-testid": "publish-preview-button",
@@ -96,11 +378,11 @@ var PublishPreviewButton = withT(function (_ref4) {
96
378
  }
97
379
  }, props));
98
380
  });
99
- var PublishBlock = function PublishBlock(_ref5) {
100
- var renderDraftButtons = _ref5.renderDraftButtons,
101
- renderPublishButtons = _ref5.renderPublishButtons;
102
- var _useTranslation = useTranslation(),
103
- t = _useTranslation.t;
381
+ var PublishBlock = function PublishBlock(_ref6) {
382
+ var renderDraftButtons = _ref6.renderDraftButtons,
383
+ renderPublishButtons = _ref6.renderPublishButtons;
384
+ var _useTranslation2 = useTranslation(),
385
+ t = _useTranslation2.t;
104
386
  var draftBlockButtons = renderDraftButtons({
105
387
  ViewDraftButton: ViewDraftButton,
106
388
  ResetDraftButton: ResetDraftButton