@economic/taco 1.27.0 → 1.28.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. package/dist/components/Calendar/Calendar.d.ts +2 -0
  2. package/dist/components/Header/components/Button.d.ts +0 -2
  3. package/dist/components/Header/components/Link.d.ts +0 -1
  4. package/dist/components/Header/components/SecondaryNavigation.d.ts +2 -2
  5. package/dist/components/OverflowGroup/OverflowGroup.d.ts +5 -0
  6. package/dist/components/Provider/Localization.d.ts +1 -0
  7. package/dist/components/Toast/util.d.ts +2 -1
  8. package/dist/esm/index.css +3 -3
  9. package/dist/esm/packages/taco/src/components/Alert/Alert.js +1 -1
  10. package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
  11. package/dist/esm/packages/taco/src/components/Badge/Badge.js +1 -1
  12. package/dist/esm/packages/taco/src/components/Badge/Badge.js.map +1 -1
  13. package/dist/esm/packages/taco/src/components/BadgeIcon/BadgeIcon.js +1 -1
  14. package/dist/esm/packages/taco/src/components/BadgeIcon/BadgeIcon.js.map +1 -1
  15. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +12 -5
  16. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
  17. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +1 -1
  18. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +8 -4
  19. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Drawer/Drawer.js +1 -1
  21. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +2 -2
  22. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +1 -1
  23. package/dist/esm/packages/taco/src/components/Header/components/Button.js +2 -6
  24. package/dist/esm/packages/taco/src/components/Header/components/Button.js.map +1 -1
  25. package/dist/esm/packages/taco/src/components/Header/components/Link.js +3 -7
  26. package/dist/esm/packages/taco/src/components/Header/components/Link.js.map +1 -1
  27. package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js +7 -114
  28. package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js.map +1 -1
  29. package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js +2 -2
  30. package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js.map +1 -1
  31. package/dist/esm/packages/taco/src/components/Icon/Icon.js +1 -0
  32. package/dist/esm/packages/taco/src/components/Icon/Icon.js.map +1 -1
  33. package/dist/esm/packages/taco/src/components/Input/Input.js +1 -1
  34. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +1 -1
  35. package/dist/esm/packages/taco/src/components/Listbox/useListbox.js +1 -1
  36. package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js +1 -1
  37. package/dist/esm/packages/taco/src/components/Menu/Menu.js +2 -2
  38. package/dist/esm/packages/taco/src/components/Menu/components/Content.js +1 -1
  39. package/dist/esm/packages/taco/src/components/Menu/components/Header.js +1 -1
  40. package/dist/esm/packages/taco/src/components/Menu/components/Item.js +1 -1
  41. package/dist/esm/packages/taco/src/components/Menu/components/Link.js +1 -1
  42. package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js +1 -1
  43. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js +75 -0
  44. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js.map +1 -0
  45. package/dist/esm/packages/taco/src/components/Provider/Localization.js +1 -0
  46. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  47. package/dist/esm/packages/taco/src/components/Select/useSelect.js +1 -1
  48. package/dist/esm/packages/taco/src/components/Select2/Select2.js +2 -2
  49. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js +3 -3
  50. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
  51. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +1 -1
  52. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js +1 -1
  53. package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js +1 -1
  54. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +1 -1
  55. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +1 -1
  56. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +1 -1
  57. package/dist/esm/packages/taco/src/components/Tag/Tag.js +1 -1
  58. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  59. package/dist/esm/packages/taco/src/components/Toast/Toast.js +2 -2
  60. package/dist/esm/packages/taco/src/components/Toast/Toast.js.map +1 -1
  61. package/dist/esm/packages/taco/src/components/Toast/util.js +2 -1
  62. package/dist/esm/packages/taco/src/components/Toast/util.js.map +1 -1
  63. package/dist/esm/packages/taco/src/hooks/useIntersectionObserver.js +1 -1
  64. package/dist/esm/packages/taco/src/hooks/useIntersectionObserver.js.map +1 -1
  65. package/dist/esm/packages/taco/src/index.js +8 -8
  66. package/dist/esm/packages/taco/src/utils/{taillwind.js → tailwind.js} +1 -1
  67. package/dist/esm/packages/taco/src/utils/tailwind.js.map +1 -0
  68. package/dist/index.css +3 -3
  69. package/dist/index.d.ts +3 -3
  70. package/dist/taco.cjs.development.js +1235 -1307
  71. package/dist/taco.cjs.development.js.map +1 -1
  72. package/dist/taco.cjs.production.min.js +1 -1
  73. package/dist/taco.cjs.production.min.js.map +1 -1
  74. package/dist/types.d.ts +1 -1
  75. package/dist/utils/tailwind.d.ts +6 -1
  76. package/package.json +4 -3
  77. package/types.json +10 -14
  78. package/dist/components/ButtonGroup/ButtonGroup.d.ts +0 -5
  79. package/dist/esm/packages/taco/src/components/ButtonGroup/ButtonGroup.js +0 -46
  80. package/dist/esm/packages/taco/src/components/ButtonGroup/ButtonGroup.js.map +0 -1
  81. package/dist/esm/packages/taco/src/utils/taillwind.js.map +0 -1
  82. package/dist/utils/taillwind.d.ts +0 -6
@@ -20,6 +20,8 @@ export declare type CalendarTexts = {
20
20
  months: string[];
21
21
  /** Text abbreviation for days in Calendar's header, starting with Sunday */
22
22
  weekdaysShort: string[];
23
+ /** Text for days in Calendar's header, starting with Sunday */
24
+ weekdays: string[];
23
25
  };
