@economic/taco 1.26.0 → 1.26.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. package/dist/components/Header/Header.d.ts +1 -1
  2. package/dist/components/Header/components/Agreement/Avatar.d.ts +7 -0
  3. package/dist/components/Header/components/Agreement/Badge.d.ts +6 -0
  4. package/dist/components/Header/components/Agreement/Display.d.ts +9 -0
  5. package/dist/components/Header/components/Agreement/Item.d.ts +8 -0
  6. package/dist/components/Header/components/{Agreements/AgreementDetails.d.ts → Agreement/types.d.ts} +0 -7
  7. package/dist/components/Header/components/AgreementSelector.d.ts +8 -6
  8. package/dist/esm/packages/taco/src/components/Header/Header.js.map +1 -1
  9. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Avatar.js +28 -0
  10. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Avatar.js.map +1 -0
  11. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Badge.js +23 -0
  12. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Badge.js.map +1 -0
  13. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Display.js +36 -0
  14. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Display.js.map +1 -0
  15. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js +39 -0
  16. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js.map +1 -0
  17. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +17 -16
  18. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -1
  19. package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js +3 -2
  20. package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js.map +1 -1
  21. package/dist/esm/packages/taco/src/index.js +1 -1
  22. package/dist/taco.cjs.development.js +103 -69
  23. package/dist/taco.cjs.development.js.map +1 -1
  24. package/dist/taco.cjs.production.min.js +1 -1
  25. package/dist/taco.cjs.production.min.js.map +1 -1
  26. package/package.json +2 -2
  27. package/types.json +177 -115
  28. package/dist/esm/packages/taco/src/components/Header/components/Agreements/AgreementDetails.js +0 -73
  29. package/dist/esm/packages/taco/src/components/Header/components/Agreements/AgreementDetails.js.map +0 -1
@@ -14904,8 +14904,9 @@ const Logo = /*#__PURE__*/React__default.forwardRef(function Logo(props, ref) {
14904
14904
  const getChildWidths = parent => {
14905
14905
  const widths = [];
14906
14906
  for (let index = 0; index < parent.children.length; index++) {
14907
- const childRect = parent.children[index].getBoundingClientRect();
14908
- widths.push(childRect.width);
14907
+ var _parent$children$inde, _childRect$width;
14908
+ const childRect = (_parent$children$inde = parent.children[index].firstElementChild) === null || _parent$children$inde === void 0 ? void 0 : _parent$children$inde.getBoundingClientRect();
14909
+ widths.push((_childRect$width = childRect === null || childRect === void 0 ? void 0 : childRect.width) !== null && _childRect$width !== void 0 ? _childRect$width : 0);
14909
14910
  }
14910
14911
  return widths;
14911
14912
  };
@@ -15041,31 +15042,58 @@ const MenuButton = /*#__PURE__*/React__default.forwardRef(function MenuButton(pr
15041
15042
  }));
15042
15043
  });
15043
15044
 
