@atom-learning/components 6.3.1 → 6.4.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.
- package/dist/components/alert-dialog/alert-context/AlertDialog.js +1 -1
- package/dist/components/alert-dialog/alert-context/AlertDialog.js.map +1 -1
- package/dist/components/badge/Badge.d.ts +1 -9
- package/dist/components/badge/Badge.js +1 -1
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/banner/BannerContainer.d.ts +2 -10
- package/dist/components/banner/BannerContainer.js +1 -1
- package/dist/components/banner/BannerContainer.js.map +1 -1
- package/dist/components/banner/BannerContext.d.ts +3 -1
- package/dist/components/banner/BannerContext.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegular.d.ts +1 -1
- package/dist/components/banner/banner-regular/BannerRegularActions.d.ts +1 -2
- package/dist/components/banner/banner-regular/BannerRegularActions.js +1 -1
- package/dist/components/banner/banner-regular/BannerRegularActions.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlim.d.ts +12 -17
- package/dist/components/banner/banner-slim/BannerSlimActions.d.ts +9 -2
- package/dist/components/banner/banner-slim/BannerSlimActions.js +1 -1
- package/dist/components/banner/banner-slim/BannerSlimActions.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimContainer.d.ts +3 -11
- package/dist/components/banner/banner-slim/BannerSlimContainer.js +1 -1
- package/dist/components/banner/banner-slim/BannerSlimContainer.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimContent.d.ts +3 -17
- package/dist/components/banner/banner-slim/BannerSlimContent.js +1 -1
- package/dist/components/banner/banner-slim/BannerSlimContent.js.map +1 -1
- package/dist/components/calendar/Calendar.js +1 -1
- package/dist/components/calendar/Calendar.js.map +1 -1
- package/dist/components/checkbox-tree/CheckboxTree.d.ts +161 -175
- package/dist/components/checkbox-tree/CheckboxTreeItemContent.d.ts +6 -2
- package/dist/components/checkbox-tree/CheckboxTreeItemContent.js +1 -1
- package/dist/components/checkbox-tree/CheckboxTreeItemContent.js.map +1 -1
- package/dist/components/chip/ChipGroup.d.ts +5 -16
- package/dist/components/chip/ChipGroup.js +1 -1
- package/dist/components/chip/ChipGroup.js.map +1 -1
- package/dist/components/chip-toggle-group/ChipToggleGroupRoot.d.ts +7 -23
- package/dist/components/data-table/DataTable.d.ts +5 -29
- package/dist/components/data-table/DataTableBulkActions.js +1 -1
- package/dist/components/data-table/DataTableBulkActions.js.map +1 -1
- package/dist/components/data-table/DataTableBulkActionsFloating.d.ts +1 -9
- package/dist/components/data-table/DataTableBulkActionsFloating.js +1 -1
- package/dist/components/data-table/DataTableBulkActionsFloating.js.map +1 -1
- package/dist/components/data-table/DataTableHeaderCell.js +1 -1
- package/dist/components/data-table/DataTableHeaderCell.js.map +1 -1
- package/dist/components/data-table/DataTableLoading.d.ts +3 -11
- package/dist/components/dialog/Dialog.d.ts +5 -1
- package/dist/components/dialog/DialogFooter.d.ts +5 -3
- package/dist/components/dialog/DialogFooter.js +1 -1
- package/dist/components/dialog/DialogFooter.js.map +1 -1
- package/dist/components/drawer/DrawerContent.js +1 -1
- package/dist/components/drawer/DrawerContent.js.map +1 -1
- package/dist/components/empty-state/EmptyState.d.ts +1 -9
- package/dist/components/empty-state/EmptyState.js +1 -1
- package/dist/components/empty-state/EmptyState.js.map +1 -1
- package/dist/components/field-wrapper/FieldWrapper.js +1 -1
- package/dist/components/field-wrapper/FieldWrapper.js.map +1 -1
- package/dist/components/file-drop/FileDrop.d.ts +2 -4
- package/dist/components/file-drop/FileDrop.js +1 -1
- package/dist/components/file-drop/FileDrop.js.map +1 -1
- package/dist/components/flex/Flex.d.ts +3 -3
- package/dist/components/index.d.ts +0 -1
- package/dist/components/inline-message/InlineMessage.d.ts +1 -9
- package/dist/components/inline-message/InlineMessage.js +1 -1
- package/dist/components/inline-message/InlineMessage.js.map +1 -1
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/loader/Loader.d.ts +1 -2
- package/dist/components/loader/Loader.js +1 -1
- package/dist/components/loader/Loader.js.map +1 -1
- package/dist/components/markdown-content/MarkdownContent.d.ts +1 -9
- package/dist/components/markdown-content/MarkdownContent.js +1 -1
- package/dist/components/markdown-content/MarkdownContent.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.d.ts +1 -11
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.d.ts +2 -3
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.js +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.js.map +1 -1
- package/dist/components/number-input/NumberInput.js +1 -1
- package/dist/components/number-input/NumberInput.js.map +1 -1
- package/dist/components/pagination/Pagination.js +1 -1
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationPopover.js +1 -1
- package/dist/components/pagination/PaginationPopover.js.map +1 -1
- package/dist/components/radio-card/RadioCardGroup.d.ts +2 -3
- package/dist/components/radio-card/RadioCardGroup.js +1 -1
- package/dist/components/radio-card/RadioCardGroup.js.map +1 -1
- package/dist/components/section-message/SectionMessage.d.ts +6 -7
- package/dist/components/section-message/SectionMessage.js +1 -1
- package/dist/components/section-message/SectionMessage.js.map +1 -1
- package/dist/components/section-message/SectionMessageLayout.d.ts +6 -7
- package/dist/components/section-message/SectionMessageLayout.js +1 -1
- package/dist/components/section-message/SectionMessageLayout.js.map +1 -1
- package/dist/components/side-bar/SideBar.d.ts +2 -2
- package/dist/components/side-bar/SideBarComponents.d.ts +21 -22
- package/dist/components/side-bar/SideBarComponents.js +1 -1
- package/dist/components/side-bar/SideBarComponents.js.map +1 -1
- package/dist/components/stepper/StepperStepBullet.d.ts +1 -9
- package/dist/components/stepper/StepperStepBullet.js +1 -1
- package/dist/components/stepper/StepperStepBullet.js.map +1 -1
- package/dist/components/stepper/StepperStepContainer.d.ts +1 -9
- package/dist/components/stepper/StepperStepContainer.js +1 -1
- package/dist/components/stepper/StepperStepContainer.js.map +1 -1
- package/dist/components/stepper/StepperSteps.js +1 -1
- package/dist/components/stepper/StepperSteps.js.map +1 -1
- package/dist/components/tile-toggle-group/TileToggleGroupRoot.d.ts +2 -22
- package/dist/components/tile-toggle-group/TileToggleGroupRoot.js.map +1 -1
- package/dist/components/toast/Toast.d.ts +1 -9
- package/dist/components/toast/Toast.js +1 -1
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupRoot.d.ts +3 -11
- package/dist/components/toggle-group/ToggleGroupRoot.js +1 -1
- package/dist/components/toggle-group/ToggleGroupRoot.js.map +1 -1
- package/dist/components/toggle-group/index.d.ts +3 -11
- package/dist/components/top-bar/TopBar.d.ts +1 -9
- package/dist/components/top-bar/TopBar.js +1 -1
- package/dist/components/top-bar/TopBar.js.map +1 -1
- package/dist/components/tree/Tree.d.ts +15 -824
- package/dist/components/tree/Tree.js.map +1 -1
- package/dist/components/tree/TreeCollapsibleContent.d.ts +1 -1
- package/dist/components/tree/TreeCollapsibleContent.js.map +1 -1
- package/dist/components/tree/TreeItemContent.d.ts +1 -7
- package/dist/components/tree/TreeItemContent.js +1 -1
- package/dist/components/tree/TreeItemContent.js.map +1 -1
- package/dist/components/tree/TreeList.d.ts +5 -5
- package/dist/components/tree/TreeList.js +1 -1
- package/dist/components/tree/TreeList.js.map +1 -1
- package/dist/components/tree/TreeListItem.d.ts +3 -9
- package/dist/components/tree/TreeListItem.js +1 -1
- package/dist/components/tree/TreeListItem.js.map +1 -1
- package/dist/docgen.json +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +3 -1
- package/src/animation.css +109 -0
- package/src/utilities.css +87 -0
- package/dist/components/tile/TileGroup.d.ts +0 -11
- package/dist/components/tile/TileGroup.js +0 -2
- package/dist/components/tile/TileGroup.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{Button as m}from"../../button/Button.js";import{
|
|
1
|
+
import*as e from"react";import{Button as m}from"../../button/Button.js";import{Heading as d}from"../../heading/Heading.js";import{Text as u}from"../../text/Text.js";import{AlertDialog as t}from"../AlertDialog.js";import{AlertDialogIcon as A}from"./AlertDialogIcon.js";const C=({title:c,size:i,theme:n,description:o,onAction:l,cancelActionText:a,confirmActionText:r,onClose:s,confirmElement:f,cancelElement:p,...E})=>e.createElement(t,{defaultOpen:!0},e.createElement(t.Content,{size:i,onEscapeKeyDown:x=>x.preventDefault(),onCloseAutoFocus:s,...E,className:"flex max-h-[90vh] flex-col gap-8"},e.createElement("div",{className:"flex items-center gap-2"},n&&e.createElement(A,{theme:n}),e.createElement(d,{as:t.Title,size:"sm",className:"mr-4"},c)),o&&e.createElement(u,{as:t.Description,className:"flex overflow-y-auto"},o),e.createElement("div",{className:"flex flex-wrap justify-end gap-2"},e.createElement(t.Cancel,{asChild:!0},p||a&&e.createElement(m,{size:"sm",appearance:"outline",onClick:()=>l==null?void 0:l(!1)},a)),e.createElement(t.Action,{asChild:!0},f||e.createElement(m,{size:"sm",onClick:()=>l==null?void 0:l(!0)},r)))));export{C as Alert};
|
|
2
2
|
//# sourceMappingURL=AlertDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertDialog.js","sources":["../../../../src/components/alert-dialog/alert-context/AlertDialog.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Button } from '../../button/Button'\nimport {
|
|
1
|
+
{"version":3,"file":"AlertDialog.js","sources":["../../../../src/components/alert-dialog/alert-context/AlertDialog.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Button } from '../../button/Button'\nimport { Heading } from '../../heading/Heading'\nimport { Text } from '../../text/Text'\nimport { AlertDialog } from '../AlertDialog'\nimport { AlertDialogIcon } from './AlertDialogIcon'\nimport type { alert } from './types'\n\ntype AlertDialogContentProps = React.ComponentProps<typeof AlertDialog> & {\n className?: string\n onClose: () => void\n} & alert\n\nexport const Alert = ({\n title,\n size,\n theme,\n description,\n onAction,\n cancelActionText,\n confirmActionText,\n onClose,\n confirmElement,\n cancelElement,\n ...remainingProps\n}: AlertDialogContentProps) => (\n <AlertDialog defaultOpen>\n <AlertDialog.Content\n size={size}\n onEscapeKeyDown={(e) => e.preventDefault()}\n onCloseAutoFocus={onClose}\n {...remainingProps}\n className=\"flex max-h-[90vh] flex-col gap-8\"\n >\n <div className=\"flex items-center gap-2\">\n {theme && <AlertDialogIcon theme={theme} />}\n <Heading as={AlertDialog.Title} size=\"sm\" className=\"mr-4\">\n {title}\n </Heading>\n </div>\n {description && (\n <Text as={AlertDialog.Description} className=\"flex overflow-y-auto\">\n {description}\n </Text>\n )}\n <div className=\"flex flex-wrap justify-end gap-2\">\n <AlertDialog.Cancel asChild>\n {cancelElement ||\n (cancelActionText && (\n <Button\n size=\"sm\"\n appearance=\"outline\"\n onClick={() => onAction?.(false)}\n >\n {cancelActionText}\n </Button>\n ))}\n </AlertDialog.Cancel>\n <AlertDialog.Action asChild>\n {confirmElement || (\n <Button size=\"sm\" onClick={() => onAction?.(true)}>\n {confirmActionText}\n </Button>\n )}\n </AlertDialog.Action>\n </div>\n </AlertDialog.Content>\n </AlertDialog>\n)\n"],"names":["Alert","title","size","theme","description","onAction","cancelActionText","confirmActionText","onClose","confirmElement","cancelElement","remainingProps","React","AlertDialog","e","AlertDialogIcon","Heading","Text","Button"],"mappings":"4QAca,MAAAA,EAAQ,CAAC,CACpB,MAAAC,EACA,KAAAC,EACA,MAAAC,EACA,YAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,kBAAAC,EACA,QAAAC,EACA,eAAAC,EACA,cAAAC,EACA,GAAGC,CACL,IACEC,EAAA,cAACC,EAAA,CAAY,YAAW,EAAA,EACtBD,EAAA,cAACC,EAAY,QAAZ,CACC,KAAMX,EACN,gBAAkBY,GAAMA,EAAE,iBAC1B,iBAAkBN,EACjB,GAAGG,EACJ,UAAU,kCAEVC,EAAAA,EAAA,cAAC,MAAI,CAAA,UAAU,2BACZT,GAASS,EAAA,cAACG,EAAA,CAAgB,MAAOZ,CAAAA,CAAO,EACzCS,EAAA,cAACI,EAAA,CAAQ,GAAIH,EAAY,MAAO,KAAK,KAAK,UAAU,MACjDZ,EAAAA,CACH,CACF,EACCG,GACCQ,EAAA,cAACK,EAAA,CAAK,GAAIJ,EAAY,YAAa,UAAU,wBAC1CT,CACH,EAEFQ,EAAA,cAAC,MAAA,CAAI,UAAU,kCAAA,EACbA,EAAA,cAACC,EAAY,OAAZ,CAAmB,QAAO,IACxBH,GACEJ,GACCM,EAAA,cAACM,EAAA,CACC,KAAK,KACL,WAAW,UACX,QAAS,IAAMb,GAAA,KAAA,OAAAA,EAAW,EAEzBC,CAAAA,EAAAA,CACH,CAEN,EACAM,EAAA,cAACC,EAAY,OAAZ,CAAmB,QAAO,IACxBJ,GACCG,EAAA,cAACM,EAAA,CAAO,KAAK,KAAK,QAAS,IAAMb,GAAA,YAAAA,EAAW,EAAA,CAAA,EACzCE,CACH,CAEJ,CACF,CACF,CACF"}
|
|
@@ -2,16 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import { Icon } from '../../components/icon/Icon';
|
|
3
3
|
import { colorSchemes as badgeColorSchemes } from './Badge.colorscheme.config';
|
|
4
4
|
import { BadgeText } from './BadgeText';
|
|
5
|
-
declare const StyledBadge: React.ForwardRefExoticComponent<Omit<Omit<
|
|
5
|
+
declare const StyledBadge: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
6
6
|
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
7
|
-
}, "gap" | "wrap" | "direction" | "align" | "justify"> & {
|
|
8
|
-
direction?: ("row" | "inherit" | "initial" | "row-reverse" | "column" | "column-reverse" | "revert" | "revert-layer" | "unset" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "row" | "inherit" | "initial" | "row-reverse" | "column" | "column-reverse" | "revert" | "revert-layer" | "unset">>) | undefined;
|
|
9
|
-
wrap?: ("wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse">>) | undefined;
|
|
10
|
-
justify?: ("end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch">>) | undefined;
|
|
11
|
-
align?: ("end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline">>) | undefined;
|
|
12
|
-
gap?: (0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24 | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", 0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24>>) | undefined;
|
|
13
|
-
} & {
|
|
14
|
-
as?: React.ElementType;
|
|
15
7
|
}, "size" | "emphasis" | "isClickable" | "highlighted"> & {
|
|
16
8
|
emphasis?: ("bold" | "white" | "subtle" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "bold" | "white" | "subtle">>) | undefined;
|
|
17
9
|
size?: ("sm" | "md" | "xs" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "sm" | "md" | "xs">>) | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{
|
|
1
|
+
import*as e from"react";import{Icon as v}from"../icon/Icon.js";import{styled as w}from"../../styled.js";import{useCallbackRefState as k}from"../../utilities/hooks/useCallbackRef.js";import{OptionalTooltipWrapper as y}from"../../utilities/optional-tooltip-wrapper/OptionalTooltipWrapper.js";import{colorSchemes as C,badgeSemanticNames as E}from"./Badge.colorscheme.config.js";import{BadgeContext as B,BadgeProvider as O}from"./Badge.context.js";import{BadgeIcon as n}from"./BadgeIcon.js";import{BadgeText as b}from"./BadgeText.js";const z=w("div",{base:["flex","justify-center","items-center","rounded-sm","min-w-0","border","border-white","font-body","*:not-last:mr-1"],variants:{emphasis:{white:["text-(--text-on-white)","bg-white"],subtle:["text-(--text-subtle)","bg-(--background-subtle)"],bold:["text-(--text-bold)","bg-(--background-bold)"]},size:{xs:["px-1","py-0"],sm:["px-1","py-0.5"],md:["px-2","py-1"]},isClickable:{true:["cursor-pointer"]},highlighted:{true:[]}},compoundVariants:[{isClickable:!0,emphasis:"white",class:["hover:text-(--text-on-white)","hover:bg-[color-mix(in_srgb,(--text-on-white),transparent_92%)]"]},{isClickable:!0,emphasis:"subtle",class:["hover:bg-(--background-subtle-hover)","hover:text-(--text-subtle-hover)"]},{isClickable:!0,emphasis:"bold",class:["hover:bg-(--background-bold-hover)","hover:text-(--text-bold)"]},{emphasis:"white",highlighted:!0,class:["text-(--text-on-white)","bg-[color-mix(in_srgb,(--text-on-white),transparent_92%)]"]},{emphasis:"subtle",highlighted:!0,class:["text-(--text-subtle-hover)","(--bg-background-subtle-hover)"]},{emphasis:"bold",highlighted:!0,class:["text-(--text-bold)","bg-(--background-bold-hover)"]}]},{enabledResponsiveVariants:!0}),I=e.forwardRef(({theme:o="info",emphasis:s="subtle",children:r,style:i,...l},h)=>{const{size:c,overflow:d,isOverflowing:p}=e.useContext(B),[a,g]=k();e.useImperativeHandle(h,()=>a);const u=a==null?void 0:a.textContent,x=E.includes(o),f=Object.keys(l).includes("onClick")||Object.keys(l).includes("href");return e.createElement(y,{hasTooltip:d==="ellipsis"&&p,label:u},e.createElement(z,{role:"status",emphasis:s,size:c,style:{...C[o],...i},...l,ref:g,isClickable:f&&!x},e.Children.map(r,t=>typeof t=="string"||typeof t=="number"?e.createElement(b,null,t):e.isValidElement(t)&&t.type===v?e.createElement(n,{...t.props}):t)))}),m=e.forwardRef(({size:o="sm",overflow:s="wrap",...r},i)=>e.createElement(O,{size:o,overflow:s},e.createElement(I,{...r,ref:i}))),j=Object.assign(m,{Icon:n,Text:b});m.displayName="Badge";export{j as Badge};
|
|
2
2
|
//# sourceMappingURL=Badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sources":["../../../src/components/badge/Badge.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport {
|
|
1
|
+
{"version":3,"file":"Badge.js","sources":["../../../src/components/badge/Badge.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Icon } from '~/components/icon/Icon'\nimport { styled } from '~/styled'\nimport { useCallbackRefState } from '~/utilities/hooks/useCallbackRef'\nimport { OptionalTooltipWrapper } from '~/utilities/optional-tooltip-wrapper/OptionalTooltipWrapper'\n\nimport {\n badgeSemanticNames,\n colorSchemes as badgeColorSchemes\n} from './Badge.colorscheme.config'\nimport { BadgeContext, BadgeProvider } from './Badge.context'\nimport { BadgeIcon } from './BadgeIcon'\nimport { BadgeText } from './BadgeText'\n\nconst StyledBadge = styled(\n 'div',\n {\n base: [\n 'flex',\n 'justify-center',\n 'items-center',\n 'rounded-sm',\n 'min-w-0',\n 'border',\n 'border-white',\n 'font-body',\n '*:not-last:mr-1'\n ],\n variants: {\n emphasis: {\n white: ['text-(--text-on-white)', 'bg-white'],\n subtle: ['text-(--text-subtle)', 'bg-(--background-subtle)'],\n bold: ['text-(--text-bold)', 'bg-(--background-bold)']\n },\n size: {\n xs: ['px-1', 'py-0'],\n sm: ['px-1', 'py-0.5'],\n md: ['px-2', 'py-1']\n },\n isClickable: {\n true: ['cursor-pointer']\n },\n highlighted: {\n true: []\n }\n },\n compoundVariants: [\n {\n isClickable: true,\n emphasis: 'white',\n class: [\n 'hover:text-(--text-on-white)',\n 'hover:bg-[color-mix(in_srgb,(--text-on-white),transparent_92%)]'\n ]\n },\n {\n isClickable: true,\n emphasis: 'subtle',\n class: [\n 'hover:bg-(--background-subtle-hover)',\n 'hover:text-(--text-subtle-hover)'\n ]\n },\n {\n isClickable: true,\n emphasis: 'bold',\n class: [\n 'hover:bg-(--background-bold-hover)',\n 'hover:text-(--text-bold)'\n ]\n },\n {\n emphasis: 'white',\n highlighted: true,\n class: [\n 'text-(--text-on-white)',\n 'bg-[color-mix(in_srgb,(--text-on-white),transparent_92%)]'\n ]\n },\n {\n emphasis: 'subtle',\n highlighted: true,\n class: ['text-(--text-subtle-hover)', '(--bg-background-subtle-hover)']\n },\n {\n emphasis: 'bold',\n highlighted: true,\n class: ['text-(--text-bold)', 'bg-(--background-bold-hover)']\n }\n ]\n },\n { enabledResponsiveVariants: true }\n)\n\nexport type TBadgeProps = React.ComponentProps<typeof StyledBadge> & {\n theme?: keyof typeof badgeColorSchemes\n overflow?: React.ComponentProps<typeof BadgeText>['overflow']\n}\n\ntype TBadgeInnerProps = Omit<TBadgeProps, 'size' | 'overflow'>\n\nconst BadgeInner = React.forwardRef<HTMLDivElement, TBadgeInnerProps>(\n ({ theme = 'info', emphasis = 'subtle', children, style, ...rest }, ref) => {\n const { size, overflow, isOverflowing } = React.useContext(BadgeContext)\n const [badgeElRef, setBadgeElRef] = useCallbackRefState()\n React.useImperativeHandle(ref, () => badgeElRef as HTMLDivElement)\n\n const label = badgeElRef?.textContent\n\n const isInfoOnly = badgeSemanticNames.includes(theme)\n\n const isClickable =\n Object.keys(rest).includes('onClick') ||\n Object.keys(rest).includes('href')\n\n return (\n <OptionalTooltipWrapper\n hasTooltip={overflow === 'ellipsis' && isOverflowing}\n label={label}\n >\n <StyledBadge\n role=\"status\"\n emphasis={emphasis}\n size={size}\n style={{\n ...badgeColorSchemes[theme],\n ...style\n }}\n {...rest}\n ref={setBadgeElRef}\n isClickable={isClickable && !isInfoOnly}\n >\n {React.Children.map(children, (child) => {\n if (typeof child === 'string' || typeof child === 'number') {\n return <BadgeText>{child}</BadgeText>\n }\n if (React.isValidElement(child) && child.type === Icon) {\n return <BadgeIcon {...child.props} />\n }\n return child\n })}\n </StyledBadge>\n </OptionalTooltipWrapper>\n )\n }\n)\n\nconst BadgeComponent = React.forwardRef<HTMLDivElement, TBadgeProps>(\n ({ size = 'sm', overflow = 'wrap', ...rest }, ref) => {\n return (\n <BadgeProvider size={size} overflow={overflow}>\n <BadgeInner {...rest} ref={ref} />\n </BadgeProvider>\n )\n }\n)\n\nexport const Badge = Object.assign(BadgeComponent, {\n Icon: BadgeIcon,\n Text: BadgeText\n})\n\nBadgeComponent.displayName = 'Badge'\n"],"names":["StyledBadge","styled","BadgeInner","React","theme","emphasis","children","style","rest","ref","size","overflow","isOverflowing","BadgeContext","badgeElRef","setBadgeElRef","useCallbackRefState","label","isInfoOnly","badgeSemanticNames","isClickable","OptionalTooltipWrapper","badgeColorSchemes","child","BadgeText","Icon","BadgeIcon","BadgeComponent","BadgeProvider","Badge"],"mappings":"khBAeA,MAAMA,EAAcC,EAClB,MACA,CACE,KAAM,CACJ,OACA,iBACA,eACA,aACA,UACA,SACA,eACA,YACA,iBACF,EACA,SAAU,CACR,SAAU,CACR,MAAO,CAAC,yBAA0B,UAAU,EAC5C,OAAQ,CAAC,uBAAwB,0BAA0B,EAC3D,KAAM,CAAC,qBAAsB,wBAAwB,CACvD,EACA,KAAM,CACJ,GAAI,CAAC,OAAQ,MAAM,EACnB,GAAI,CAAC,OAAQ,QAAQ,EACrB,GAAI,CAAC,OAAQ,MAAM,CACrB,EACA,YAAa,CACX,KAAM,CAAC,gBAAgB,CACzB,EACA,YAAa,CACX,KAAM,EACR,CACF,EACA,iBAAkB,CAChB,CACE,YAAa,GACb,SAAU,QACV,MAAO,CACL,+BACA,iEACF,CACF,EACA,CACE,YAAa,GACb,SAAU,SACV,MAAO,CACL,uCACA,kCACF,CACF,EACA,CACE,YAAa,GACb,SAAU,OACV,MAAO,CACL,qCACA,0BACF,CACF,EACA,CACE,SAAU,QACV,YAAa,GACb,MAAO,CACL,yBACA,2DACF,CACF,EACA,CACE,SAAU,SACV,YAAa,GACb,MAAO,CAAC,6BAA8B,gCAAgC,CACxE,EACA,CACE,SAAU,OACV,YAAa,GACb,MAAO,CAAC,qBAAsB,8BAA8B,CAC9D,CACF,CACF,EACA,CAAE,0BAA2B,EAAK,CACpC,EASMC,EAAaC,EAAM,WACvB,CAAC,CAAE,MAAAC,EAAQ,OAAQ,SAAAC,EAAW,SAAU,SAAAC,EAAU,MAAAC,EAAO,GAAGC,CAAK,EAAGC,IAAQ,CAC1E,KAAM,CAAE,KAAAC,EAAM,SAAAC,EAAU,cAAAC,CAAc,EAAIT,EAAM,WAAWU,CAAY,EACjE,CAACC,EAAYC,CAAa,EAAIC,IACpCb,EAAM,oBAAoBM,EAAK,IAAMK,CAA4B,EAEjE,MAAMG,EAAQH,GAAA,KAAAA,OAAAA,EAAY,YAEpBI,EAAaC,EAAmB,SAASf,CAAK,EAE9CgB,EACJ,OAAO,KAAKZ,CAAI,EAAE,SAAS,SAAS,GACpC,OAAO,KAAKA,CAAI,EAAE,SAAS,MAAM,EAEnC,OACEL,EAAA,cAACkB,EAAA,CACC,WAAYV,IAAa,YAAcC,EACvC,MAAOK,CAEPd,EAAAA,EAAA,cAACH,EAAA,CACC,KAAK,SACL,SAAUK,EACV,KAAMK,EACN,MAAO,CACL,GAAGY,EAAkBlB,CAAK,EAC1B,GAAGG,CACL,EACC,GAAGC,EACJ,IAAKO,EACL,YAAaK,GAAe,CAACF,CAAAA,EAE5Bf,EAAM,SAAS,IAAIG,EAAWiB,GACzB,OAAOA,GAAU,UAAY,OAAOA,GAAU,SACzCpB,EAAA,cAACqB,EAAA,KAAWD,CAAM,EAEvBpB,EAAM,eAAeoB,CAAK,GAAKA,EAAM,OAASE,EACzCtB,EAAA,cAACuB,EAAA,CAAW,GAAGH,EAAM,MAAO,EAE9BA,CACR,CACH,CACF,CAEJ,CACF,EAEMI,EAAiBxB,EAAM,WAC3B,CAAC,CAAE,KAAAO,EAAO,KAAM,SAAAC,EAAW,OAAQ,GAAGH,CAAK,EAAGC,IAE1CN,EAAA,cAACyB,EAAA,CAAc,KAAMlB,EAAM,SAAUC,GACnCR,EAAA,cAACD,EAAA,CAAY,GAAGM,EAAM,IAAKC,CAAAA,CAAK,CAClC,CAGN,EAEaoB,EAAQ,OAAO,OAAOF,EAAgB,CACjD,KAAMD,EACN,KAAMF,CACR,CAAC,EAEDG,EAAe,YAAc"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TcolorScheme } from '../../experiments/color-scheme/ColorScheme';
|
|
3
3
|
import { Dismissible } from '../dismissible';
|
|
4
|
-
declare const StyledBannerContainer: React.ForwardRefExoticComponent<Omit<Omit<
|
|
5
|
-
ref?: ((instance:
|
|
6
|
-
}, "gap" | "wrap" | "direction" | "align" | "justify"> & {
|
|
7
|
-
direction?: ("row" | "inherit" | "initial" | "row-reverse" | "column" | "column-reverse" | "revert" | "revert-layer" | "unset" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "row" | "inherit" | "initial" | "row-reverse" | "column" | "column-reverse" | "revert" | "revert-layer" | "unset">>) | undefined;
|
|
8
|
-
wrap?: ("wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse">>) | undefined;
|
|
9
|
-
justify?: ("end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch">>) | undefined;
|
|
10
|
-
align?: ("end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline">>) | undefined;
|
|
11
|
-
gap?: (0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24 | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", 0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24>>) | undefined;
|
|
12
|
-
} & {
|
|
13
|
-
as?: React.ElementType;
|
|
4
|
+
declare const StyledBannerContainer: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & {
|
|
5
|
+
ref?: ((instance: HTMLElement | null) => void) | React.RefObject<HTMLElement> | null | undefined;
|
|
14
6
|
}, "size" | "emphasis"> & {
|
|
15
7
|
emphasis?: ("bold" | "subtle" | "minimal" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "bold" | "subtle" | "minimal">>) | undefined;
|
|
16
8
|
size?: ("sm" | "md" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "sm" | "md">>) | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{ColorScheme as t}from"../../experiments/color-scheme/ColorScheme.js";import{styled as i}from"../../styled.js";import{Dismissible as l}from"../dismissible/index.js";import{
|
|
1
|
+
import*as e from"react";import{ColorScheme as t}from"../../experiments/color-scheme/ColorScheme.js";import{styled as i}from"../../styled.js";import{Dismissible as l}from"../dismissible/index.js";import{useBannerContext as m}from"./BannerContext.js";const d=i("section",{base:["flex","relative","w-full","rounded-lg","overflow-hidden","text-(--foreground)","[--banner-heading-color:var(--color-foreground)]","[--banner-text-color:var(--color-grey-900)]"],variants:{emphasis:{bold:["[--banner-heading-color:var(--color-foreground-7-plus)]","[--banner-text-color:var(--color-grey-100)]","bg-(--base-11)","text-(--foreground-7-plus)"],subtle:["bg-(--base-3)"],minimal:["bg-(--base-1)"]},size:{sm:[],md:[]}}},{enabledResponsiveVariants:!0}),c=({colorScheme:r={},onDismiss:o,dismissed:s,...n})=>{const{emphasis:a}=m();return e.createElement(t,{...r,asChild:!0},e.createElement(l,{asChild:!0,onDismiss:o,dismissed:s},e.createElement(d,{role:"banner",emphasis:a,...n})))};export{c as BannerContainer};
|
|
2
2
|
//# sourceMappingURL=BannerContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerContainer.js","sources":["../../../src/components/banner/BannerContainer.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport {\n ColorScheme,\n TcolorScheme\n} from '~/experiments/color-scheme/ColorScheme'\nimport { styled } from '~/styled'\n\nimport { Dismissible } from '../dismissible'\nimport {
|
|
1
|
+
{"version":3,"file":"BannerContainer.js","sources":["../../../src/components/banner/BannerContainer.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport {\n ColorScheme,\n TcolorScheme\n} from '~/experiments/color-scheme/ColorScheme'\nimport { styled } from '~/styled'\n\nimport { Dismissible } from '../dismissible'\nimport { useBannerContext } from './BannerContext'\n\nconst StyledBannerContainer = styled(\n 'section',\n {\n base: [\n 'flex',\n 'relative',\n 'w-full',\n 'rounded-lg',\n 'overflow-hidden',\n 'text-(--foreground)',\n '[--banner-heading-color:var(--color-foreground)]',\n '[--banner-text-color:var(--color-grey-900)]'\n ],\n variants: {\n emphasis: {\n bold: [\n '[--banner-heading-color:var(--color-foreground-7-plus)]',\n '[--banner-text-color:var(--color-grey-100)]',\n 'bg-(--base-11)',\n 'text-(--foreground-7-plus)'\n ],\n subtle: ['bg-(--base-3)'],\n minimal: ['bg-(--base-1)']\n },\n size: {\n sm: [],\n md: []\n }\n }\n },\n {\n enabledResponsiveVariants: true\n }\n)\n\nexport type TBannerContainerProps = React.ComponentProps<\n typeof StyledBannerContainer\n> & {\n colorScheme?: TcolorScheme\n} & React.ComponentProps<typeof Dismissible>\n\nexport const BannerContainer = ({\n colorScheme = {},\n onDismiss,\n dismissed,\n ...props\n}: TBannerContainerProps): JSX.Element => {\n const { emphasis } = useBannerContext()\n\n return (\n <ColorScheme {...colorScheme} asChild>\n <Dismissible asChild onDismiss={onDismiss} dismissed={dismissed}>\n <StyledBannerContainer role=\"banner\" emphasis={emphasis} {...props} />\n </Dismissible>\n </ColorScheme>\n )\n}\n"],"names":["StyledBannerContainer","styled","BannerContainer","colorScheme","onDismiss","dismissed","props","emphasis","useBannerContext","React","ColorScheme","Dismissible"],"mappings":"yPAWA,MAAMA,EAAwBC,EAC5B,UACA,CACE,KAAM,CACJ,OACA,WACA,SACA,aACA,kBACA,sBACA,mDACA,6CACF,EACA,SAAU,CACR,SAAU,CACR,KAAM,CACJ,0DACA,8CACA,iBACA,4BACF,EACA,OAAQ,CAAC,eAAe,EACxB,QAAS,CAAC,eAAe,CAC3B,EACA,KAAM,CACJ,GAAI,CAAA,EACJ,GAAI,CACN,CAAA,CACF,CACF,EACA,CACE,0BAA2B,EAC7B,CACF,EAQaC,EAAkB,CAAC,CAC9B,YAAAC,EAAc,CAAC,EACf,UAAAC,EACA,UAAAC,EACA,GAAGC,CACL,IAA0C,CACxC,KAAM,CAAE,SAAAC,CAAS,EAAIC,EAAAA,EAErB,OACEC,EAAA,cAACC,EAAA,CAAa,GAAGP,EAAa,QAAO,EAAA,EACnCM,EAAA,cAACE,EAAA,CAAY,QAAO,GAAC,UAAWP,EAAW,UAAWC,CAAAA,EACpDI,EAAA,cAACT,EAAA,CAAsB,KAAK,SAAS,SAAUO,EAAW,GAAGD,CAAAA,CAAO,CACtE,CACF,CAEJ"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TBannerContainerProps } from './BannerContainer';
|
|
3
|
+
type Breakpoint = '@initial' | '@sm' | '@md' | '@lg' | '@xl';
|
|
4
|
+
type ResponsiveSize = 'sm' | 'md' | Partial<Record<Breakpoint, 'sm' | 'md'>>;
|
|
3
5
|
export type TBannerProviderProps = {
|
|
4
|
-
size?:
|
|
6
|
+
size?: ResponsiveSize;
|
|
5
7
|
emphasis?: TBannerContainerProps['emphasis'];
|
|
6
8
|
};
|
|
7
9
|
type TBannerContextValue = TBannerProviderProps & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerContext.js","sources":["../../../src/components/banner/BannerContext.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { TBannerContainerProps } from './BannerContainer'\n\n// Extract size and emphasis props, preserving responsive variant types\nexport type TBannerProviderProps = {\n size?:
|
|
1
|
+
{"version":3,"file":"BannerContext.js","sources":["../../../src/components/banner/BannerContext.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { TBannerContainerProps } from './BannerContainer'\n\ntype Breakpoint = '@initial' | '@sm' | '@md' | '@lg' | '@xl'\ntype ResponsiveSize = 'sm' | 'md' | Partial<Record<Breakpoint, 'sm' | 'md'>>\n\n// Extract size and emphasis props, preserving responsive variant types\nexport type TBannerProviderProps = {\n size?: ResponsiveSize\n emphasis?: TBannerContainerProps['emphasis']\n}\n\ntype TBannerContextValue = TBannerProviderProps & {\n hasDismiss: boolean\n setHasDismiss: React.Dispatch<React.SetStateAction<boolean>>\n}\n\nexport const BannerContext = React.createContext<TBannerContextValue>({\n emphasis: 'minimal',\n size: {\n '@initial': 'sm',\n '@md': 'md'\n } as unknown as TBannerProviderProps['size'],\n hasDismiss: false,\n setHasDismiss: () => null\n})\n\nexport const useBannerContext = (): TBannerContextValue => {\n const context = React.useContext(BannerContext)\n\n if (context === undefined) {\n throw new Error('useBannerContext must be used within a BannerProvider')\n }\n\n return context\n}\n\nexport const BannerProvider = ({\n emphasis = 'minimal',\n size = {\n '@initial': 'sm',\n '@md': 'md'\n } as unknown as TBannerProviderProps['size'],\n children\n}: React.PropsWithChildren<TBannerProviderProps>) => {\n const [hasDismiss, setHasDismiss] = React.useState(false)\n const value = React.useMemo<TBannerContextValue>(\n () => ({ emphasis, size, hasDismiss, setHasDismiss }),\n [emphasis, size, hasDismiss, setHasDismiss]\n )\n return (\n <BannerContext.Provider value={value}>{children}</BannerContext.Provider>\n )\n}\n\nBannerProvider.displayName = 'Banner'\n"],"names":["BannerContext","React","useBannerContext","context","BannerProvider","emphasis","size","children","hasDismiss","setHasDismiss","value"],"mappings":"wBAkBa,MAAAA,EAAgBC,EAAM,cAAmC,CACpE,SAAU,UACV,KAAM,CACJ,WAAY,KACZ,MAAO,IACT,EACA,WAAY,GACZ,cAAe,IAAM,IACvB,CAAC,EAEYC,EAAmB,IAA2B,CACzD,MAAMC,EAAUF,EAAM,WAAWD,CAAa,EAE9C,GAAIG,IAAY,OACd,MAAM,IAAI,MAAM,uDAAuD,EAGzE,OAAOA,CACT,EAEaC,EAAiB,CAAC,CAC7B,SAAAC,EAAW,UACX,KAAAC,EAAO,CACL,WAAY,KACZ,MAAO,IACT,EACA,SAAAC,CACF,IAAqD,CACnD,KAAM,CAACC,EAAYC,CAAa,EAAIR,EAAM,SAAS,EAAK,EAClDS,EAAQT,EAAM,QAClB,KAAO,CAAE,SAAAI,EAAU,KAAAC,EAAM,WAAAE,EAAY,cAAAC,CAAc,GACnD,CAACJ,EAAUC,EAAME,EAAYC,CAAa,CAC5C,EACA,OACER,EAAA,cAACD,EAAc,SAAd,CAAuB,MAAOU,GAAQH,CAAS,CAEpD,EAEAH,EAAe,YAAc"}
|
|
@@ -23,7 +23,7 @@ export declare const BannerRegular: {
|
|
|
23
23
|
displayName: string;
|
|
24
24
|
};
|
|
25
25
|
Actions: {
|
|
26
|
-
({ children, ...props }: React.ComponentProps<
|
|
26
|
+
({ children, className, ...props }: React.PropsWithChildren<React.ComponentProps<"div">>): React.JSX.Element;
|
|
27
27
|
displayName: string;
|
|
28
28
|
};
|
|
29
29
|
Image: {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Flex } from '../../flex/Flex';
|
|
3
2
|
export declare const BannerRegularActions: {
|
|
4
|
-
({ children, ...props }: React.ComponentProps<
|
|
3
|
+
({ children, className, ...props }: React.PropsWithChildren<React.ComponentProps<"div">>): React.JSX.Element;
|
|
5
4
|
displayName: string;
|
|
6
5
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import u from"clsx";import l from"invariant";import*as n from"react";import{useBannerContext as y}from"../BannerContext.js";import{BannerRegularButton as t}from"./BannerRegularButton.js";const i=2,g={sm:"gap-2",md:"gap-4"},x={sm:"flex-col",md:"flex-row"},a=({children:r,className:m,...s})=>{const{size:o}=y(),p=n.useMemo(()=>typeof o=="string"?g[o]:"gap-2 md:gap-4",[o]),d=n.useMemo(()=>typeof o=="string"?x[o]:"flex-col md:flex-row",[o]);return l(n.Children.count(r)<=i,`A maximum of ${i} ${t.displayName} component(s) are permitted as children of ${a.displayName}`),n.createElement("div",{className:u("flex",p,d,m),...s},n.Children.map(r,(e,c)=>{if(e==null)return e;if(!n.isValidElement(e))throw new Error(`Child passed to ${a.displayName} is not a valid element`);l(e.type===t,`Children of type ${e==null?void 0:e.type} aren't permitted. Only an ${t.displayName} component is allowed in ${a.displayName}`);const f={appearance:c>0?"outline":void 0};return n.cloneElement(e,f)}))};a.displayName="BannerRegularActions";export{a as BannerRegularActions};
|
|
2
2
|
//# sourceMappingURL=BannerRegularActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerRegularActions.js","sources":["../../../../src/components/banner/banner-regular/BannerRegularActions.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"BannerRegularActions.js","sources":["../../../../src/components/banner/banner-regular/BannerRegularActions.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport invariant from 'invariant'\nimport * as React from 'react'\n\nimport { useBannerContext } from '../BannerContext'\nimport { BannerRegularButton } from './BannerRegularButton'\n\nconst MAX_ALLOWED_CHILDREN = 2\n\nconst toGap = {\n sm: 'gap-2',\n md: 'gap-4'\n}\n\nconst toDirection = {\n sm: 'flex-col',\n md: 'flex-row'\n}\n\nexport const BannerRegularActions = ({\n children,\n className,\n ...props\n}: React.PropsWithChildren<React.ComponentProps<'div'>>) => {\n const { size } = useBannerContext()\n\n const gap = React.useMemo(() => {\n if (typeof size === 'string') {\n return toGap[size]\n }\n return 'gap-2 md:gap-4'\n }, [size])\n\n const direction = React.useMemo(() => {\n if (typeof size === 'string') {\n return toDirection[size]\n }\n return 'flex-col md:flex-row'\n }, [size])\n\n invariant(\n React.Children.count(children) <= MAX_ALLOWED_CHILDREN,\n `A maximum of ${MAX_ALLOWED_CHILDREN} ${BannerRegularButton.displayName} component(s) are permitted as children of ${BannerRegularActions.displayName}`\n )\n\n return (\n <div className={clsx('flex', gap, direction, className)} {...props}>\n {React.Children.map(children, (child, index) => {\n // if child is undefined or null, React.isValidElement returns false and hence error is thrown.\n // This line will prevent that from happening\n if (child == null) return child\n\n if (!React.isValidElement(child)) {\n throw new Error(\n `Child passed to ${BannerRegularActions.displayName} is not a valid element`\n )\n }\n\n invariant(\n child.type === BannerRegularButton,\n `Children of type ${child?.type} aren't permitted. Only an ${BannerRegularButton.displayName} component is allowed in ${BannerRegularActions.displayName}`\n )\n\n const propsToInject: Partial<\n React.ComponentProps<typeof BannerRegularButton>\n > = {\n // Override button appearance - make the second button outlined\n appearance: index > 0 ? 'outline' : undefined\n }\n\n return React.cloneElement(\n child as React.ReactElement<\n React.ComponentProps<typeof BannerRegularButton>\n >,\n propsToInject\n )\n })}\n </div>\n )\n}\n\nBannerRegularActions.displayName = 'BannerRegularActions'\n"],"names":["MAX_ALLOWED_CHILDREN","toGap","toDirection","BannerRegularActions","children","className","props","size","useBannerContext","gap","React","direction","invariant","BannerRegularButton","clsx","child","index","propsToInject"],"mappings":"2LAOA,MAAMA,EAAuB,EAEvBC,EAAQ,CACZ,GAAI,QACJ,GAAI,OACN,EAEMC,EAAc,CAClB,GAAI,WACJ,GAAI,UACN,EAEaC,EAAuB,CAAC,CACnC,SAAAC,EACA,UAAAC,EACA,GAAGC,CACL,IAA4D,CAC1D,KAAM,CAAE,KAAAC,CAAK,EAAIC,IAEXC,EAAMC,EAAM,QAAQ,IACpB,OAAOH,GAAS,SACXN,EAAMM,CAAI,EAEZ,iBACN,CAACA,CAAI,CAAC,EAEHI,EAAYD,EAAM,QAAQ,IAC1B,OAAOH,GAAS,SACXL,EAAYK,CAAI,EAElB,uBACN,CAACA,CAAI,CAAC,EAET,OAAAK,EACEF,EAAM,SAAS,MAAMN,CAAQ,GAAKJ,EAClC,gBAAgBA,CAAoB,IAAIa,EAAoB,WAAW,8CAA8CV,EAAqB,WAAW,EACvJ,EAGEO,EAAA,cAAC,MAAI,CAAA,UAAWI,EAAK,OAAQL,EAAKE,EAAWN,CAAS,EAAI,GAAGC,CAAAA,EAC1DI,EAAM,SAAS,IAAIN,EAAU,CAACW,EAAOC,IAAU,CAG9C,GAAID,GAAS,KAAM,OAAOA,EAE1B,GAAI,CAACL,EAAM,eAAeK,CAAK,EAC7B,MAAM,IAAI,MACR,mBAAmBZ,EAAqB,WAAW,yBACrD,EAGFS,EACEG,EAAM,OAASF,EACf,oBAAoBE,GAAA,KAAA,OAAAA,EAAO,IAAI,8BAA8BF,EAAoB,WAAW,4BAA4BV,EAAqB,WAAW,EAC1J,EAEA,MAAMc,EAEF,CAEF,WAAYD,EAAQ,EAAI,UAAY,MACtC,EAEA,OAAON,EAAM,aACXK,EAGAE,CACF,CACF,CAAC,CACH,CAEJ,EAEAd,EAAqB,YAAc"}
|
|
@@ -5,22 +5,11 @@ export declare const BannerSlim: {
|
|
|
5
5
|
({ colorScheme, size, emphasis, onDismiss, ...rest }: React.ComponentProps<typeof Banner> & React.ComponentProps<typeof BannerContainer>): React.JSX.Element;
|
|
6
6
|
displayName: string;
|
|
7
7
|
} & {
|
|
8
|
-
Content: {
|
|
9
|
-
(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
wrap?: ("wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse">>) | undefined;
|
|
14
|
-
justify?: ("end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch">>) | undefined;
|
|
15
|
-
align?: ("end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline">>) | undefined;
|
|
16
|
-
gap?: (0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24 | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", 0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24>>) | undefined;
|
|
17
|
-
} & {
|
|
18
|
-
as?: React.ElementType;
|
|
19
|
-
}, never> & {
|
|
20
|
-
as?: React.ElementType;
|
|
21
|
-
}>>): React.JSX.Element;
|
|
22
|
-
displayName: string;
|
|
23
|
-
};
|
|
8
|
+
Content: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
9
|
+
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
10
|
+
}, never> & {
|
|
11
|
+
as?: React.ElementType;
|
|
12
|
+
}>;
|
|
24
13
|
Text: {
|
|
25
14
|
(props: React.ComponentProps<typeof import("../..").Text>): React.JSX.Element;
|
|
26
15
|
displayName: string;
|
|
@@ -320,7 +309,13 @@ export declare const BannerSlim: {
|
|
|
320
309
|
displayName: string;
|
|
321
310
|
};
|
|
322
311
|
Actions: {
|
|
323
|
-
({ children, ...props }: React.ComponentProps<
|
|
312
|
+
({ children, ...props }: React.ComponentProps<React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
313
|
+
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
314
|
+
}, "size"> & {
|
|
315
|
+
size?: ("sm" | "md" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "sm" | "md">>) | undefined;
|
|
316
|
+
} & {
|
|
317
|
+
as?: React.ElementType;
|
|
318
|
+
}>>): React.JSX.Element;
|
|
324
319
|
displayName: string;
|
|
325
320
|
};
|
|
326
321
|
};
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
2
|
+
declare const StyledBannerSlimActions: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
3
|
+
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
4
|
+
}, "size"> & {
|
|
5
|
+
size?: ("sm" | "md" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "sm" | "md">>) | undefined;
|
|
6
|
+
} & {
|
|
7
|
+
as?: React.ElementType;
|
|
8
|
+
}>;
|
|
3
9
|
export declare const BannerSlimActions: {
|
|
4
|
-
({ children, ...props }: React.ComponentProps<typeof
|
|
10
|
+
({ children, ...props }: React.ComponentProps<typeof StyledBannerSlimActions>): React.JSX.Element;
|
|
5
11
|
displayName: string;
|
|
6
12
|
};
|
|
13
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as r from"react";import{styled as i}from"../../../styled.js";import{useBannerContext as a}from"../BannerContext.js";const o=i("div",{base:["flex","gap-4"],variants:{size:{sm:["w-full"],md:["w-auto"]}}},{enabledResponsiveVariants:!0}),e=({children:n,...t})=>{const{size:s}=a();return r.createElement(o,{size:s,...t},n)};e.displayName="BannerSlimActions";export{e as BannerSlimActions};
|
|
2
2
|
//# sourceMappingURL=BannerSlimActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerSlimActions.js","sources":["../../../../src/components/banner/banner-slim/BannerSlimActions.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '~/styled'\n\nimport {
|
|
1
|
+
{"version":3,"file":"BannerSlimActions.js","sources":["../../../../src/components/banner/banner-slim/BannerSlimActions.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '~/styled'\n\nimport { useBannerContext } from '../BannerContext'\n\nconst StyledBannerSlimActions = styled(\n 'div',\n {\n base: ['flex', 'gap-4'],\n variants: {\n size: {\n sm: ['w-full'],\n md: ['w-auto']\n }\n }\n },\n {\n enabledResponsiveVariants: true\n }\n)\n\nexport const BannerSlimActions = ({\n children,\n ...props\n}: React.ComponentProps<typeof StyledBannerSlimActions>) => {\n const { size } = useBannerContext()\n return (\n <StyledBannerSlimActions size={size} {...props}>\n {children}\n </StyledBannerSlimActions>\n )\n}\n\nBannerSlimActions.displayName = 'BannerSlimActions'\n"],"names":["StyledBannerSlimActions","styled","BannerSlimActions","children","props","size","useBannerContext","React"],"mappings":"2HAMA,MAAMA,EAA0BC,EAC9B,MACA,CACE,KAAM,CAAC,OAAQ,OAAO,EACtB,SAAU,CACR,KAAM,CACJ,GAAI,CAAC,QAAQ,EACb,GAAI,CAAC,QAAQ,CACf,CACF,CACF,EACA,CACE,0BAA2B,EAC7B,CACF,EAEaC,EAAoB,CAAC,CAChC,SAAAC,EACA,GAAGC,CACL,IAA4D,CAC1D,KAAM,CAAE,KAAAC,CAAK,EAAIC,IACjB,OACEC,EAAA,cAACP,EAAA,CAAwB,KAAMK,EAAO,GAAGD,CACtCD,EAAAA,CACH,CAEJ,EAEAD,EAAkB,YAAc"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
declare const StyledBannerSlimContainer: React.ForwardRefExoticComponent<Omit<Omit<Omit<
|
|
3
|
-
ref?: ((instance:
|
|
4
|
-
}, "gap" | "wrap" | "direction" | "align" | "justify"> & {
|
|
5
|
-
direction?: ("row" | "inherit" | "initial" | "row-reverse" | "column" | "column-reverse" | "revert" | "revert-layer" | "unset" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "row" | "inherit" | "initial" | "row-reverse" | "column" | "column-reverse" | "revert" | "revert-layer" | "unset">>) | undefined;
|
|
6
|
-
wrap?: ("wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse">>) | undefined;
|
|
7
|
-
justify?: ("end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch">>) | undefined;
|
|
8
|
-
align?: ("end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline">>) | undefined;
|
|
9
|
-
gap?: (0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24 | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", 0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24>>) | undefined;
|
|
10
|
-
} & {
|
|
11
|
-
as?: React.ElementType;
|
|
2
|
+
declare const StyledBannerSlimContainer: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & {
|
|
3
|
+
ref?: ((instance: HTMLElement | null) => void) | React.RefObject<HTMLElement> | null | undefined;
|
|
12
4
|
}, "size" | "emphasis"> & {
|
|
13
5
|
emphasis?: ("bold" | "subtle" | "minimal" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "bold" | "subtle" | "minimal">>) | undefined;
|
|
14
6
|
size?: ("sm" | "md" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "sm" | "md">>) | undefined;
|
|
@@ -23,7 +15,7 @@ declare const StyledBannerSlimContainer: React.ForwardRefExoticComponent<Omit<Om
|
|
|
23
15
|
} & {
|
|
24
16
|
as?: React.ElementType;
|
|
25
17
|
}>;
|
|
26
|
-
type TBannerSlimContainerProps =
|
|
18
|
+
type TBannerSlimContainerProps = React.ComponentProps<typeof StyledBannerSlimContainer>;
|
|
27
19
|
export declare const BannerSlimContainer: {
|
|
28
20
|
(props: TBannerSlimContainerProps): JSX.Element;
|
|
29
21
|
displayName: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import a from"clsx";import*as r from"react";import{styled as i}from"../../../styled.js";import{BannerContainer as p}from"../BannerContainer.js";import{useBannerContext as l}from"../BannerContext.js";const f={sm:"flex-col",md:"flex-row"},d={sm:"items-start",md:"items-center"},c={sm:"flex-wrap",md:"flex-nowrap"},x=i(p,{base:["p-4"],variants:{sizeWorkaround:{sm:[],md:["px-6"]}}},{enabledResponsiveVariants:!0}),o=t=>{const{size:e}=l(),s=r.useMemo(()=>typeof e=="string"?f[e]:"flex-col md:flex-row",[e]),m=r.useMemo(()=>typeof e=="string"?d[e]:"items-start md:items-center",[e]),n=r.useMemo(()=>typeof e=="string"?c[e]:"flex-wrap md:flex-nowrap",[e]);return r.createElement(x,{sizeWorkaround:e,className:a(s,m,"gap-4",n,t.className),...t})};o.displayName="BannerSlimContainer";export{o as BannerSlimContainer};
|
|
2
2
|
//# sourceMappingURL=BannerSlimContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerSlimContainer.js","sources":["../../../../src/components/banner/banner-slim/BannerSlimContainer.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"BannerSlimContainer.js","sources":["../../../../src/components/banner/banner-slim/BannerSlimContainer.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport * as React from 'react'\n\nimport { styled } from '~/styled'\n\nimport { BannerContainer } from '../BannerContainer'\nimport { useBannerContext } from '../BannerContext'\n\nconst toDirection = {\n sm: 'flex-col',\n md: 'flex-row'\n}\n\nconst toAlign = {\n sm: 'items-start',\n md: 'items-center'\n}\n\nconst toWrap = {\n sm: 'flex-wrap',\n md: 'flex-nowrap'\n}\n\nconst StyledBannerSlimContainer = styled(\n BannerContainer,\n {\n base: ['p-4'],\n variants: {\n sizeWorkaround: {\n sm: [],\n md: ['px-6']\n }\n }\n },\n {\n enabledResponsiveVariants: true\n }\n)\n\ntype TBannerSlimContainerProps = React.ComponentProps<\n typeof StyledBannerSlimContainer\n>\n\nexport const BannerSlimContainer = (\n props: TBannerSlimContainerProps\n): JSX.Element => {\n const { size } = useBannerContext()\n\n const direction = React.useMemo(() => {\n if (typeof size === 'string') {\n return toDirection[size]\n }\n return 'flex-col md:flex-row'\n }, [size])\n\n const align = React.useMemo(() => {\n if (typeof size === 'string') {\n return toAlign[size]\n }\n return 'items-start md:items-center'\n }, [size])\n\n const wrap = React.useMemo(() => {\n if (typeof size === 'string') {\n return toWrap[size]\n }\n return 'flex-wrap md:flex-nowrap'\n }, [size])\n\n return (\n <StyledBannerSlimContainer\n sizeWorkaround={size}\n className={clsx(direction, align, 'gap-4', wrap, props.className)}\n {...props}\n />\n )\n}\n\nBannerSlimContainer.displayName = 'BannerSlimContainer'\n"],"names":["toDirection","toAlign","toWrap","StyledBannerSlimContainer","styled","BannerContainer","BannerSlimContainer","props","size","useBannerContext","direction","React","align","wrap","clsx"],"mappings":"uMAQA,MAAMA,EAAc,CAClB,GAAI,WACJ,GAAI,UACN,EAEMC,EAAU,CACd,GAAI,cACJ,GAAI,cACN,EAEMC,EAAS,CACb,GAAI,YACJ,GAAI,aACN,EAEMC,EAA4BC,EAChCC,EACA,CACE,KAAM,CAAC,KAAK,EACZ,SAAU,CACR,eAAgB,CACd,GAAI,CAAA,EACJ,GAAI,CAAC,MAAM,CACb,CACF,CACF,EACA,CACE,0BAA2B,EAC7B,CACF,EAMaC,EACXC,GACgB,CAChB,KAAM,CAAE,KAAAC,CAAK,EAAIC,EAAiB,EAE5BC,EAAYC,EAAM,QAAQ,IAC1B,OAAOH,GAAS,SACXR,EAAYQ,CAAI,EAElB,uBACN,CAACA,CAAI,CAAC,EAEHI,EAAQD,EAAM,QAAQ,IACtB,OAAOH,GAAS,SACXP,EAAQO,CAAI,EAEd,8BACN,CAACA,CAAI,CAAC,EAEHK,EAAOF,EAAM,QAAQ,IACrB,OAAOH,GAAS,SACXN,EAAOM,CAAI,EAEb,2BACN,CAACA,CAAI,CAAC,EAET,OACEG,EAAA,cAACR,EAAA,CACC,eAAgBK,EAChB,UAAWM,EAAKJ,EAAWE,EAAO,QAASC,EAAMN,EAAM,SAAS,EAC/D,GAAGA,CAAAA,CACN,CAEJ,EAEAD,EAAoB,YAAc"}
|
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
4
|
-
}, "gap" | "wrap" | "direction" | "align" | "justify"> & {
|
|
5
|
-
direction?: ("row" | "inherit" | "initial" | "row-reverse" | "column" | "column-reverse" | "revert" | "revert-layer" | "unset" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "row" | "inherit" | "initial" | "row-reverse" | "column" | "column-reverse" | "revert" | "revert-layer" | "unset">>) | undefined;
|
|
6
|
-
wrap?: ("wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "wrap" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "nowrap" | "wrap-reverse">>) | undefined;
|
|
7
|
-
justify?: ("end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "left" | "right" | "start" | "inherit" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch">>) | undefined;
|
|
8
|
-
align?: ("end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline" | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", "end" | "start" | "inherit" | "baseline" | "initial" | "center" | "revert" | "revert-layer" | "unset" | "normal" | "unsafe" | "safe" | "flex-start" | "flex-end" | "stretch" | "self-start" | "self-end" | "first baseline" | "last baseline">>) | undefined;
|
|
9
|
-
gap?: (0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24 | Partial<Record<"@initial" | "@sm" | "@md" | "@lg" | "@xl", 0 | 1 | "0" | "1" | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "24" | 24>>) | undefined;
|
|
10
|
-
} & {
|
|
11
|
-
as?: React.ElementType;
|
|
1
|
+
export declare const BannerSlimContent: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
2
|
+
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
12
3
|
}, never> & {
|
|
13
|
-
as?:
|
|
4
|
+
as?: import("react").ElementType;
|
|
14
5
|
}>;
|
|
15
|
-
export declare const BannerSlimContent: {
|
|
16
|
-
(props: React.ComponentProps<typeof StyledBannerSlimContent>): React.JSX.Element;
|
|
17
|
-
displayName: string;
|
|
18
|
-
};
|
|
19
|
-
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{styled as n}from"../../../styled.js";const e=n("div",{base:["w-full","flex","items-center","gap-4"]});e.displayName="BannerSlimContent";export{e as BannerSlimContent};
|
|
2
2
|
//# sourceMappingURL=BannerSlimContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerSlimContent.js","sources":["../../../../src/components/banner/banner-slim/BannerSlimContent.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"BannerSlimContent.js","sources":["../../../../src/components/banner/banner-slim/BannerSlimContent.tsx"],"sourcesContent":["import { styled } from '~/styled'\n\nexport const BannerSlimContent = styled('div', {\n base: ['w-full', 'flex', 'items-center', 'gap-4']\n})\n\nBannerSlimContent.displayName = 'BannerSlimContent'\n"],"names":["BannerSlimContent","styled"],"mappings":"kDAEaA,EAAoBC,EAAO,MAAO,CAC7C,KAAM,CAAC,SAAU,OAAQ,eAAgB,OAAO,CAClD,CAAC,EAEDD,EAAkB,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ChevronLeft as
|
|
1
|
+
import{ChevronLeft as j,ChevronRight as H}from"@atom-learning/icons";import R from"clsx";import{useDayzed as U}from"dayzed";import*as e from"react";import{ActionIcon as k}from"../action-icon/ActionIcon.js";import{Button as D}from"../button/Button.js";import{Icon as N}from"../icon/Icon.js";import{Text as Z}from"../text/Text.js";import{styled as q}from"../../styled.js";import{monthNamesShort as G,weekdayNamesShort as J,DEFAULT_LABELS as K}from"./constants.js";import{Day as Q}from"./Day.js";const V=q(D,{base:["text-grey-1000","p-3","w-16"],variants:{selected:{false:["disabled:bg-white!","font-normal","hover:bg-grey-200!","hover:text-grey-1000!","text-grey-1000!"]}}}),X=(i,c)=>{const g=i.slice(0,c);return i.slice(c).concat(g)},$=({className:i,refDateSelected:c,refDateToday:g,firstDayOfWeek:y=0,monthNames:w=G,weekdayNames:Y=J,labels:h=K,date:s=new Date,minDate:m,maxDate:o,setYear:F,...C})=>{const[r,f]=e.useState(!1),[n,E]=e.useState(s==null?void 0:s.getFullYear()),S=t=>{const a=s;a.setFullYear(t),F(a),f(!1)},z=m&&n-16<=m.getFullYear(),A=o&&n>=o.getFullYear(),L=Array.from({length:16},(t,a)=>{const l=n-a;return o&&l>o.getFullYear()||m&&l<m.getFullYear()?0:l}),{calendars:d,getBackProps:O,getForwardProps:T,getDateProps:B}=U({firstDayOfWeek:y,showOutsideDays:!0,date:s,minDate:m,maxDate:o,...C});return d.length?e.createElement("div",{className:R("relative","w-fit","-mt-1",i)},e.createElement("div",{className:"absolute top-0 -right-1 flex"},e.createElement(k,{label:h[r?"previousYear":"previous"],theme:"neutral",size:"md",...!r&&O({calendars:d}),...r&&{onClick:()=>E(n-16)},disabled:r&&z},e.createElement(N,{is:j})),e.createElement(k,{label:h[r?"nextYear":"next"],theme:"neutral",size:"md",...!r&&T({calendars:d}),...r&&{onClick:()=>E(n+16)},disabled:r&&A},e.createElement(N,{is:H}))),r&&e.createElement("div",{className:"grid grid-cols-4 gap-x-1 gap-y-3 pt-12 [direction:rtl]"},L.map((t,a)=>{const l=t===s.getFullYear();return t?e.createElement(V,{key:`${t}${a}`,theme:l?"primary":"neutral",onClick:()=>S(t),selected:l},t):e.createElement("div",{key:a,className:"h-10 w-16"})})),!r&&d.map(({month:t,year:a,weeks:l})=>e.createElement("div",{key:`${t}${a}`},e.createElement("div",{className:"mb-4 flex h-10 items-center"},e.createElement(D,{theme:"neutral",onClick:()=>f(!0),className:"text-grey-1000 px-0"},w[t]," ",a)),e.createElement("div",{className:"mb-3 grid grid-cols-7 gap-x-2 gap-y-1"},X(Y,y).map(p=>e.createElement(Z,{as:"span",size:"sm",weight:"bold",key:`${t}${a}${p}`,className:"text-center"},p))),e.createElement("div",{className:"grid grid-cols-7 gap-x-2 gap-y-1"},l.map((p,M)=>p.map((u,P)=>{const x=`${t}${a}${M}${P}`;if(!u)return e.createElement("div",{key:x});const{date:W,selected:v,today:b,prevMonth:I,nextMonth:_}=u;return e.createElement(Q,{isOutsideMonth:I||_,isSelected:v,isToday:b,key:x,ref:v?c:b?g:null,...B({dateObj:u}),type:"button"},W.getDate())})))))):null};$.displayName="Calendar";export{$ as Calendar};
|
|
2
2
|
//# sourceMappingURL=Calendar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sources":["../../../src/components/calendar/Calendar.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight } from '@atom-learning/icons'\nimport clsx from 'clsx'\nimport type { Props as DayzedInterface } from 'dayzed'\nimport { useDayzed } from 'dayzed'\nimport * as React from 'react'\n\nimport { ActionIcon } from '~/components/action-icon/ActionIcon'\nimport { Button } from '~/components/button/Button'\nimport { Flex } from '~/components/flex/Flex'\nimport { Icon } from '~/components/icon/Icon'\nimport { Text } from '~/components/text/Text'\nimport { styled } from '~/styled'\n\nimport { DEFAULT_LABELS, monthNamesShort, weekdayNamesShort } from './constants'\nimport { Day } from './Day'\n\nconst StyledButton = styled(Button, {\n base: ['text-grey-1000', 'p-3', 'w-16'],\n variants: {\n selected: {\n false: [\n 'disabled:bg-white!',\n 'font-normal',\n 'hover:bg-grey-200!',\n 'hover:text-grey-1000!',\n 'text-grey-1000!'\n ]\n }\n }\n})\n\nexport type CalendarTranslationProps = {\n monthNames?: string[]\n weekdayNames?: string[]\n labels?: {\n open: string\n next: string\n previous: string\n nextYear: string\n previousYear: string\n }\n}\n\ntype CalendarProps = DayzedInterface &\n CalendarTranslationProps & {\n refDateToday?: React.RefObject<HTMLButtonElement>\n refDateSelected?: React.RefObject<HTMLButtonElement>\n setYear: (date: Date) => Promise<void>\n className?: string\n }\n\nconst offsetWeekdayNames = (\n weekdayNames: string[],\n firstDayOfWeek: number\n): string[] => {\n const start = weekdayNames.slice(0, firstDayOfWeek)\n const end = weekdayNames.slice(firstDayOfWeek)\n return end.concat(start)\n}\n\nexport const Calendar = ({\n className,\n refDateSelected,\n refDateToday,\n firstDayOfWeek = 0,\n monthNames = monthNamesShort,\n weekdayNames = weekdayNamesShort,\n labels = DEFAULT_LABELS,\n date = new Date(),\n minDate,\n maxDate,\n setYear,\n ...remainingProps\n}: CalendarProps) => {\n const [showYears, setShowYears] = React.useState<boolean>(false)\n const [currentYear, setCurrentYear] = React.useState<number>(\n date?.getFullYear()\n )\n\n const handleSetYear = (year: number): void => {\n const newDate = date\n newDate.setFullYear(year)\n setYear(newDate)\n setShowYears(false)\n }\n\n const isAtMinYear = minDate && currentYear - 16 <= minDate.getFullYear()\n const isAtMaxYear = maxDate && currentYear >= maxDate.getFullYear()\n\n const yearList = Array.from({ length: 16 }, (_, i) => {\n const year = currentYear - i\n if (\n (maxDate && year > maxDate.getFullYear()) ||\n (minDate && year < minDate.getFullYear())\n )\n return 0\n return year\n })\n\n const { calendars, getBackProps, getForwardProps, getDateProps } = useDayzed({\n firstDayOfWeek,\n showOutsideDays: true,\n date,\n minDate,\n maxDate,\n ...remainingProps\n })\n\n if (!calendars.length) return null\n\n return (\n <div className={clsx('relative', 'w-fit', '-mt-1', className)}>\n <Flex className=\"absolute top-0 -right-1\">\n <ActionIcon\n label={labels[showYears ? 'previousYear' : 'previous']}\n theme=\"neutral\"\n size=\"md\"\n {...(!showYears && getBackProps({ calendars }))}\n {...(showYears && {\n onClick: () => setCurrentYear(currentYear - 16)\n })}\n disabled={showYears && isAtMinYear}\n >\n <Icon is={ChevronLeft} />\n </ActionIcon>\n <ActionIcon\n label={labels[showYears ? 'nextYear' : 'next']}\n theme=\"neutral\"\n size=\"md\"\n {...(!showYears && getForwardProps({ calendars }))}\n {...(showYears && {\n onClick: () => setCurrentYear(currentYear + 16)\n })}\n disabled={showYears && isAtMaxYear}\n >\n <Icon is={ChevronRight} />\n </ActionIcon>\n </Flex>\n {showYears && (\n <div className=\"grid grid-cols-4 gap-x-1 gap-y-3 pt-12 [direction:rtl]\">\n {yearList.map((year, i) => {\n const isCurrentYear = year === date.getFullYear()\n if (!year) return <div key={i} className=\"h-10 w-16\" />\n\n return (\n <StyledButton\n key={`${year}${i}`}\n theme={isCurrentYear ? 'primary' : 'neutral'}\n onClick={() => handleSetYear(year)}\n selected={isCurrentYear}\n >\n {year}\n </StyledButton>\n )\n })}\n </div>\n )}\n {!showYears &&\n calendars.map(({ month, year, weeks }) => (\n <div key={`${month}${year}`}>\n <Flex className=\"mb-4 h-10 items-center\">\n <Button\n theme=\"neutral\"\n onClick={() => setShowYears(true)}\n className=\"text-grey-1000 px-0\"\n >\n {monthNames[month]} {year}\n </Button>\n </Flex>\n <div className=\"mb-3 grid grid-cols-7 gap-x-2 gap-y-1\">\n {offsetWeekdayNames(weekdayNames, firstDayOfWeek).map(\n (weekday) => (\n <Text\n as=\"span\"\n size=\"sm\"\n weight=\"bold\"\n key={`${month}${year}${weekday}`}\n className=\"text-center\"\n >\n {weekday}\n </Text>\n )\n )}\n </div>\n <div className=\"grid grid-cols-7 gap-x-2 gap-y-1\">\n {weeks.map((week, weekIndex) =>\n week.map((dateObj, index) => {\n const key = `${month}${year}${weekIndex}${index}`\n\n if (!dateObj) return <div key={key} />\n\n const { date, selected, today, prevMonth, nextMonth } =\n dateObj\n\n return (\n <Day\n isOutsideMonth={prevMonth || nextMonth}\n isSelected={selected}\n isToday={today}\n key={key}\n ref={\n selected ? refDateSelected : today ? refDateToday : null\n }\n {...getDateProps({ dateObj })}\n type=\"button\"\n >\n {date.getDate()}\n </Day>\n )\n })\n )}\n </div>\n </div>\n ))}\n </div>\n )\n}\n\nCalendar.displayName = 'Calendar'\n"],"names":["StyledButton","styled","Button","offsetWeekdayNames","weekdayNames","firstDayOfWeek","start","Calendar","className","refDateSelected","refDateToday","monthNames","monthNamesShort","weekdayNamesShort","labels","DEFAULT_LABELS","date","minDate","maxDate","setYear","remainingProps","showYears","setShowYears","React","currentYear","setCurrentYear","handleSetYear","year","newDate","isAtMinYear","isAtMaxYear","yearList","_","i","calendars","getBackProps","getForwardProps","getDateProps","useDayzed","clsx","Flex","ActionIcon","Icon","ChevronLeft","ChevronRight","isCurrentYear","month","weeks","weekday","Text","week","weekIndex","dateObj","index","key","selected","today","prevMonth","nextMonth","Day"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","sources":["../../../src/components/calendar/Calendar.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight } from '@atom-learning/icons'\nimport clsx from 'clsx'\nimport type { Props as DayzedInterface } from 'dayzed'\nimport { useDayzed } from 'dayzed'\nimport * as React from 'react'\n\nimport { ActionIcon } from '~/components/action-icon/ActionIcon'\nimport { Button } from '~/components/button/Button'\nimport { Icon } from '~/components/icon/Icon'\nimport { Text } from '~/components/text/Text'\nimport { styled } from '~/styled'\n\nimport { DEFAULT_LABELS, monthNamesShort, weekdayNamesShort } from './constants'\nimport { Day } from './Day'\n\nconst StyledButton = styled(Button, {\n base: ['text-grey-1000', 'p-3', 'w-16'],\n variants: {\n selected: {\n false: [\n 'disabled:bg-white!',\n 'font-normal',\n 'hover:bg-grey-200!',\n 'hover:text-grey-1000!',\n 'text-grey-1000!'\n ]\n }\n }\n})\n\nexport type CalendarTranslationProps = {\n monthNames?: string[]\n weekdayNames?: string[]\n labels?: {\n open: string\n next: string\n previous: string\n nextYear: string\n previousYear: string\n }\n}\n\ntype CalendarProps = DayzedInterface &\n CalendarTranslationProps & {\n refDateToday?: React.RefObject<HTMLButtonElement>\n refDateSelected?: React.RefObject<HTMLButtonElement>\n setYear: (date: Date) => Promise<void>\n className?: string\n }\n\nconst offsetWeekdayNames = (\n weekdayNames: string[],\n firstDayOfWeek: number\n): string[] => {\n const start = weekdayNames.slice(0, firstDayOfWeek)\n const end = weekdayNames.slice(firstDayOfWeek)\n return end.concat(start)\n}\n\nexport const Calendar = ({\n className,\n refDateSelected,\n refDateToday,\n firstDayOfWeek = 0,\n monthNames = monthNamesShort,\n weekdayNames = weekdayNamesShort,\n labels = DEFAULT_LABELS,\n date = new Date(),\n minDate,\n maxDate,\n setYear,\n ...remainingProps\n}: CalendarProps) => {\n const [showYears, setShowYears] = React.useState<boolean>(false)\n const [currentYear, setCurrentYear] = React.useState<number>(\n date?.getFullYear()\n )\n\n const handleSetYear = (year: number): void => {\n const newDate = date\n newDate.setFullYear(year)\n setYear(newDate)\n setShowYears(false)\n }\n\n const isAtMinYear = minDate && currentYear - 16 <= minDate.getFullYear()\n const isAtMaxYear = maxDate && currentYear >= maxDate.getFullYear()\n\n const yearList = Array.from({ length: 16 }, (_, i) => {\n const year = currentYear - i\n if (\n (maxDate && year > maxDate.getFullYear()) ||\n (minDate && year < minDate.getFullYear())\n )\n return 0\n return year\n })\n\n const { calendars, getBackProps, getForwardProps, getDateProps } = useDayzed({\n firstDayOfWeek,\n showOutsideDays: true,\n date,\n minDate,\n maxDate,\n ...remainingProps\n })\n\n if (!calendars.length) return null\n\n return (\n <div className={clsx('relative', 'w-fit', '-mt-1', className)}>\n <div className=\"absolute top-0 -right-1 flex\">\n <ActionIcon\n label={labels[showYears ? 'previousYear' : 'previous']}\n theme=\"neutral\"\n size=\"md\"\n {...(!showYears && getBackProps({ calendars }))}\n {...(showYears && {\n onClick: () => setCurrentYear(currentYear - 16)\n })}\n disabled={showYears && isAtMinYear}\n >\n <Icon is={ChevronLeft} />\n </ActionIcon>\n <ActionIcon\n label={labels[showYears ? 'nextYear' : 'next']}\n theme=\"neutral\"\n size=\"md\"\n {...(!showYears && getForwardProps({ calendars }))}\n {...(showYears && {\n onClick: () => setCurrentYear(currentYear + 16)\n })}\n disabled={showYears && isAtMaxYear}\n >\n <Icon is={ChevronRight} />\n </ActionIcon>\n </div>\n {showYears && (\n <div className=\"grid grid-cols-4 gap-x-1 gap-y-3 pt-12 [direction:rtl]\">\n {yearList.map((year, i) => {\n const isCurrentYear = year === date.getFullYear()\n if (!year) return <div key={i} className=\"h-10 w-16\" />\n\n return (\n <StyledButton\n key={`${year}${i}`}\n theme={isCurrentYear ? 'primary' : 'neutral'}\n onClick={() => handleSetYear(year)}\n selected={isCurrentYear}\n >\n {year}\n </StyledButton>\n )\n })}\n </div>\n )}\n {!showYears &&\n calendars.map(({ month, year, weeks }) => (\n <div key={`${month}${year}`}>\n <div className=\"mb-4 flex h-10 items-center\">\n <Button\n theme=\"neutral\"\n onClick={() => setShowYears(true)}\n className=\"text-grey-1000 px-0\"\n >\n {monthNames[month]} {year}\n </Button>\n </div>\n <div className=\"mb-3 grid grid-cols-7 gap-x-2 gap-y-1\">\n {offsetWeekdayNames(weekdayNames, firstDayOfWeek).map(\n (weekday) => (\n <Text\n as=\"span\"\n size=\"sm\"\n weight=\"bold\"\n key={`${month}${year}${weekday}`}\n className=\"text-center\"\n >\n {weekday}\n </Text>\n )\n )}\n </div>\n <div className=\"grid grid-cols-7 gap-x-2 gap-y-1\">\n {weeks.map((week, weekIndex) =>\n week.map((dateObj, index) => {\n const key = `${month}${year}${weekIndex}${index}`\n\n if (!dateObj) return <div key={key} />\n\n const { date, selected, today, prevMonth, nextMonth } =\n dateObj\n\n return (\n <Day\n isOutsideMonth={prevMonth || nextMonth}\n isSelected={selected}\n isToday={today}\n key={key}\n ref={\n selected ? refDateSelected : today ? refDateToday : null\n }\n {...getDateProps({ dateObj })}\n type=\"button\"\n >\n {date.getDate()}\n </Day>\n )\n })\n )}\n </div>\n </div>\n ))}\n </div>\n )\n}\n\nCalendar.displayName = 'Calendar'\n"],"names":["StyledButton","styled","Button","offsetWeekdayNames","weekdayNames","firstDayOfWeek","start","Calendar","className","refDateSelected","refDateToday","monthNames","monthNamesShort","weekdayNamesShort","labels","DEFAULT_LABELS","date","minDate","maxDate","setYear","remainingProps","showYears","setShowYears","React","currentYear","setCurrentYear","handleSetYear","year","newDate","isAtMinYear","isAtMaxYear","yearList","_","i","calendars","getBackProps","getForwardProps","getDateProps","useDayzed","clsx","ActionIcon","Icon","ChevronLeft","ChevronRight","isCurrentYear","month","weeks","weekday","Text","week","weekIndex","dateObj","index","key","selected","today","prevMonth","nextMonth","Day"],"mappings":"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"}
|