@economic/taco 1.26.0 → 1.26.1

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 (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);