15044
- const AgreementDetails = props => {
15045
+ const AgreementAvatar = /*#__PURE__*/React__default.forwardRef(function AgreementAvatar(props, ref) {
15045
15046
  const {
15046
- children,
15047
- className: customClassName,
15048
- fallbackImageSrc,
15049
- ...agreement
15047
+ src,
15048
+ fallbackSrc,
15049
+ ...otherProps
15050
15050
  } = props;
15051
- const className = cn('w-full rounded flex w-full px-1.5 xl:px-2 gap-2 overflow-hidden text-left items-center', customClassName);
15052
- let badge;
15051
+ const [loaded, setLoaded] = React__default.useState(false);
15052
+ const handleLoad = () => setLoaded(true);
15053
+ const handleError = event => {
15054
+ event.target.src = fallbackSrc;
15055
+ };
15056
+ const className = cn('h-9 w-9 rounded-full shrink-0 group-focus:yt-focus-dark xl:group-focus:shadow-none', {
15057
+ visible: loaded
15058
+ }, props.className);
15059
+ return /*#__PURE__*/React__default.createElement("img", Object.assign({}, otherProps, {
15060
+ className: className,
15061
+ src: src,
15062
+ onLoad: handleLoad,
15063
+ onError: handleError,
15064
+ ref: ref
15065
+ }));
15066
+ });
15067
+
15068
+ const AgreementBadge = ({
15069
+ agreement,
15070
+ ...props
15071
+ }) => {
15053
15072
  if (agreement.isAdministrator) {
15054
- badge = /*#__PURE__*/React__default.createElement(Badge, {
15073
+ return /*#__PURE__*/React__default.createElement(Badge, Object.assign({}, props, {
15055
15074
  color: "blue",
15056
- small: true,
15057
- className: "ml-2"
15058
- }, "Admin");
15075
+ small: true
15076
+ }), "Admin");
15059
15077
  } else if (agreement.isDeveloper) {
15060
- badge = /*#__PURE__*/React__default.createElement(Badge, {
15078
+ return /*#__PURE__*/React__default.createElement(Badge, Object.assign({}, props, {
15061
15079
  color: "blue",
15062
- small: true,
15063
- className: "ml-2"
15064
- }, "Developer");
15080
+ small: true
15081
+ }), "Developer");
15065
15082
  }
15083
+ return null;
15084
+ };
15085
+
15086
+ const AgreementItem = props => {
15087
+ const {
15088
+ children,
15089
+ className: customClassName,
15090
+ fallbackImageSrc,
15091
+ ...agreement
15092
+ } = props;
15093
+ const className = cn('w-full rounded flex px-2 gap-2 overflow-hidden text-left items-center', customClassName);
15066
15094
  return /*#__PURE__*/React__default.createElement("span", {
15067
15095
  className: className
15068
- }, /*#__PURE__*/React__default.createElement(Image, {
15096
+ }, /*#__PURE__*/React__default.createElement(AgreementAvatar, {
15069
15097
  fallbackSrc: fallbackImageSrc,
15070
15098
  src: agreement.imageSrc,
15071
15099
  title: `${agreement.name} - ${agreement.number} ${agreement.userId}`
@@ -15081,50 +15109,60 @@ const AgreementDetails = props => {
15081
15109
  className: "ml-1 mt-0.5 mb-0.5 !h-4 !w-4 flex-shrink-0 flex-grow-0"
15082
15110
  }) : null), /*#__PURE__*/React__default.createElement("span", {
15083
15111
  className: "text-grey-100 whitespace-nowrap text-xs"
15084
- }, agreement.number, " ", agreement.userId, " ", badge)), children);
15112
+ }, agreement.number, " ", agreement.userId, " ", /*#__PURE__*/React__default.createElement(AgreementBadge, {
15113
+ agreement: agreement
15114
+ }))), children);
15085
15115
  };