24
26
  export declare type CalendarProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'value'> & {
25
27
  /** Handler called when a day is clicked in calendar */
@@ -1,11 +1,9 @@
1
1
  import React from 'react';
2
2
  import { IconButtonProps } from '../../IconButton/IconButton';
3
3
  export declare type ButtonProps = Omit<IconButtonProps, 'appearance' | 'aria-label'> & {
4
- as?: string;
5
4
  'aria-label': string;
6
5
  };
7
6
  export declare const Button: React.ForwardRefExoticComponent<Pick<IconButtonProps, "autoFocus" | "disabled" | "form" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "type" | "value" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "href" | "target" | "dialog" | "hanger" | "icon" | "menu" | "popover" | "rounded" | "tooltip"> & {
8
- as?: string | undefined;
9
7
  'aria-label': string;
10
8
  } & React.RefAttributes<HTMLButtonElement>>;
11
9
  export declare const getButtonClasses: () => string;
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { IconName } from '../../Icon/Icon';
3
3
  export declare type BaseLinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> & {
4
- as?: string;
5
4
  tooltip?: string;
6
5
  };
7
6
  interface LinkPropsWithoutIcon extends BaseLinkProps {
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- export declare type SecondaryNavigationProps = React.HTMLAttributes<HTMLUListElement>;
3
- export declare const SecondaryNavigation: React.ForwardRefExoticComponent<SecondaryNavigationProps & React.RefAttributes<HTMLUListElement>>;
2
+ export declare type SecondaryNavigationProps = React.HTMLAttributes<HTMLDivElement>;
3
+ export declare const SecondaryNavigation: React.ForwardRefExoticComponent<SecondaryNavigationProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { ButtonProps } from '../Button/Button';
3
+ export declare const OverflowGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4
+ moreButton?: React.ReactElement<ButtonProps, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | undefined;
5
+ } & React.RefAttributes<HTMLDivElement>>;
@@ -74,6 +74,7 @@ export declare const defaultLocalisationTexts: {
74
74
  calendar: {
75
75
  months: string[];
76
76
  weekdaysShort: string[];
77
+ weekdays: string[];
77
78
  actions: {
78
79
  previousMonth: string;
79
80
  nextMonth: string;
@@ -1,3 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { ToastType } from './Toast';
3
3
  export declare const getBadgeIcon: (type: ToastType) => JSX.Element | null;
4
+ export declare const getToastEmptyContentWarning: (content?: Pick<React.ReactNode, never> | undefined) => string;
@@ -246,7 +246,7 @@
246
246
  }
247
247
 
248
248
  [data-taco='calendar'] .DayPicker-Footer {
249
- @apply pt-2 text-center;
249
+ @apply pt-1 text-center;
250
250
  }
251
251
 
252
252
  [data-taco='calendar'] .DayPicker-TodayButton {
@@ -272,8 +272,8 @@
272
272
  }
273
273
 
274
274
  [data-taco='calendar'] .icon:hover,
275
- [data-taco='calendar']:not(.DayPicker--interactionDisabled)
276
- .DayPicker-Day:not(.DayPicker-Day--disabled):not(.DayPicker-Day--selected):not(.DayPicker-Day--outside):hover,
275
+ [data-taco='calendar']:not(.DayPicker--interactionDisabled),
276
+ .DayPicker-Day:not(.DayPicker-Day--disabled):not(.DayPicker-Day--selected):not(.DayPicker-Day--outside):hover,
277
277
  [data-taco='calendar'] .DayPicker-Day--highlighted,
278
278
  [data-taco='calendar'] .DayPicker-Day--selected {
279
279
  @apply wcag-grey-200;
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import cn from 'classnames';
3
- import { getSubtleColorShadeClasses, getColorByState } from '../../utils/taillwind.js';
3
+ import { getSubtleColorShadeClasses, getColorByState } from '../../utils/tailwind.js';
4
4
  import { Icon } from '../Icon/Icon.js';
5
5
  import { BadgeIcon } from '../BadgeIcon/BadgeIcon.js';
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../../../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { BadgeIcon } from '../BadgeIcon/BadgeIcon';\nimport { getColorByState, getSubtleColorShadeClasses } from '../../utils/taillwind';\nimport { Icon, IconName } from '../Icon/Icon';\nimport { State } from '../../types';\n\nexport type AlertProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {\n children: React.ReactNode;\n state?: State;\n onClose?: () => void;\n};\n\nconst getIconName = (state: State | undefined): IconName => {\n switch (state) {\n case 'information':\n return 'info';\n case 'warning':\n return 'warning';\n case 'error':\n return 'close';\n case 'success':\n return 'tick';\n default:\n return 'refresh';\n }\n};\n\nexport const Alert = React.forwardRef(function Alert(props: AlertProps, ref: React.Ref<HTMLDivElement>) {\n const { children, title, state, onClose } = props;\n\n const className = cn(\n `flex w-full flex-row items-start gap-2 rounded-md border-transparent p-3 ${getSubtleColorShadeClasses(\n getColorByState(state)\n )}`,\n props.className\n );\n\n return (\n <div {...props} ref={ref} className={className} role=\"alert\">\n <BadgeIcon className=\"flex-none\" icon={getIconName(state)} color={getColorByState(state)} />\n <div className=\"grow text-sm\">\n {title && <div className=\"font-bold\">{title}</div>}\n {children}\n </div>\n {onClose && <Icon className=\"flex-none cursor-pointer\" name=\"close\" onClick={onClose} />}\n </div>\n );\n});\n"],"names":["getIconName","state","Alert","React","forwardRef","props","ref","children","title","onClose","className","cn","getSubtleColorShadeClasses","getColorByState","role","BadgeIcon","icon","color","Icon","name","onClick"],"mappings":";;;;;;AAaA,MAAMA,WAAW,GAAIC,KAAwB;EACzC,QAAQA,KAAK;IACT,KAAK,aAAa;MACd,OAAO,MAAM;IACjB,KAAK,SAAS;MACV,OAAO,SAAS;IACpB,KAAK,OAAO;MACR,OAAO,OAAO;IAClB,KAAK,SAAS;MACV,OAAO,MAAM;IACjB;MACI,OAAO,SAAS;;AAE5B,CAAC;MAEYC,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,KAAK,CAACG,KAAiB,EAAEC,GAA8B;EAClG,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEP,KAAK;IAAEQ;GAAS,GAAGJ,KAAK;EAEjD,MAAMK,SAAS,GAAGC,EAAE,6EAC4DC,0BAA0B,CAClGC,eAAe,CAACZ,KAAK,CAAC,GACvB,EACHI,KAAK,CAACK,SAAS,CAClB;EAED,oBACIP,sDAASE,KAAK;IAAEC,GAAG,EAAEA,GAAG;IAAEI,SAAS,EAAEA,SAAS;IAAEI,IAAI,EAAC;mBACjDX,6BAACY,SAAS;IAACL,SAAS,EAAC,WAAW;IAACM,IAAI,EAAEhB,WAAW,CAACC,KAAK,CAAC;IAAEgB,KAAK,EAAEJ,eAAe,CAACZ,KAAK;IAAK,eAC5FE;IAAKO,SAAS,EAAC;KACVF,KAAK,iBAAIL;IAAKO,SAAS,EAAC;KAAaF,KAAK,CAAO,EACjDD,QAAQ,CACP,EACLE,OAAO,iBAAIN,6BAACe,IAAI;IAACR,SAAS,EAAC,0BAA0B;IAACS,IAAI,EAAC,OAAO;IAACC,OAAO,EAAEX;IAAW,CACtF;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"Alert.js","sources":["../../../../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { BadgeIcon } from '../BadgeIcon/BadgeIcon';\nimport { getColorByState, getSubtleColorShadeClasses } from '../../utils/tailwind';\nimport { Icon, IconName } from '../Icon/Icon';\nimport { State } from '../../types';\n\nexport type AlertProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {\n children: React.ReactNode;\n state?: State;\n onClose?: () => void;\n};\n\nconst getIconName = (state: State | undefined): IconName => {\n switch (state) {\n case 'information':\n return 'info';\n case 'warning':\n return 'warning';\n case 'error':\n return 'close';\n case 'success':\n return 'tick';\n default:\n return 'refresh';\n }\n};\n\nexport const Alert = React.forwardRef(function Alert(props: AlertProps, ref: React.Ref<HTMLDivElement>) {\n const { children, title, state, onClose } = props;\n\n const className = cn(\n `flex w-full flex-row items-start gap-2 rounded-md border-transparent p-3 ${getSubtleColorShadeClasses(\n getColorByState(state)\n )}`,\n props.className\n );\n\n return (\n <div {...props} ref={ref} className={className} role=\"alert\">\n <BadgeIcon className=\"flex-none\" icon={getIconName(state)} color={getColorByState(state)} />\n <div className=\"grow text-sm\">\n {title && <div className=\"font-bold\">{title}</div>}\n {children}\n </div>\n {onClose && <Icon className=\"flex-none cursor-pointer\" name=\"close\" onClick={onClose} />}\n </div>\n );\n});\n"],"names":["getIconName","state","Alert","React","forwardRef","props","ref","children","title","onClose","className","cn","getSubtleColorShadeClasses","getColorByState","role","BadgeIcon","icon","color","Icon","name","onClick"],"mappings":";;;;;;AAaA,MAAMA,WAAW,GAAIC,KAAwB;EACzC,QAAQA,KAAK;IACT,KAAK,aAAa;MACd,OAAO,MAAM;IACjB,KAAK,SAAS;MACV,OAAO,SAAS;IACpB,KAAK,OAAO;MACR,OAAO,OAAO;IAClB,KAAK,SAAS;MACV,OAAO,MAAM;IACjB;MACI,OAAO,SAAS;;AAE5B,CAAC;MAEYC,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,KAAK,CAACG,KAAiB,EAAEC,GAA8B;EAClG,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEP,KAAK;IAAEQ;GAAS,GAAGJ,KAAK;EAEjD,MAAMK,SAAS,GAAGC,EAAE,6EAC4DC,0BAA0B,CAClGC,eAAe,CAACZ,KAAK,CAAC,GACvB,EACHI,KAAK,CAACK,SAAS,CAClB;EAED,oBACIP,sDAASE,KAAK;IAAEC,GAAG,EAAEA,GAAG;IAAEI,SAAS,EAAEA,SAAS;IAAEI,IAAI,EAAC;mBACjDX,6BAACY,SAAS;IAACL,SAAS,EAAC,WAAW;IAACM,IAAI,EAAEhB,WAAW,CAACC,KAAK,CAAC;IAAEgB,KAAK,EAAEJ,eAAe,CAACZ,KAAK;IAAK,eAC5FE;IAAKO,SAAS,EAAC;KACVF,KAAK,iBAAIL;IAAKO,SAAS,EAAC;KAAaF,KAAK,CAAO,EACjDD,QAAQ,CACP,EACLE,OAAO,iBAAIN,6BAACe,IAAI;IAACR,SAAS,EAAC,0BAA0B;IAACS,IAAI,EAAC,OAAO;IAACC,OAAO,EAAEX;IAAW,CACtF;AAEd,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { forwardRef, createElement, Fragment } from 'react';
2
2
  import cn from 'classnames';
3
- import { getOutlineColorShadeClasses, getSubtleColorShadeClasses, getColorShadeClasses } from '../../utils/taillwind.js';
3
+ import { getOutlineColorShadeClasses, getSubtleColorShadeClasses, getColorShadeClasses } from '../../utils/tailwind.js';
4
4
  import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden.js';
5
5
 
6
6
  const Badge = /*#__PURE__*/forwardRef(function Badge(props, ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sources":["../../../../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { Color } from '../../types';\nimport { getSubtleColorShadeClasses, getColorShadeClasses, getOutlineColorShadeClasses } from '../../utils/taillwind';\nimport './Badge.css';\n\nexport type BadgeBaseProps = React.HTMLAttributes<HTMLSpanElement> & {\n /** Content should be a numerical value or tag/status like text **/\n children: React.ReactNode;\n /** Show small version of badge **/\n small?: boolean;\n /** Background color **/\n color?: Color;\n};\n\ninterface CompactBadgeProps extends BadgeBaseProps {\n /** Show compact version **/\n compact?: boolean;\n /** Show outlined version **/\n outline?: never;\n /** Show subtle version **/\n subtle?: never;\n /** Show status dot - can be used only in subtle badge **/\n status?: never;\n}\n\ninterface OutlineBadgeProps extends BadgeBaseProps {\n /** Show compact version **/\n compact?: never;\n /** Show outlined version **/\n outline?: boolean;\n /** Show subtle version **/\n subtle?: never;\n /** Show status dot - can be used only in subtle badge **/\n status?: never;\n}\n\ninterface SubtleBadgeProps extends BadgeBaseProps {\n /** Show compact version **/\n compact?: never;\n /** Show outlined version **/\n outline?: never;\n /** Show subtle version **/\n subtle?: boolean;\n /** Show status dot - can be used only in subtle badge **/\n status?: never;\n}\n\ninterface StatusBadgeProps extends BadgeBaseProps {\n /** Show compact version **/\n compact?: never;\n /** Show outlined version **/\n outline?: never;\n /** Show subtle version **/\n subtle?: boolean;\n /** Show status dot - can be used only in subtle badge **/\n status?: boolean;\n}\n\nexport type BadgeProps = CompactBadgeProps | OutlineBadgeProps | SubtleBadgeProps | StatusBadgeProps;\n\nexport const Badge = React.forwardRef(function Badge(props: BadgeProps, ref: React.Ref<HTMLSpanElement>) {\n const {\n children,\n compact = false,\n outline = false,\n status = false,\n subtle = false,\n small = false,\n color,\n ...otherProps\n } = props;\n const isTransparent = color === 'transparent';\n const className = cn(\n 'rounded-full border overflow-hidden whitespace-nowrap inline-flex items-center justify-center',\n {\n [`border ${getOutlineColorShadeClasses(color)}`]: outline,\n [`border-transparent font-normal ${getSubtleColorShadeClasses(color)}`]: subtle,\n [`border-transparent ${getColorShadeClasses(color)}`]: !outline && !subtle,\n 'h-4 min-w-0 py-0 px-1 text-xs': small,\n 'h-2 w-2 min-w-0': compact,\n 'font-bold': outline || !subtle,\n 'text-sm': !small,\n 'h-5 py-0 px-1.5': !compact && !small, // custom padding keeps single digits in a perfect circle\n '!bg-grey-700': compact && isTransparent,\n },\n props.className\n );\n\n const content = () => {\n if (compact) {\n return <VisuallyHidden>{children}</VisuallyHidden>;\n }\n if (status) {\n return (\n <>\n <div className={cn('mr-1 h-2 w-2 rounded-full', getColorShadeClasses(color))} />\n {children}\n </>\n );\n }\n return children;\n };\n\n return (\n <span\n {...otherProps}\n aria-atomic=\"true\"\n aria-live=\"polite\"\n className={className}\n data-taco=\"badge\"\n ref={ref}\n role=\"status\"\n title={props['aria-label']}>\n {content()}\n </span>\n );\n});\n"],"names":["Badge","React","props","ref","children","compact","outline","status","subtle","small","color","otherProps","isTransparent","className","cn","getOutlineColorShadeClasses","getSubtleColorShadeClasses","getColorShadeClasses","content","VisuallyHidden","role","title"],"mappings":";;;;;MA8DaA,KAAK,gBAAGC,UAAgB,CAAC,SAASD,KAAK,CAACE,KAAiB,EAAEC,GAA+B;EACnG,MAAM;IACFC,QAAQ;IACRC,OAAO,GAAG,KAAK;IACfC,OAAO,GAAG,KAAK;IACfC,MAAM,GAAG,KAAK;IACdC,MAAM,GAAG,KAAK;IACdC,KAAK,GAAG,KAAK;IACbC,KAAK;IACL,GAAGC;GACN,GAAGT,KAAK;EACT,MAAMU,aAAa,GAAGF,KAAK,KAAK,aAAa;EAC7C,MAAMG,SAAS,GAAGC,EAAE,CAChB,+FAA+F,EAC/F;IACI,WAAWC,2BAA2B,CAACL,KAAK,GAAG,GAAGJ,OAAO;IACzD,mCAAmCU,0BAA0B,CAACN,KAAK,GAAG,GAAGF,MAAM;IAC/E,uBAAuBS,oBAAoB,CAACP,KAAK,GAAG,GAAG,CAACJ,OAAO,IAAI,CAACE,MAAM;IAC1E,+BAA+B,EAAEC,KAAK;IACtC,iBAAiB,EAAEJ,OAAO;IAC1B,WAAW,EAAEC,OAAO,IAAI,CAACE,MAAM;IAC/B,SAAS,EAAE,CAACC,KAAK;IACjB,iBAAiB,EAAE,CAACJ,OAAO,IAAI,CAACI,KAAK;IACrC,cAAc,EAAEJ,OAAO,IAAIO;GAC9B,EACDV,KAAK,CAACW,SAAS,CAClB;EAED,MAAMK,OAAO,GAAG;IACZ,IAAIb,OAAO,EAAE;MACT,oBAAOJ,cAACkB,cAAc,QAAEf,QAAQ,CAAkB;;IAEtD,IAAIG,MAAM,EAAE;MACR,oBACIN,2CACIA;QAAKY,SAAS,EAAEC,EAAE,CAAC,2BAA2B,EAAEG,oBAAoB,CAACP,KAAK,CAAC;QAAK,EAC/EN,QAAQ,CACV;;IAGX,OAAOA,QAAQ;GAClB;EAED,oBACIH,wCACQU,UAAU;mBACF,MAAM;iBACR,QAAQ;IAClBE,SAAS,EAAEA,SAAS;iBACV,OAAO;IACjBV,GAAG,EAAEA,GAAG;IACRiB,IAAI,EAAC,QAAQ;IACbC,KAAK,EAAEnB,KAAK,CAAC,YAAY;MACxBgB,OAAO,EAAE,CACP;AAEf,CAAC;;;;"}
1
+ {"version":3,"file":"Badge.js","sources":["../../../../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { Color } from '../../types';\nimport { getSubtleColorShadeClasses, getColorShadeClasses, getOutlineColorShadeClasses } from '../../utils/tailwind';\nimport './Badge.css';\n\nexport type BadgeBaseProps = React.HTMLAttributes<HTMLSpanElement> & {\n /** Content should be a numerical value or tag/status like text **/\n children: React.ReactNode;\n /** Show small version of badge **/\n small?: boolean;\n /** Background color **/\n color?: Color;\n};\n\ninterface CompactBadgeProps extends BadgeBaseProps {\n /** Show compact version **/\n compact?: boolean;\n /** Show outlined version **/\n outline?: never;\n /** Show subtle version **/\n subtle?: never;\n /** Show status dot - can be used only in subtle badge **/\n status?: never;\n}\n\ninterface OutlineBadgeProps extends BadgeBaseProps {\n /** Show compact version **/\n compact?: never;\n /** Show outlined version **/\n outline?: boolean;\n /** Show subtle version **/\n subtle?: never;\n /** Show status dot - can be used only in subtle badge **/\n status?: never;\n}\n\ninterface SubtleBadgeProps extends BadgeBaseProps {\n /** Show compact version **/\n compact?: never;\n /** Show outlined version **/\n outline?: never;\n /** Show subtle version **/\n subtle?: boolean;\n /** Show status dot - can be used only in subtle badge **/\n status?: never;\n}\n\ninterface StatusBadgeProps extends BadgeBaseProps {\n /** Show compact version **/\n compact?: never;\n /** Show outlined version **/\n outline?: never;\n /** Show subtle version **/\n subtle?: boolean;\n /** Show status dot - can be used only in subtle badge **/\n status?: boolean;\n}\n\nexport type BadgeProps = CompactBadgeProps | OutlineBadgeProps | SubtleBadgeProps | StatusBadgeProps;\n\nexport const Badge = React.forwardRef(function Badge(props: BadgeProps, ref: React.Ref<HTMLSpanElement>) {\n const {\n children,\n compact = false,\n outline = false,\n status = false,\n subtle = false,\n small = false,\n color,\n ...otherProps\n } = props;\n const isTransparent = color === 'transparent';\n const className = cn(\n 'rounded-full border overflow-hidden whitespace-nowrap inline-flex items-center justify-center',\n {\n [`border ${getOutlineColorShadeClasses(color)}`]: outline,\n [`border-transparent font-normal ${getSubtleColorShadeClasses(color)}`]: subtle,\n [`border-transparent ${getColorShadeClasses(color)}`]: !outline && !subtle,\n 'h-4 min-w-0 py-0 px-1 text-xs': small,\n 'h-2 w-2 min-w-0': compact,\n 'font-bold': outline || !subtle,\n 'text-sm': !small,\n 'h-5 py-0 px-1.5': !compact && !small, // custom padding keeps single digits in a perfect circle\n '!bg-grey-700': compact && isTransparent,\n },\n props.className\n );\n\n const content = () => {\n if (compact) {\n return <VisuallyHidden>{children}</VisuallyHidden>;\n }\n if (status) {\n return (\n <>\n <div className={cn('mr-1 h-2 w-2 rounded-full', getColorShadeClasses(color))} />\n {children}\n </>\n );\n }\n return children;\n };\n\n return (\n <span\n {...otherProps}\n aria-atomic=\"true\"\n aria-live=\"polite\"\n className={className}\n data-taco=\"badge\"\n ref={ref}\n role=\"status\"\n title={props['aria-label']}>\n {content()}\n </span>\n );\n});\n"],"names":["Badge","React","props","ref","children","compact","outline","status","subtle","small","color","otherProps","isTransparent","className","cn","getOutlineColorShadeClasses","getSubtleColorShadeClasses","getColorShadeClasses","content","VisuallyHidden","role","title"],"mappings":";;;;;MA8DaA,KAAK,gBAAGC,UAAgB,CAAC,SAASD,KAAK,CAACE,KAAiB,EAAEC,GAA+B;EACnG,MAAM;IACFC,QAAQ;IACRC,OAAO,GAAG,KAAK;IACfC,OAAO,GAAG,KAAK;IACfC,MAAM,GAAG,KAAK;IACdC,MAAM,GAAG,KAAK;IACdC,KAAK,GAAG,KAAK;IACbC,KAAK;IACL,GAAGC;GACN,GAAGT,KAAK;EACT,MAAMU,aAAa,GAAGF,KAAK,KAAK,aAAa;EAC7C,MAAMG,SAAS,GAAGC,EAAE,CAChB,+FAA+F,EAC/F;IACI,WAAWC,2BAA2B,CAACL,KAAK,GAAG,GAAGJ,OAAO;IACzD,mCAAmCU,0BAA0B,CAACN,KAAK,GAAG,GAAGF,MAAM;IAC/E,uBAAuBS,oBAAoB,CAACP,KAAK,GAAG,GAAG,CAACJ,OAAO,IAAI,CAACE,MAAM;IAC1E,+BAA+B,EAAEC,KAAK;IACtC,iBAAiB,EAAEJ,OAAO;IAC1B,WAAW,EAAEC,OAAO,IAAI,CAACE,MAAM;IAC/B,SAAS,EAAE,CAACC,KAAK;IACjB,iBAAiB,EAAE,CAACJ,OAAO,IAAI,CAACI,KAAK;IACrC,cAAc,EAAEJ,OAAO,IAAIO;GAC9B,EACDV,KAAK,CAACW,SAAS,CAClB;EAED,MAAMK,OAAO,GAAG;IACZ,IAAIb,OAAO,EAAE;MACT,oBAAOJ,cAACkB,cAAc,QAAEf,QAAQ,CAAkB;;IAEtD,IAAIG,MAAM,EAAE;MACR,oBACIN,2CACIA;QAAKY,SAAS,EAAEC,EAAE,CAAC,2BAA2B,EAAEG,oBAAoB,CAACP,KAAK,CAAC;QAAK,EAC/EN,QAAQ,CACV;;IAGX,OAAOA,QAAQ;GAClB;EAED,oBACIH,wCACQU,UAAU;mBACF,MAAM;iBACR,QAAQ;IAClBE,SAAS,EAAEA,SAAS;iBACV,OAAO;IACjBV,GAAG,EAAEA,GAAG;IACRiB,IAAI,EAAC,QAAQ;IACbC,KAAK,EAAEnB,KAAK,CAAC,YAAY;MACxBgB,OAAO,EAAE,CACP;AAEf,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { forwardRef, createElement } from 'react';
2
2
  import cn from 'classnames';
3
- import { getSubtleColorShadeClasses, getColorShadeClasses } from '../../utils/taillwind.js';
3
+ import { getSubtleColorShadeClasses, getColorShadeClasses } from '../../utils/tailwind.js';
4
4
  import { Icon } from '../Icon/Icon.js';
5
5
 
6
6
  const BadgeIcon = /*#__PURE__*/forwardRef(function Badge(props, ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"BadgeIcon.js","sources":["../../../../../../../src/components/BadgeIcon/BadgeIcon.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { getSubtleColorShadeClasses, getColorShadeClasses } from '../../utils/taillwind';\nimport { Icon, IconName } from '../Icon/Icon';\nimport { Color } from '../../types';\n\nexport type BadgeIconProps = React.HTMLAttributes<HTMLSpanElement> & {\n /** Icon type **/\n icon: IconName;\n /** Background color **/\n color?: Color;\n /** Show subtle version **/\n subtle?: boolean;\n};\n\nexport const BadgeIcon = React.forwardRef(function Badge(props: BadgeIconProps, ref: React.Ref<HTMLSpanElement>) {\n const { color, icon, subtle, ...otherProps } = props;\n\n const className = cn(\n `rounded-full border overflow-hidden whitespace-nowrap inline-flex items-center justify-center w-5 h-5 border-transparent [&>*]:max-h-full`,\n { [getSubtleColorShadeClasses(color)]: subtle, [getColorShadeClasses(color)]: !subtle },\n props.className\n );\n\n return (\n <span\n {...otherProps}\n aria-label=\"icon\"\n className={className}\n data-taco=\"badge-icon\"\n ref={ref}\n role=\"status\"\n title={props['aria-label']}>\n <Icon name={icon} />\n </span>\n );\n});\n"],"names":["BadgeIcon","React","Badge","props","ref","color","icon","subtle","otherProps","className","cn","getSubtleColorShadeClasses","getColorShadeClasses","role","title","Icon","name"],"mappings":";;;;;MAeaA,SAAS,gBAAGC,UAAgB,CAAC,SAASC,KAAK,CAACC,KAAqB,EAAEC,GAA+B;EAC3G,MAAM;IAAEC,KAAK;IAAEC,IAAI;IAAEC,MAAM;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAEpD,MAAMM,SAAS,GAAGC,EAAE,4IAC2H,EAC3I;IAAE,CAACC,0BAA0B,CAACN,KAAK,CAAC,GAAGE,MAAM;IAAE,CAACK,oBAAoB,CAACP,KAAK,CAAC,GAAG,CAACE;GAAQ,EACvFJ,KAAK,CAACM,SAAS,CAClB;EAED,oBACIR,wCACQO,UAAU;kBACH,MAAM;IACjBC,SAAS,EAAEA,SAAS;iBACV,YAAY;IACtBL,GAAG,EAAEA,GAAG;IACRS,IAAI,EAAC,QAAQ;IACbC,KAAK,EAAEX,KAAK,CAAC,YAAY;mBACzBF,cAACc,IAAI;IAACC,IAAI,EAAEV;IAAQ,CACjB;AAEf,CAAC;;;;"}
1
+ {"version":3,"file":"BadgeIcon.js","sources":["../../../../../../../src/components/BadgeIcon/BadgeIcon.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { getSubtleColorShadeClasses, getColorShadeClasses } from '../../utils/tailwind';\nimport { Icon, IconName } from '../Icon/Icon';\nimport { Color } from '../../types';\n\nexport type BadgeIconProps = React.HTMLAttributes<HTMLSpanElement> & {\n /** Icon type **/\n icon: IconName;\n /** Background color **/\n color?: Color;\n /** Show subtle version **/\n subtle?: boolean;\n};\n\nexport const BadgeIcon = React.forwardRef(function Badge(props: BadgeIconProps, ref: React.Ref<HTMLSpanElement>) {\n const { color, icon, subtle, ...otherProps } = props;\n\n const className = cn(\n `rounded-full border overflow-hidden whitespace-nowrap inline-flex items-center justify-center w-5 h-5 border-transparent [&>*]:max-h-full`,\n { [getSubtleColorShadeClasses(color)]: subtle, [getColorShadeClasses(color)]: !subtle },\n props.className\n );\n\n return (\n <span\n {...otherProps}\n aria-label=\"icon\"\n className={className}\n data-taco=\"badge-icon\"\n ref={ref}\n role=\"status\"\n title={props['aria-label']}>\n <Icon name={icon} />\n </span>\n );\n});\n"],"names":["BadgeIcon","React","Badge","props","ref","color","icon","subtle","otherProps","className","cn","getSubtleColorShadeClasses","getColorShadeClasses","role","title","Icon","name"],"mappings":";;;;;MAeaA,SAAS,gBAAGC,UAAgB,CAAC,SAASC,KAAK,CAACC,KAAqB,EAAEC,GAA+B;EAC3G,MAAM;IAAEC,KAAK;IAAEC,IAAI;IAAEC,MAAM;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAEpD,MAAMM,SAAS,GAAGC,EAAE,4IAC2H,EAC3I;IAAE,CAACC,0BAA0B,CAACN,KAAK,CAAC,GAAGE,MAAM;IAAE,CAACK,oBAAoB,CAACP,KAAK,CAAC,GAAG,CAACE;GAAQ,EACvFJ,KAAK,CAACM,SAAS,CAClB;EAED,oBACIR,wCACQO,UAAU;kBACH,MAAM;IACjBC,SAAS,EAAEA,SAAS;iBACV,YAAY;IACtBL,GAAG,EAAEA,GAAG;IACRS,IAAI,EAAC,QAAQ;IACbC,KAAK,EAAEX,KAAK,CAAC,YAAY;mBACzBF,cAACc,IAAI;IAACC,IAAI,EAAEV;IAAQ,CACjB;AAEf,CAAC;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { forwardRef, useState, useEffect, createElement, memo } from 'react';
2
2
  import cn from 'classnames';
3
+ import { Tooltip } from '../Tooltip/Tooltip.js';
3
4
  import { IconButton } from '../IconButton/IconButton.js';
4
5
  import { useLocalization } from '../Provider/Localization.js';
5
6
  import ReactDayPicker from 'react-day-picker';
@@ -31,7 +32,7 @@ const Navbar = /*#__PURE__*/memo(({
31
32
  onMonthChange(new Date(year.value, month.value));
32
33
  };
33
34
  return /*#__PURE__*/createElement("div", {
34
- className: "mb-2 flex items-center justify-between"
35
+ className: "mb-1 flex items-center justify-between"
35
36
  }, /*#__PURE__*/createElement("form", {
36
37
  className: "inline-flex space-x-1"
37
38
  }, /*#__PURE__*/createElement("select", {
@@ -50,19 +51,23 @@ const Navbar = /*#__PURE__*/memo(({
50
51
  }, years.map(year => /*#__PURE__*/createElement("option", {
51
52
  key: year,
52
53
  value: year
53
- }, String(year))))), /*#__PURE__*/createElement("div", null, /*#__PURE__*/createElement(IconButton, {
54
+ }, String(year))))), /*#__PURE__*/createElement("div", null, /*#__PURE__*/createElement(Tooltip, {
55
+ title: actions.previousMonth
56
+ }, /*#__PURE__*/createElement(IconButton, {
54
57
  appearance: "discrete",
55
58
  icon: "chevron-left",
56
59
  "aria-label": actions.previousMonth,
57
60
  onClick: () => onPreviousClick(),
58
61
  rounded: true
59
- }), /*#__PURE__*/createElement(IconButton, {
62
+ })), /*#__PURE__*/createElement(Tooltip, {
63
+ title: actions.nextMonth
64
+ }, /*#__PURE__*/createElement(IconButton, {
60
65
  appearance: "discrete",
61
66
  icon: "chevron-right",
62
67
  "aria-label": actions.nextMonth,
63
68
  onClick: () => onNextClick(),
64
69
  rounded: true
65
- })));
70
+ }))));
66
71
  });
67
72
  const Calendar = /*#__PURE__*/forwardRef(function Calendar(props, ref) {
68
73
  const {
@@ -80,6 +85,7 @@ const Calendar = /*#__PURE__*/forwardRef(function Calendar(props, ref) {
80
85
  if (visibleMonth !== value) {
81
86
  setVisibleMonth(value !== null && value !== void 0 ? value : new Date());
82
87
  }
88
+ // visibleMonth in deps array breaking month switching logic. It should not be in deps array.
83
89
  }, [value]);
84
90
  const handleDayClick = (date, modifiers, event) => {
85
91
  if (modifiers.outside || modifiers.disabled) {
@@ -95,7 +101,7 @@ const Calendar = /*#__PURE__*/forwardRef(function Calendar(props, ref) {
95
101
  today.setSeconds(0);
96
102
  handleChange(today);
97
103
  };
98
- const className = cn('flex bg-white text-xs p-4', otherProps.className);
104
+ const className = cn('flex bg-white text-xs p-2', otherProps.className);
99
105
  return /*#__PURE__*/createElement("div", {
100
106
  "data-taco": "calendar"
101
107
  }, /*#__PURE__*/createElement(ReactDayPicker, Object.assign({}, otherProps, {
@@ -105,6 +111,7 @@ const Calendar = /*#__PURE__*/forwardRef(function Calendar(props, ref) {
105
111
  locale: locale.substring(0, 2),
106
112
  firstDayOfWeek: 1,
107
113
  months: texts.calendar.months,
114
+ weekdaysLong: texts.calendar.weekdays,
108
115
  weekdaysShort: texts.calendar.weekdaysShort,
109
116
  navbarElement: navProps => /*#__PURE__*/createElement(Navbar, Object.assign({}, navProps, {
110
117
  onMonthChange: setVisibleMonth,
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sources":["../../../../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport ReactDayPicker, { NavbarElementProps, Modifier } from 'react-day-picker';\nimport { useLocalization } from '../Provider/Localization';\nimport './Calendar.css';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport type CalendarTextsActions = {\n /** Aria-label for previous month action button */\n previousMonth: string;\n /** Aria-label for next month action button */\n nextMonth: string;\n /** Aria-label for previous year action button */\n previousYear: string;\n /** Aria-label for next year action button */\n nextYear: string;\n /** Text displayed within today action button */\n today: string;\n};\n\nexport type CalendarTexts = {\n /** Text and aria-label for action buttons in Calendar */\n actions: CalendarTextsActions;\n /** Text abbreviation for months in Calendar's header, starting with January */\n months: string[];\n /** Text abbreviation for days in Calendar's header, starting with Sunday */\n weekdaysShort: string[];\n};\n\n/** @internal */\ntype CustomNavbarElementProps = NavbarElementProps & {\n onMonthChange: (month: Date) => void;\n value?: Date;\n};\n\nconst thisYear = new Date().getFullYear();\nconst years: number[] = [];\n\nfor (let i = thisYear - 50; i <= thisYear + 10; i += 1) {\n years.push(i);\n}\n\nconst Navbar = React.memo(\n ({ onMonthChange, onNextClick, onPreviousClick, value = new Date() }: CustomNavbarElementProps): JSX.Element => {\n const {\n texts: {\n calendar: { actions, months },\n },\n } = useLocalization();\n\n const handleChange = function handleChange(event) {\n const { year, month } = event.target.form;\n onMonthChange(new Date(year.value, month.value));\n };\n\n return (\n <div className=\"mb-2 flex items-center justify-between\">\n <form className=\"inline-flex space-x-1\">\n <select className=\"h-8 px-2\" name=\"month\" onChange={handleChange} value={value.getMonth()}>\n {months.map((month, i) => (\n <option key={month} value={i}>\n {month}\n </option>\n ))}\n </select>\n <select className=\"h-8 px-2\" name=\"year\" onChange={handleChange} value={value.getFullYear()}>\n {years.map(year => (\n <option key={year} value={year}>\n {String(year)}\n </option>\n ))}\n </select>\n </form>\n <div>\n <IconButton\n appearance=\"discrete\"\n icon=\"chevron-left\"\n aria-label={actions.previousMonth}\n onClick={() => onPreviousClick()}\n rounded\n />\n <IconButton\n appearance=\"discrete\"\n icon=\"chevron-right\"\n aria-label={actions.nextMonth}\n onClick={() => onNextClick()}\n rounded\n />\n </div>\n </div>\n );\n }\n);\n\nexport type CalendarProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'value'> & {\n /** Handler called when a day is clicked in calendar */\n onChange: (date: Date, event?: React.MouseEvent<HTMLDivElement>) => void;\n value?: Date;\n disabledDays?: Modifier[];\n};\n\nexport const Calendar = React.forwardRef(function Calendar(props: CalendarProps, ref: React.Ref<ReactDayPicker>) {\n const { onChange: handleChange, value, disabledDays, ...otherProps } = props;\n const { locale, texts } = useLocalization();\n const [visibleMonth, setVisibleMonth] = React.useState(value ?? new Date());\n\n React.useEffect(() => {\n if (visibleMonth !== value) {\n setVisibleMonth(value ?? new Date());\n }\n }, [value]);\n\n const handleDayClick = (date, modifiers, event) => {\n if (modifiers.outside || modifiers.disabled) {\n return;\n }\n\n handleChange(date, event);\n };\n\n const handleCalendarClickToday = (): void => {\n const today = new Date();\n\n // set to midday to avoid UTC offset causing dates to be mismatched server side\n today.setHours(12);\n today.setMinutes(0);\n today.setSeconds(0);\n\n handleChange(today);\n };\n\n const className = cn('flex bg-white text-xs p-4', otherProps.className);\n\n return (\n <div data-taco=\"calendar\">\n <ReactDayPicker\n {...otherProps}\n className={className}\n month={visibleMonth}\n selectedDays={value}\n locale={locale.substring(0, 2)}\n firstDayOfWeek={1}\n months={texts.calendar.months}\n weekdaysShort={texts.calendar.weekdaysShort}\n navbarElement={navProps => <Navbar {...navProps} onMonthChange={setVisibleMonth} value={visibleMonth} />}\n onDayClick={handleDayClick}\n onMonthChange={setVisibleMonth}\n onTodayButtonClick={handleCalendarClickToday}\n captionElement={() => null}\n todayButton={texts.calendar.actions.today}\n numberOfMonths={1}\n ref={ref}\n disabledDays={disabledDays}\n />\n </div>\n );\n});\n"],"names":["thisYear","Date","getFullYear","years","i","push","Navbar","React","onMonthChange","onNextClick","onPreviousClick","value","texts","calendar","actions","months","useLocalization","handleChange","event","year","month","target","form","className","name","onChange","getMonth","map","key","String","IconButton","appearance","icon","previousMonth","onClick","rounded","nextMonth","Calendar","props","ref","disabledDays","otherProps","locale","visibleMonth","setVisibleMonth","handleDayClick","date","modifiers","outside","disabled","handleCalendarClickToday","today","setHours","setMinutes","setSeconds","cn","ReactDayPicker","selectedDays","substring","firstDayOfWeek","weekdaysShort","navbarElement","navProps","onDayClick","onTodayButtonClick","captionElement","todayButton","numberOfMonths"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","sources":["../../../../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport ReactDayPicker, { NavbarElementProps, Modifier } from 'react-day-picker';\nimport { useLocalization } from '../Provider/Localization';\nimport './Calendar.css';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Tooltip } from '../Tooltip/Tooltip';\n\nexport type CalendarTextsActions = {\n /** Aria-label for previous month action button */\n previousMonth: string;\n /** Aria-label for next month action button */\n nextMonth: string;\n /** Aria-label for previous year action button */\n previousYear: string;\n /** Aria-label for next year action button */\n nextYear: string;\n /** Text displayed within today action button */\n today: string;\n};\n\nexport type CalendarTexts = {\n /** Text and aria-label for action buttons in Calendar */\n actions: CalendarTextsActions;\n /** Text abbreviation for months in Calendar's header, starting with January */\n months: string[];\n /** Text abbreviation for days in Calendar's header, starting with Sunday */\n weekdaysShort: string[];\n /** Text for days in Calendar's header, starting with Sunday */\n weekdays: string[];\n};\n\n/** @internal */\ntype CustomNavbarElementProps = NavbarElementProps & {\n onMonthChange: (month: Date) => void;\n value?: Date;\n};\n\nconst thisYear = new Date().getFullYear();\nconst years: number[] = [];\n\nfor (let i = thisYear - 50; i <= thisYear + 10; i += 1) {\n years.push(i);\n}\n\nconst Navbar = React.memo(\n ({ onMonthChange, onNextClick, onPreviousClick, value = new Date() }: CustomNavbarElementProps): JSX.Element => {\n const {\n texts: {\n calendar: { actions, months },\n },\n } = useLocalization();\n\n const handleChange = function handleChange(event) {\n const { year, month } = event.target.form;\n onMonthChange(new Date(year.value, month.value));\n };\n\n return (\n <div className=\"mb-1 flex items-center justify-between\">\n <form className=\"inline-flex space-x-1\">\n <select className=\"h-8 px-2\" name=\"month\" onChange={handleChange} value={value.getMonth()}>\n {months.map((month, i) => (\n <option key={month} value={i}>\n {month}\n </option>\n ))}\n </select>\n <select className=\"h-8 px-2\" name=\"year\" onChange={handleChange} value={value.getFullYear()}>\n {years.map(year => (\n <option key={year} value={year}>\n {String(year)}\n </option>\n ))}\n </select>\n </form>\n <div>\n <Tooltip title={actions.previousMonth}>\n <IconButton\n appearance=\"discrete\"\n icon=\"chevron-left\"\n aria-label={actions.previousMonth}\n onClick={() => onPreviousClick()}\n rounded\n />\n </Tooltip>\n <Tooltip title={actions.nextMonth}>\n <IconButton\n appearance=\"discrete\"\n icon=\"chevron-right\"\n aria-label={actions.nextMonth}\n onClick={() => onNextClick()}\n rounded\n />\n </Tooltip>\n </div>\n </div>\n );\n }\n);\n\nexport type CalendarProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'value'> & {\n /** Handler called when a day is clicked in calendar */\n onChange: (date: Date, event?: React.MouseEvent<HTMLDivElement>) => void;\n value?: Date;\n disabledDays?: Modifier[];\n};\n\nexport const Calendar = React.forwardRef(function Calendar(props: CalendarProps, ref: React.Ref<ReactDayPicker>) {\n const { onChange: handleChange, value, disabledDays, ...otherProps } = props;\n const { locale, texts } = useLocalization();\n const [visibleMonth, setVisibleMonth] = React.useState(value ?? new Date());\n\n React.useEffect(() => {\n if (visibleMonth !== value) {\n setVisibleMonth(value ?? new Date());\n }\n // visibleMonth in deps array breaking month switching logic. It should not be in deps array.\n }, [value]);\n\n const handleDayClick = (date, modifiers, event) => {\n if (modifiers.outside || modifiers.disabled) {\n return;\n }\n\n handleChange(date, event);\n };\n\n const handleCalendarClickToday = (): void => {\n const today = new Date();\n\n // set to midday to avoid UTC offset causing dates to be mismatched server side\n today.setHours(12);\n today.setMinutes(0);\n today.setSeconds(0);\n\n handleChange(today);\n };\n\n const className = cn('flex bg-white text-xs p-2', otherProps.className);\n\n return (\n <div data-taco=\"calendar\">\n <ReactDayPicker\n {...otherProps}\n className={className}\n month={visibleMonth}\n selectedDays={value}\n locale={locale.substring(0, 2)}\n firstDayOfWeek={1}\n months={texts.calendar.months}\n weekdaysLong={texts.calendar.weekdays}\n weekdaysShort={texts.calendar.weekdaysShort}\n navbarElement={navProps => <Navbar {...navProps} onMonthChange={setVisibleMonth} value={visibleMonth} />}\n onDayClick={handleDayClick}\n onMonthChange={setVisibleMonth}\n onTodayButtonClick={handleCalendarClickToday}\n captionElement={() => null}\n todayButton={texts.calendar.actions.today}\n numberOfMonths={1}\n ref={ref}\n disabledDays={disabledDays}\n />\n </div>\n );\n});\n"],"names":["thisYear","Date","getFullYear","years","i","push","Navbar","React","onMonthChange","onNextClick","onPreviousClick","value","texts","calendar","actions","months","useLocalization","handleChange","event","year","month","target","form","className","name","onChange","getMonth","map","key","String","Tooltip","title","previousMonth","IconButton","appearance","icon","onClick","rounded","nextMonth","Calendar","props","ref","disabledDays","otherProps","locale","visibleMonth","setVisibleMonth","handleDayClick","date","modifiers","outside","disabled","handleCalendarClickToday","today","setHours","setMinutes","setSeconds","cn","ReactDayPicker","selectedDays","substring","firstDayOfWeek","weekdaysLong","weekdays","weekdaysShort","navbarElement","navProps","onDayClick","onTodayButtonClick","captionElement","todayButton","numberOfMonths"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useRef, useState, useMemo, useEffect } from 'react';
2
- import { useMergedRef } from '../../hooks/useMergedRef.js';
3
2
  import { v4 } from 'uuid';
3
+ import { useMergedRef } from '../../hooks/useMergedRef.js';
4
4
  import debounce from 'lodash-es/debounce';
5
5
  import { getId } from '../Listbox/ScrollableList.js';
6
6
  import { createCustomKeyboardEvent } from '../../utils/input.js';
@@ -1,5 +1,6 @@
1
1
  import { forwardRef, createElement } from 'react';
2
2
  import cn from 'classnames';
3
+ import { Tooltip } from '../Tooltip/Tooltip.js';
3
4
  import { IconButton } from '../IconButton/IconButton.js';
4
5
  import { useLocalization } from '../Provider/Localization.js';
5
6
  import { Calendar } from '../Calendar/Calendar.js';
@@ -29,10 +30,14 @@ const Datepicker = /*#__PURE__*/forwardRef(function Datepicker(props, ref) {
29
30
  "data-taco": "datepicker",
30
31
  style: style
31
32
  }, /*#__PURE__*/createElement(Input, Object.assign({}, input, {
32
- button: /*#__PURE__*/createElement(IconButton, {
33
+ button: /*#__PURE__*/createElement(Tooltip, {
34
+ title: texts.datepicker.calendar
35
+ }, /*#__PURE__*/createElement(IconButton, {
33
36
  "aria-label": texts.datepicker.expand,
34
37
  disabled: input.disabled || input.readOnly,
35
38
  icon: "calendar",
39
+ tabIndex: -1,
40
+ className: " border-grey-300 group-peer-focus:!border-blue-300 group-peer-focus:group-peer-active:!border-blue-700 flex h-full items-center justify-center rounded-l-none rounded-r border transition-colors transition-opacity ease-in focus:z-10 focus:rounded focus:!border-blue-300 focus:outline-none",
36
41
  popover: props => /*#__PURE__*/createElement(Popover, Object.assign({}, props), /*#__PURE__*/createElement(Popover.Content, null, ({
37
42
  close
38
43
  }) => /*#__PURE__*/createElement("div", {
@@ -41,8 +46,7 @@ const Datepicker = /*#__PURE__*/forwardRef(function Datepicker(props, ref) {
41
46
  onChange: (date, event) => {
42
47
  calendar.onChange(date, event);
43
48
  close();
44
- },
45
- tabIndex: -1
49
+ }
46
50
  })), shortcuts && /*#__PURE__*/createElement("div", {
47
51
  className: "border-grey-300 flex flex-col border-l"
48
52
  }, /*#__PURE__*/createElement("span", {
@@ -66,7 +70,7 @@ const Datepicker = /*#__PURE__*/forwardRef(function Datepicker(props, ref) {
66
70
  close();
67
71
  }
68
72
  }, texts.datepicker.clear)))))
69
- })
73
+ }))
70
74
  })));
71
75
  });
72
76
  Datepicker.displayName = 'Datepicker';
@@ -1 +1 @@
1
- {"version":3,"file":"Datepicker.js","sources":["../../../../../../../src/components/Datepicker/Datepicker.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { Calendar, CalendarProps } from '../Calendar/Calendar';\nimport { Input, InputProps } from '../Input/Input';\nimport { useLocalization } from '../Provider/Localization';\nimport { useDatepicker } from './useDatepicker';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Popover } from '../Popover/Popover';\n\nexport type DatepickerTexts = {\n /** Aria-label for calendar */\n calendar: string;\n /** Clear button text */\n clear: string;\n /**\n * Aria-label for calendar icon button in the input.\n * Calendar will open when user clicks this icon button.\n */\n expand: string;\n /** Shortcut heading text */\n shortcuts: string;\n};\n\nexport type DatePickerShortcut = {\n onClick: (event: React.MouseEvent) => void;\n text: string;\n};\n\nexport type DatepickerProps = Omit<InputProps, 'value'> & {\n /** [Calendar](component:calendar) component associated with the DatePicker */\n calendar?: CalendarProps;\n /** List of shortcuts */\n shortcuts?: DatePickerShortcut[];\n /** Title for the shortcuts panel */\n shortcutsText?: string;\n /** Handler to be called when the clear button is clicked */\n onReset?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /**\n * Date value of the calendar.\n * This will be displayed in DatePicker's input in the format given to the [Provider](component:provider) component\n */\n value?: Date;\n};\n\nexport const Datepicker = React.forwardRef(function Datepicker(props: DatepickerProps, ref: React.Ref<HTMLInputElement>) {\n const { className: externalClassName, onReset: handleReset, style, shortcuts, shortcutsText, ...otherProps } = props;\n const { calendar, input } = useDatepicker(otherProps, ref);\n const { texts } = useLocalization();\n const className = cn('inline-flex w-full text-black font-normal', externalClassName);\n\n return (\n <span className={className} data-taco=\"datepicker\" style={style}>\n <Input\n {...input}\n button={\n <IconButton\n aria-label={texts.datepicker.expand}\n disabled={input.disabled || input.readOnly}\n icon=\"calendar\"\n popover={props => (\n <Popover {...props}>\n <Popover.Content>\n {({ close }) => (\n <div className=\"-m-3 flex\">\n <Calendar\n {...calendar}\n onChange={(date: Date, event?: React.MouseEvent<HTMLDivElement>) => {\n calendar.onChange(date, event);\n close();\n }}\n tabIndex={-1}\n />\n {shortcuts && (\n <div className=\"border-grey-300 flex flex-col border-l\">\n <span className=\"m-4 mb-3 flex h-8 w-32 items-center text-xs font-semibold\">\n {shortcutsText ?? texts.datepicker.shortcuts}\n </span>\n <ul>\n {shortcuts.map(shortcut => (\n <li key={shortcut.text}>\n <button\n type=\"button\"\n className=\"hover:wcag-grey-200 flex w-full items-start px-4 py-1 text-xs\"\n onClick={event => {\n event.persist();\n shortcut.onClick(event);\n close();\n }}>\n {shortcut.text}\n </button>\n </li>\n ))}\n </ul>\n {handleReset && (\n <button\n type=\"button\"\n className=\"my-4 mx-auto mt-auto inline-flex cursor-pointer border-none bg-transparent text-xs text-blue-500 hover:text-blue-300\"\n onClick={event => {\n event.persist();\n handleReset(event);\n close();\n }}>\n {texts.datepicker.clear}\n </button>\n )}\n </div>\n )}\n </div>\n )}\n </Popover.Content>\n </Popover>\n )}\n />\n }\n />\n </span>\n );\n});\nDatepicker.displayName = 'Datepicker';\n"],"names":["Datepicker","React","props","ref","className","externalClassName","onReset","handleReset","style","shortcuts","shortcutsText","otherProps","calendar","input","useDatepicker","texts","useLocalization","cn","Input","button","IconButton","datepicker","expand","disabled","readOnly","icon","popover","Popover","Content","close","Calendar","onChange","date","event","tabIndex","map","shortcut","key","text","type","onClick","persist","clear","displayName"],"mappings":";;;;;;;;;MA4CaA,UAAU,gBAAGC,UAAgB,CAAC,SAASD,UAAU,CAACE,KAAsB,EAAEC,GAAgC;EACnH,MAAM;IAAEC,SAAS,EAAEC,iBAAiB;IAAEC,OAAO,EAAEC,WAAW;IAAEC,KAAK;IAAEC,SAAS;IAAEC,aAAa;IAAE,GAAGC;GAAY,GAAGT,KAAK;EACpH,MAAM;IAAEU,QAAQ;IAAEC;GAAO,GAAGC,aAAa,CAACH,UAAU,EAAER,GAAG,CAAC;EAC1D,MAAM;IAAEY;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMZ,SAAS,GAAGa,EAAE,CAAC,2CAA2C,EAAEZ,iBAAiB,CAAC;EAEpF,oBACIJ;IAAMG,SAAS,EAAEA,SAAS;iBAAY,YAAY;IAACI,KAAK,EAAEA;kBACtDP,cAACiB,KAAK,oBACEL,KAAK;IACTM,MAAM,eACFlB,cAACmB,UAAU;oBACKL,KAAK,CAACM,UAAU,CAACC,MAAM;MACnCC,QAAQ,EAAEV,KAAK,CAACU,QAAQ,IAAIV,KAAK,CAACW,QAAQ;MAC1CC,IAAI,EAAC,UAAU;MACfC,OAAO,EAAExB,KAAK,iBACVD,cAAC0B,OAAO,oBAAKzB,KAAK,gBACdD,cAAC0B,OAAO,CAACC,OAAO,QACX,CAAC;QAAEC;OAAO,kBACP5B;QAAKG,SAAS,EAAC;sBACXH,cAAC6B,QAAQ,oBACDlB,QAAQ;QACZmB,QAAQ,EAAE,CAACC,IAAU,EAAEC,KAAwC;UAC3DrB,QAAQ,CAACmB,QAAQ,CAACC,IAAI,EAAEC,KAAK,CAAC;UAC9BJ,KAAK,EAAE;SACV;QACDK,QAAQ,EAAE,CAAC;SACb,EACDzB,SAAS,iBACNR;QAAKG,SAAS,EAAC;sBACXH;QAAMG,SAAS,EAAC;SACXM,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAIK,KAAK,CAACM,UAAU,CAACZ,SAAS,CACzC,eACPR,0BACKQ,SAAS,CAAC0B,GAAG,CAACC,QAAQ,iBACnBnC;QAAIoC,GAAG,EAAED,QAAQ,CAACE;sBACdrC;QACIsC,IAAI,EAAC,QAAQ;QACbnC,SAAS,EAAC,+DAA+D;QACzEoC,OAAO,EAAEP,KAAK;UACVA,KAAK,CAACQ,OAAO,EAAE;UACfL,QAAQ,CAACI,OAAO,CAACP,KAAK,CAAC;UACvBJ,KAAK,EAAE;;SAEVO,QAAQ,CAACE,IAAI,CACT,CAEhB,CAAC,CACD,EACJ/B,WAAW,iBACRN;QACIsC,IAAI,EAAC,QAAQ;QACbnC,SAAS,EAAC,sHAAsH;QAChIoC,OAAO,EAAEP,KAAK;UACVA,KAAK,CAACQ,OAAO,EAAE;UACflC,WAAW,CAAC0B,KAAK,CAAC;UAClBJ,KAAK,EAAE;;SAEVd,KAAK,CAACM,UAAU,CAACqB,KAAK,CAE9B,CAER,CAER,CACa;;KAKpC,CACC;AAEf,CAAC;AACD1C,UAAU,CAAC2C,WAAW,GAAG,YAAY;;;;"}
1
+ {"version":3,"file":"Datepicker.js","sources":["../../../../../../../src/components/Datepicker/Datepicker.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { Calendar, CalendarProps } from '../Calendar/Calendar';\nimport { Input, InputProps } from '../Input/Input';\nimport { useLocalization } from '../Provider/Localization';\nimport { useDatepicker } from './useDatepicker';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Popover } from '../Popover/Popover';\nimport { Tooltip } from '../Tooltip/Tooltip';\n\nexport type DatepickerTexts = {\n /** Aria-label for calendar */\n calendar: string;\n /** Clear button text */\n clear: string;\n /**\n * Aria-label for calendar icon button in the input.\n * Calendar will open when user clicks this icon button.\n */\n expand: string;\n /** Shortcut heading text */\n shortcuts: string;\n};\n\nexport type DatePickerShortcut = {\n onClick: (event: React.MouseEvent) => void;\n text: string;\n};\n\nexport type DatepickerProps = Omit<InputProps, 'value'> & {\n /** [Calendar](component:calendar) component associated with the DatePicker */\n calendar?: CalendarProps;\n /** List of shortcuts */\n shortcuts?: DatePickerShortcut[];\n /** Title for the shortcuts panel */\n shortcutsText?: string;\n /** Handler to be called when the clear button is clicked */\n onReset?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /**\n * Date value of the calendar.\n * This will be displayed in DatePicker's input in the format given to the [Provider](component:provider) component\n */\n value?: Date;\n};\n\nexport const Datepicker = React.forwardRef(function Datepicker(props: DatepickerProps, ref: React.Ref<HTMLInputElement>) {\n const { className: externalClassName, onReset: handleReset, style, shortcuts, shortcutsText, ...otherProps } = props;\n const { calendar, input } = useDatepicker(otherProps, ref);\n const { texts } = useLocalization();\n const className = cn('inline-flex w-full text-black font-normal', externalClassName);\n\n return (\n <span className={className} data-taco=\"datepicker\" style={style}>\n <Input\n {...input}\n button={\n <Tooltip title={texts.datepicker.calendar}>\n <IconButton\n aria-label={texts.datepicker.expand}\n disabled={input.disabled || input.readOnly}\n icon=\"calendar\"\n tabIndex={-1}\n className=\" border-grey-300 group-peer-focus:!border-blue-300 group-peer-focus:group-peer-active:!border-blue-700 flex h-full items-center justify-center rounded-l-none rounded-r border transition-colors transition-opacity ease-in focus:z-10 focus:rounded focus:!border-blue-300 focus:outline-none\"\n popover={props => (\n <Popover {...props}>\n <Popover.Content>\n {({ close }) => (\n <div className=\"-m-3 flex\">\n <Calendar\n {...calendar}\n onChange={(date: Date, event?: React.MouseEvent<HTMLDivElement>) => {\n calendar.onChange(date, event);\n close();\n }}\n />\n {shortcuts && (\n <div className=\"border-grey-300 flex flex-col border-l\">\n <span className=\"m-4 mb-3 flex h-8 w-32 items-center text-xs font-semibold\">\n {shortcutsText ?? texts.datepicker.shortcuts}\n </span>\n <ul>\n {shortcuts.map(shortcut => (\n <li key={shortcut.text}>\n <button\n type=\"button\"\n className=\"hover:wcag-grey-200 flex w-full items-start px-4 py-1 text-xs\"\n onClick={event => {\n event.persist();\n shortcut.onClick(event);\n close();\n }}>\n {shortcut.text}\n </button>\n </li>\n ))}\n </ul>\n {handleReset && (\n <button\n type=\"button\"\n className=\"my-4 mx-auto mt-auto inline-flex cursor-pointer border-none bg-transparent text-xs text-blue-500 hover:text-blue-300\"\n onClick={event => {\n event.persist();\n handleReset(event);\n close();\n }}>\n {texts.datepicker.clear}\n </button>\n )}\n </div>\n )}\n </div>\n )}\n </Popover.Content>\n </Popover>\n )}\n />\n </Tooltip>\n }\n />\n </span>\n );\n});\nDatepicker.displayName = 'Datepicker';\n"],"names":["Datepicker","React","props","ref","className","externalClassName","onReset","handleReset","style","shortcuts","shortcutsText","otherProps","calendar","input","useDatepicker","texts","useLocalization","cn","Input","button","Tooltip","title","datepicker","IconButton","expand","disabled","readOnly","icon","tabIndex","popover","Popover","Content","close","Calendar","onChange","date","event","map","shortcut","key","text","type","onClick","persist","clear","displayName"],"mappings":";;;;;;;;;;MA6CaA,UAAU,gBAAGC,UAAgB,CAAC,SAASD,UAAU,CAACE,KAAsB,EAAEC,GAAgC;EACnH,MAAM;IAAEC,SAAS,EAAEC,iBAAiB;IAAEC,OAAO,EAAEC,WAAW;IAAEC,KAAK;IAAEC,SAAS;IAAEC,aAAa;IAAE,GAAGC;GAAY,GAAGT,KAAK;EACpH,MAAM;IAAEU,QAAQ;IAAEC;GAAO,GAAGC,aAAa,CAACH,UAAU,EAAER,GAAG,CAAC;EAC1D,MAAM;IAAEY;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMZ,SAAS,GAAGa,EAAE,CAAC,2CAA2C,EAAEZ,iBAAiB,CAAC;EAEpF,oBACIJ;IAAMG,SAAS,EAAEA,SAAS;iBAAY,YAAY;IAACI,KAAK,EAAEA;kBACtDP,cAACiB,KAAK,oBACEL,KAAK;IACTM,MAAM,eACFlB,cAACmB,OAAO;MAACC,KAAK,EAAEN,KAAK,CAACO,UAAU,CAACV;oBAC7BX,cAACsB,UAAU;oBACKR,KAAK,CAACO,UAAU,CAACE,MAAM;MACnCC,QAAQ,EAAEZ,KAAK,CAACY,QAAQ,IAAIZ,KAAK,CAACa,QAAQ;MAC1CC,IAAI,EAAC,UAAU;MACfC,QAAQ,EAAE,CAAC,CAAC;MACZxB,SAAS,EAAC,gSAAgS;MAC1SyB,OAAO,EAAE3B,KAAK,iBACVD,cAAC6B,OAAO,oBAAK5B,KAAK,gBACdD,cAAC6B,OAAO,CAACC,OAAO,QACX,CAAC;QAAEC;OAAO,kBACP/B;QAAKG,SAAS,EAAC;sBACXH,cAACgC,QAAQ,oBACDrB,QAAQ;QACZsB,QAAQ,EAAE,CAACC,IAAU,EAAEC,KAAwC;UAC3DxB,QAAQ,CAACsB,QAAQ,CAACC,IAAI,EAAEC,KAAK,CAAC;UAC9BJ,KAAK,EAAE;;SAEb,EACDvB,SAAS,iBACNR;QAAKG,SAAS,EAAC;sBACXH;QAAMG,SAAS,EAAC;SACXM,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAIK,KAAK,CAACO,UAAU,CAACb,SAAS,CACzC,eACPR,0BACKQ,SAAS,CAAC4B,GAAG,CAACC,QAAQ,iBACnBrC;QAAIsC,GAAG,EAAED,QAAQ,CAACE;sBACdvC;QACIwC,IAAI,EAAC,QAAQ;QACbrC,SAAS,EAAC,+DAA+D;QACzEsC,OAAO,EAAEN,KAAK;UACVA,KAAK,CAACO,OAAO,EAAE;UACfL,QAAQ,CAACI,OAAO,CAACN,KAAK,CAAC;UACvBJ,KAAK,EAAE;;SAEVM,QAAQ,CAACE,IAAI,CACT,CAEhB,CAAC,CACD,EACJjC,WAAW,iBACRN;QACIwC,IAAI,EAAC,QAAQ;QACbrC,SAAS,EAAC,sHAAsH;QAChIsC,OAAO,EAAEN,KAAK;UACVA,KAAK,CAACO,OAAO,EAAE;UACfpC,WAAW,CAAC6B,KAAK,CAAC;UAClBJ,KAAK,EAAE;;SAEVjB,KAAK,CAACO,UAAU,CAACsB,KAAK,CAE9B,CAER,CAER,CACa;MAG5B;KAGZ,CACC;AAEf,CAAC;AACD5C,UAAU,CAAC6C,WAAW,GAAG,YAAY;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { forwardRef, useState, useMemo, useCallback, useEffect, createElement } from 'react';
2
2
  import cn from 'classnames';
3
- import { useControllableState } from '@radix-ui/react-use-controllable-state';
4
3
  import { Root } from '@radix-ui/react-dialog';
5
4
  import { DrawerContext } from './Context.js';
6
5
  import { Content, InnerContent, Title, Footer, Close, Actions } from './components/Content.js';
6
+ import { useControllableState } from '@radix-ui/react-use-controllable-state';
7
7
  import { Trigger } from './components/Trigger.js';
8
8
 
9
9
  const Outlet = /*#__PURE__*/forwardRef(function Outlet(props, ref) {
@@ -4,10 +4,10 @@ import { Backdrop } from '../../Backdrop/Backdrop.js';
4
4
  import { IconButton } from '../../IconButton/IconButton.js';
5
5
  import { useLocalization } from '../../Provider/Localization.js';
6
6
  import { useMergedRef } from '../../../hooks/useMergedRef.js';
7
- import { Group } from '../../Group/Group.js';
8
- import { useCurrentMenu } from '../../Menu/Context.js';
9
7
  import { Title as Title$1, Close as Close$1, Portal as Portal$1, Overlay, Content as Content$1 } from '@radix-ui/react-dialog';
10
8
  import { useDraggable } from '../../../utils/hooks/useDraggable.js';
9
+ import { Group } from '../../Group/Group.js';
10
+ import { useCurrentMenu } from '../../Menu/Context.js';
11
11
  import { useCurrentDrawer } from '../Context.js';
12
12
  import { getBackdropClassNames, getDrawerContainerClassNames, getDrawerContentClassNames, getDrawerDragHandlerClassNames } from '../util.js';
13
13
  import { useGlobalKeyboardShortcut } from '../../../hooks/useGlobalKeyboardShortcut.js';
@@ -2,9 +2,9 @@ import React__default from 'react';
2
2
  import { Icon } from '../../Icon/Icon.js';
3
3
  import { useLocalization } from '../../Provider/Localization.js';
4
4
  import { Button } from '../../Button/Button.js';
5
- import { useControllableState } from '@radix-ui/react-use-controllable-state';
6
5
  import { Root, Trigger, Content } from '@radix-ui/react-popover';
7
6
  import { createCustomKeyboardEvent } from '../../../utils/input.js';
7
+ import { useControllableState } from '@radix-ui/react-use-controllable-state';
8
8
  import { SearchInput } from '../../SearchInput/SearchInput.js';
9
9
  import { Root as Root$1 } from '../../../primitives/Collection/components/Root.js';
10
10
  import '../../../primitives/Collection/Collection.js';
@@ -4,19 +4,15 @@ import { IconButton } from '../../IconButton/IconButton.js';
4
4
 
5
5
  const Button = /*#__PURE__*/React__default.forwardRef(function Button(props, ref) {
6
6
  const {
7
- as = 'li',
8
7
  ...attributes
9
8
  } = props;
10
9
  const className = cn(getButtonClasses(), props.className);
11
- const Tag = as;
12
- return /*#__PURE__*/React__default.createElement(Tag, {
13
- className: "contents"
14
- }, /*#__PURE__*/React__default.createElement(IconButton, Object.assign({}, attributes, {
10
+ return /*#__PURE__*/React__default.createElement(IconButton, Object.assign({}, attributes, {
15
11
  appearance: "discrete",
16
12
  className: className,
17
13
  "data-taco": "header-button",
18
14
  ref: ref
19
- })));
15
+ }));
20
16
  });
21
17
  const getButtonClasses = () => cn('!h-9 !w-9 flex-shrink-0 flex-grow-0 cursor-pointer !rounded-full relative', 'focus:!outline-none focus:!shadow-none focus-visible:!yt-focus-dark ', 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]', '!text-white hover:text-white focus:text-white');
22
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../../../../../src/components/Header/components/Button.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { IconButton, IconButtonProps } from '../../IconButton/IconButton';\n\nexport type ButtonProps = Omit<IconButtonProps, 'appearance' | 'aria-label'> & {\n as?: string;\n 'aria-label': string;\n};\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Button(props, ref) {\n const { as = 'li', ...attributes } = props;\n const className = cn(getButtonClasses(), props.className);\n const Tag = as as any;\n\n return (\n <Tag className=\"contents\">\n <IconButton {...attributes} appearance=\"discrete\" className={className} data-taco=\"header-button\" ref={ref} />\n </Tag>\n );\n});\n\nexport const getButtonClasses = () =>\n cn(\n '!h-9 !w-9 flex-shrink-0 flex-grow-0 cursor-pointer !rounded-full relative',\n 'focus:!outline-none focus:!shadow-none focus-visible:!yt-focus-dark ',\n 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]',\n '!text-white hover:text-white focus:text-white'\n );\n"],"names":["Button","React","forwardRef","props","ref","as","attributes","className","cn","getButtonClasses","Tag","IconButton","appearance"],"mappings":";;;;MASaA,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAAiC,SAASF,MAAM,CAACG,KAAK,EAAEC,GAAG;EAC7F,MAAM;IAAEC,EAAE,GAAG,IAAI;IAAE,GAAGC;GAAY,GAAGH,KAAK;EAC1C,MAAMI,SAAS,GAAGC,EAAE,CAACC,gBAAgB,EAAE,EAAEN,KAAK,CAACI,SAAS,CAAC;EACzD,MAAMG,GAAG,GAAGL,EAAS;EAErB,oBACIJ,6BAACS,GAAG;IAACH,SAAS,EAAC;kBACXN,6BAACU,UAAU,oBAAKL,UAAU;IAAEM,UAAU,EAAC,UAAU;IAACL,SAAS,EAAEA,SAAS;iBAAY,eAAe;IAACH,GAAG,EAAEA;KAAO,CAC5G;AAEd,CAAC;MAEYK,gBAAgB,GAAG,MAC5BD,EAAE,CACE,2EAA2E,EAC3E,sEAAsE,EACtE,2FAA2F,EAC3F,+CAA+C;;;;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../../../../../src/components/Header/components/Button.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { IconButton, IconButtonProps } from '../../IconButton/IconButton';\n\nexport type ButtonProps = Omit<IconButtonProps, 'appearance' | 'aria-label'> & {\n 'aria-label': string;\n};\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Button(props, ref) {\n const { ...attributes } = props;\n const className = cn(getButtonClasses(), props.className);\n\n return <IconButton {...attributes} appearance=\"discrete\" className={className} data-taco=\"header-button\" ref={ref} />;\n});\n\nexport const getButtonClasses = () =>\n cn(\n '!h-9 !w-9 flex-shrink-0 flex-grow-0 cursor-pointer !rounded-full relative',\n 'focus:!outline-none focus:!shadow-none focus-visible:!yt-focus-dark ',\n 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]',\n '!text-white hover:text-white focus:text-white'\n );\n"],"names":["Button","React","forwardRef","props","ref","attributes","className","cn","getButtonClasses","IconButton","appearance"],"mappings":";;;;MAQaA,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAAiC,SAASF,MAAM,CAACG,KAAK,EAAEC,GAAG;EAC7F,MAAM;IAAE,GAAGC;GAAY,GAAGF,KAAK;EAC/B,MAAMG,SAAS,GAAGC,EAAE,CAACC,gBAAgB,EAAE,EAAEL,KAAK,CAACG,SAAS,CAAC;EAEzD,oBAAOL,6BAACQ,UAAU,oBAAKJ,UAAU;IAAEK,UAAU,EAAC,UAAU;IAACJ,SAAS,EAAEA,SAAS;iBAAY,eAAe;IAACF,GAAG,EAAEA;KAAO;AACzH,CAAC;MAEYI,gBAAgB,GAAG,MAC5BD,EAAE,CACE,2EAA2E,EAC3E,sEAAsE,EACtE,2FAA2F,EAC3F,+CAA+C;;;;"}
@@ -7,7 +7,6 @@ import { useLocalization } from '../../Provider/Localization.js';
7
7
 
8
8
  const Link = /*#__PURE__*/React__default.forwardRef(function Link(props, ref) {
9
9
  const {
10
- as = 'li',
11
10
  children,
12
11
  icon,
13
12
  isNew,
@@ -17,9 +16,8 @@ const Link = /*#__PURE__*/React__default.forwardRef(function Link(props, ref) {
17
16
  const {
18
17
  texts
19
18
  } = useLocalization();
20
- const Tag = as;
21
19
  const className = cn(getLinkClasses(icon), 'relative', props.className);
22
- let link = /*#__PURE__*/React__default.createElement("a", Object.assign({}, otherProps, {
20
+ const link = /*#__PURE__*/React__default.createElement("a", Object.assign({}, otherProps, {
23
21
  className: className,
24
22
  "data-taco": "header-link",
25
23
  ref: ref,
@@ -32,13 +30,11 @@ const Link = /*#__PURE__*/React__default.forwardRef(function Link(props, ref) {
32
30
  className: "absolute top-0 right-0 -mt-1.5 -mr-2.5 !h-3 !px-0.5 text-[0.55rem] font-normal"
33
31
  }, texts.header.new) : null);
34
32
  if (tooltip) {
35
- link = /*#__PURE__*/React__default.createElement(Tooltip, {
33
+ return /*#__PURE__*/React__default.createElement(Tooltip, {
36
34
  title: tooltip
37
35
  }, link);
38
36
  }
39
- return /*#__PURE__*/React__default.createElement(Tag, {
40
- className: "contents"
41
- }, link);
37
+ return link;
42
38
  });
43
39
  const getLinkClasses = (icon = undefined) => cn('flex h-8 flex-shrink-0 flex-grow-0 cursor-pointer items-center justify-center ', 'focus:!shadow-none focus:!outline-none focus-visible:!yt-focus-dark', 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]', '!text-white hover:text-white focus:text-white', {
44
40
  '!rounded-full !h-9 !w-9': icon,
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sources":["../../../../../../../../src/components/Header/components/Link.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName } from '../../Icon/Icon';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { Badge } from '../../Badge/Badge';\nimport { useLocalization } from '../../Provider/Localization';\n\nexport type BaseLinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> & {\n as?: string;\n tooltip?: string;\n};\n\ninterface LinkPropsWithoutIcon extends BaseLinkProps {\n children: JSX.Element | string;\n icon?: never;\n isNew?: never;\n}\n\ninterface LinkPropsWithIcon extends Omit<BaseLinkProps, 'aria-label'> {\n 'aria-label': string;\n children?: never;\n icon: IconName;\n isNew?: boolean;\n}\n\nexport type LinkProps = LinkPropsWithoutIcon | LinkPropsWithIcon;\n\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(function Link(props, ref) {\n const { as = 'li', children, icon, isNew, tooltip, ...otherProps } = props;\n const { texts } = useLocalization();\n const Tag = as as any;\n const className = cn(getLinkClasses(icon), 'relative', props.className);\n\n let link = (\n <a {...otherProps} className={className} data-taco=\"header-link\" ref={ref} tabIndex={0}>\n {icon ? <Icon name={icon} /> : null}\n {children}\n {isNew ? (\n <Badge\n color=\"blue\"\n small\n className=\"absolute top-0 right-0 -mt-1.5 -mr-2.5 !h-3 !px-0.5 text-[0.55rem] font-normal\">\n {texts.header.new}\n </Badge>\n ) : null}\n </a>\n );\n\n if (tooltip) {\n link = <Tooltip title={tooltip}>{link}</Tooltip>;\n }\n\n return <Tag className=\"contents\">{link}</Tag>;\n});\n\nexport const getLinkClasses = (icon: IconName | undefined = undefined) =>\n cn(\n 'flex h-8 flex-shrink-0 flex-grow-0 cursor-pointer items-center justify-center ',\n 'focus:!shadow-none focus:!outline-none focus-visible:!yt-focus-dark',\n 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]',\n '!text-white hover:text-white focus:text-white',\n {\n '!rounded-full !h-9 !w-9': icon,\n 'whitespace-nowrap px-3 rounded text-sm hidden lg:flex': !icon,\n }\n );\n"],"names":["Link","React","forwardRef","props","ref","as","children","icon","isNew","tooltip","otherProps","texts","useLocalization","Tag","className","cn","getLinkClasses","link","tabIndex","Icon","name","Badge","color","small","header","new","Tooltip","title","undefined"],"mappings":";;;;;;;MA2BaA,IAAI,gBAAGC,cAAK,CAACC,UAAU,CAA+B,SAASF,IAAI,CAACG,KAAK,EAAEC,GAAG;EACvF,MAAM;IAAEC,EAAE,GAAG,IAAI;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,KAAK;IAAEC,OAAO;IAAE,GAAGC;GAAY,GAAGP,KAAK;EAC1E,MAAM;IAAEQ;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,GAAG,GAAGR,EAAS;EACrB,MAAMS,SAAS,GAAGC,EAAE,CAACC,cAAc,CAACT,IAAI,CAAC,EAAE,UAAU,EAAEJ,KAAK,CAACW,SAAS,CAAC;EAEvE,IAAIG,IAAI,gBACJhB,oDAAOS,UAAU;IAAEI,SAAS,EAAEA,SAAS;iBAAY,aAAa;IAACV,GAAG,EAAEA,GAAG;IAAEc,QAAQ,EAAE;MAChFX,IAAI,gBAAGN,6BAACkB,IAAI;IAACC,IAAI,EAAEb;IAAQ,GAAG,IAAI,EAClCD,QAAQ,EACRE,KAAK,gBACFP,6BAACoB,KAAK;IACFC,KAAK,EAAC,MAAM;IACZC,KAAK;IACLT,SAAS,EAAC;KACTH,KAAK,CAACa,MAAM,CAACC,GAAG,CACb,GACR,IAAI,CAEf;EAED,IAAIhB,OAAO,EAAE;IACTQ,IAAI,gBAAGhB,6BAACyB,OAAO;MAACC,KAAK,EAAElB;OAAUQ,IAAI,CAAW;;EAGpD,oBAAOhB,6BAACY,GAAG;IAACC,SAAS,EAAC;KAAYG,IAAI,CAAO;AACjD,CAAC;MAEYD,cAAc,GAAG,CAACT,OAA6BqB,SAAS,KACjEb,EAAE,CACE,gFAAgF,EAChF,qEAAqE,EACrE,2FAA2F,EAC3F,+CAA+C,EAC/C;EACI,yBAAyB,EAAER,IAAI;EAC/B,uDAAuD,EAAE,CAACA;CAC7D;;;;"}
1
+ {"version":3,"file":"Link.js","sources":["../../../../../../../../src/components/Header/components/Link.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName } from '../../Icon/Icon';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { Badge } from '../../Badge/Badge';\nimport { useLocalization } from '../../Provider/Localization';\n\nexport type BaseLinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> & {\n tooltip?: string;\n};\n\ninterface LinkPropsWithoutIcon extends BaseLinkProps {\n children: JSX.Element | string;\n icon?: never;\n isNew?: never;\n}\n\ninterface LinkPropsWithIcon extends Omit<BaseLinkProps, 'aria-label'> {\n 'aria-label': string;\n children?: never;\n icon: IconName;\n isNew?: boolean;\n}\n\nexport type LinkProps = LinkPropsWithoutIcon | LinkPropsWithIcon;\n\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(function Link(props, ref) {\n const { children, icon, isNew, tooltip, ...otherProps } = props;\n const { texts } = useLocalization();\n const className = cn(getLinkClasses(icon), 'relative', props.className);\n\n const link = (\n <a {...otherProps} className={className} data-taco=\"header-link\" ref={ref} tabIndex={0}>\n {icon ? <Icon name={icon} /> : null}\n {children}\n {isNew ? (\n <Badge\n color=\"blue\"\n small\n className=\"absolute top-0 right-0 -mt-1.5 -mr-2.5 !h-3 !px-0.5 text-[0.55rem] font-normal\">\n {texts.header.new}\n </Badge>\n ) : null}\n </a>\n );\n\n if (tooltip) {\n return <Tooltip title={tooltip}>{link}</Tooltip>;\n }\n\n return link;\n});\n\nexport const getLinkClasses = (icon: IconName | undefined = undefined) =>\n cn(\n 'flex h-8 flex-shrink-0 flex-grow-0 cursor-pointer items-center justify-center ',\n 'focus:!shadow-none focus:!outline-none focus-visible:!yt-focus-dark',\n 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]',\n '!text-white hover:text-white focus:text-white',\n {\n '!rounded-full !h-9 !w-9': icon,\n 'whitespace-nowrap px-3 rounded text-sm hidden lg:flex': !icon,\n }\n );\n"],"names":["Link","React","forwardRef","props","ref","children","icon","isNew","tooltip","otherProps","texts","useLocalization","className","cn","getLinkClasses","link","tabIndex","Icon","name","Badge","color","small","header","new","Tooltip","title","undefined"],"mappings":";;;;;;;MA0BaA,IAAI,gBAAGC,cAAK,CAACC,UAAU,CAA+B,SAASF,IAAI,CAACG,KAAK,EAAEC,GAAG;EACvF,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,KAAK;IAAEC,OAAO;IAAE,GAAGC;GAAY,GAAGN,KAAK;EAC/D,MAAM;IAAEO;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,SAAS,GAAGC,EAAE,CAACC,cAAc,CAACR,IAAI,CAAC,EAAE,UAAU,EAAEH,KAAK,CAACS,SAAS,CAAC;EAEvE,MAAMG,IAAI,gBACNd,oDAAOQ,UAAU;IAAEG,SAAS,EAAEA,SAAS;iBAAY,aAAa;IAACR,GAAG,EAAEA,GAAG;IAAEY,QAAQ,EAAE;MAChFV,IAAI,gBAAGL,6BAACgB,IAAI;IAACC,IAAI,EAAEZ;IAAQ,GAAG,IAAI,EAClCD,QAAQ,EACRE,KAAK,gBACFN,6BAACkB,KAAK;IACFC,KAAK,EAAC,MAAM;IACZC,KAAK;IACLT,SAAS,EAAC;KACTF,KAAK,CAACY,MAAM,CAACC,GAAG,CACb,GACR,IAAI,CAEf;EAED,IAAIf,OAAO,EAAE;IACT,oBAAOP,6BAACuB,OAAO;MAACC,KAAK,EAAEjB;OAAUO,IAAI,CAAW;;EAGpD,OAAOA,IAAI;AACf,CAAC;MAEYD,cAAc,GAAG,CAACR,OAA6BoB,SAAS,KACjEb,EAAE,CACE,gFAAgF,EAChF,qEAAqE,EACrE,2FAA2F,EAC3F,+CAA+C,EAC/C;EACI,yBAAyB,EAAEP,IAAI;EAC/B,uDAAuD,EAAE,CAACA;CAC7D;;;;"}