15086
- const Image = /*#__PURE__*/React__default.forwardRef(function AccountImage(props, ref) {
15116
+
15117
+ const useMatchMedia = (query, defaultMatches = false) => {
15118
+ const [matches, setMatches] = React__default.useState(defaultMatches);
15119
+ const handleChange = React__default.useCallback(event => setMatches(event.matches), []);
15120
+ React__default.useEffect(() => {
15121
+ const mediaQuery = window.matchMedia(query);
15122
+ setMatches(mediaQuery.matches);
15123
+ mediaQuery.addEventListener('change', handleChange);
15124
+ return () => {
15125
+ mediaQuery.removeEventListener('change', handleChange);
15126
+ };
15127
+ }, []);
15128
+ return matches;
15129
+ };
15130
+
15131
+ const AgreementDisplay = props => {
15087
15132
  const {
15088
- src,
15089
- fallbackSrc,
15090
- ...otherProps
15133
+ children,
15134
+ currentAgreement,
15135
+ fallbackImageSrc
15091
15136
  } = props;
15092
- const [loaded, setLoaded] = React__default.useState(false);
15093
- const handleLoad = () => setLoaded(true);
15094
- const handleError = event => {
15095
- event.target.src = fallbackSrc;
15096
- };
15097
- const className = cn('h-9 w-9 rounded-full shrink-0 group-focus:yt-focus-dark xl:group-focus:shadow-none', {
15098
- visible: loaded
15099
- }, props.className);
15100
- return /*#__PURE__*/React__default.createElement("img", Object.assign({}, otherProps, {
15101
- className: className,
15102
- src: src,
15103
- onLoad: handleLoad,
15104
- onError: handleError,
15105
- alt: "Company logo",
15106
- ref: ref
15137
+ const isXlScreen = useMatchMedia('(min-width: 1280px)', window.innerWidth > 1280);
15138
+ if (isXlScreen) {
15139
+ const className = cn('h-12 flex-grow xl:[button>&]:hover:bg-white/[0.16]', props.className);
15140
+ return /*#__PURE__*/React__default.createElement(AgreementItem, Object.assign({}, currentAgreement, {
15141
+ children: children,
15142
+ className: className,
15143
+ fallbackImageSrc: fallbackImageSrc
15144
+ }));
15145
+ }
15146
+ return /*#__PURE__*/React__default.createElement("span", {
15147
+ className: "relative flex h-12 flex-grow items-center pr-2"
15148
+ }, /*#__PURE__*/React__default.createElement(AgreementAvatar, {
15149
+ fallbackSrc: fallbackImageSrc,
15150
+ src: currentAgreement.imageSrc,
15151
+ title: `${currentAgreement.name} - ${currentAgreement.number} ${currentAgreement.userId}`
15152
+ }), /*#__PURE__*/React__default.createElement(AgreementBadge, {
15153
+ agreement: currentAgreement,
15154
+ className: "absolute top-0 right-0 -mr-1 w-8 !justify-start"
15107
15155
  }));
15108
- });
15156
+ };
15109
15157
 
15110
15158
  const Container$1 = props => {
15111
15159
  return /*#__PURE__*/React__default.createElement("div", {
15112
- className: "-ml-3 flex flex-shrink-0 flex-grow-0 items-center gap-2 xl:ml-auto xl:w-64 xl:pr-2",
15160
+ className: "-ml-2 flex flex-shrink-0 flex-grow-0 items-center gap-2 pr-2 xl:ml-auto xl:w-64",
15113
15161
  "data-taco": "header-agreements"
15114
15162
  }, /*#__PURE__*/React__default.createElement("span", {
15115
15163
  className: "hidden h-8 w-px flex-shrink-0 flex-grow-0 bg-white/[0.3] xl:flex"
15116
15164
  }), props.children);
15117
15165
  };
15118
- function AgreementDisplay(props) {
15119
- const {
15120
- currentAgreement,
15121
- fallbackImageSrc
15122
- } = props;
15123
- return /*#__PURE__*/React__default.createElement(Container$1, null, /*#__PURE__*/React__default.createElement(AgreementDetails, Object.assign({}, currentAgreement, {
15124
- className: "h-12 [&>span>span]:hidden xl:[&>span>span]:flex ",
15125
- fallbackImageSrc: fallbackImageSrc
15126
- })));
15127
- }
15128
15166
  function AgreementSelector(props) {
15129
15167
  const {
15130
15168
  agreements,
@@ -15166,10 +15204,10 @@ function AgreementSelector(props) {
15166
15204
  onOpenChange: setOpen
15167
15205
  }, /*#__PURE__*/React__default.createElement(PopoverPrimitive.Trigger, {
15168
15206
  className: "xl:focus-visible:yt-focus-dark [&:focus-visible_img]:yt-focus-dark w-full rounded outline-none xl:[&:focus-visible_img]:shadow-none"
15169
- }, /*#__PURE__*/React__default.createElement(AgreementDetails, Object.assign({}, currentAgreement, {
15170
- className: "h-12 flex-grow xl:hover:bg-white/[0.16] [&>span>span]:hidden xl:[&>span>span]:flex [[aria-current='true']>&]:bg-white/[0.16]",
15207
+ }, /*#__PURE__*/React__default.createElement(AgreementDisplay, {
15208
+ currentAgreement: currentAgreement,
15171
15209
  fallbackImageSrc: fallbackImageSrc
15172
- }), agreements ? /*#__PURE__*/React__default.createElement(Icon, {
15210
+ }, agreements ? /*#__PURE__*/React__default.createElement(Icon, {
15173
15211
  className: "ml-auto hidden flex-shrink-0 flex-grow-0 text-white xl:flex",
15174
15212
  name: open ? 'chevron-up' : 'chevron-down'
15175
15213
  }) : null)), /*#__PURE__*/React__default.createElement(PopoverPrimitive.Content, {
@@ -15230,11 +15268,21 @@ const createAgreementButton = (agreement, fallbackImageSrc, onChangeAgreement, i
15230
15268
  onClick: () => onChangeAgreement(agreement),
15231
15269
  onKeyDown: handleKeyDown,
15232
15270
  tabIndex: 0
15233
- }, /*#__PURE__*/React__default.createElement(AgreementDetails, Object.assign({}, agreement, {
15271
+ }, /*#__PURE__*/React__default.createElement(AgreementItem, Object.assign({}, agreement, {
15234
15272
  className: "h-14 bg-white/[0.08] xl:hover:bg-white/[0.16] [[aria-current='true']>&]:bg-white/[0.16]",
15235
15273
  fallbackImageSrc: fallbackImageSrc
15236
15274
  })));
15237
15275
  };
15276
+ function AgreementDisplay$1(props) {
15277
+ const {
15278
+ currentAgreement,
15279
+ fallbackImageSrc
15280
+ } = props;
15281
+ return /*#__PURE__*/React__default.createElement(Container$1, null, /*#__PURE__*/React__default.createElement(AgreementDisplay, {
15282
+ currentAgreement: currentAgreement,
15283
+ fallbackImageSrc: fallbackImageSrc
15284
+ }));
15285
+ }
15238
15286
 
15239
15287
  const Header$2 = /*#__PURE__*/React__default.forwardRef(function Header(props, ref) {
15240
15288
  const className = cn('bg-blue-900 flex h-16 w-full shrink-0 items-center gap-4 pl-2', '[&>a:focus-visible]:yt-focus-dark [&>a]:px-2 [&>a]:rounded [&>a]:h-[calc(100%-14px)]',
@@ -15245,7 +15293,7 @@ const Header$2 = /*#__PURE__*/React__default.forwardRef(function Header(props, r
15245
15293
  ref: ref
15246
15294
  }));
15247
15295
  });
15248
- Header$2.AgreementDisplay = AgreementDisplay;
15296
+ Header$2.AgreementDisplay = AgreementDisplay$1;
15249
15297
  Header$2.AgreementSelector = AgreementSelector;
15250
15298
  Header$2.Button = Button$3;
15251
15299
  Header$2.Link = Link$1;
@@ -15267,20 +15315,6 @@ const Content$9 = /*#__PURE__*/React__default.forwardRef(function LayoutContent(
15267
15315
  }));
15268
15316
  });
15269
15317
 
15270
- const useMatchMedia = (query, defaultMatches = false) => {
15271
- const [matches, setMatches] = React__default.useState(defaultMatches);
15272
- const handleChange = React__default.useCallback(event => setMatches(event.matches), []);
15273
- React__default.useEffect(() => {
15274
- const mediaQuery = window.matchMedia(query);
15275
- setMatches(mediaQuery.matches);
15276
- mediaQuery.addEventListener('change', handleChange);
15277
- return () => {
15278
- mediaQuery.removeEventListener('change', handleChange);
15279
- };
15280
- }, []);
15281
- return matches;
15282
- };
15283
-
15284
15318
  const useIsLargeScreen = () => useMatchMedia('(min-width: 1024px)', window.innerWidth > 1024);
15285
15319
 
15286
15320
  const SidebarBackdrop = /*#__PURE__*/framerMotion.motion(Backdrop);