@atom-learning/components 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/dist/components/accordion/AccordionContent.js +1 -1
  3. package/dist/components/accordion/AccordionItem.js +1 -1
  4. package/dist/components/alert-dialog/AlertDialogContent.js +1 -1
  5. package/dist/components/badge/Badge.js +1 -1
  6. package/dist/components/button/Button.js +1 -1
  7. package/dist/components/calendar/Calendar.js +1 -1
  8. package/dist/components/carousel/CarouselArrows.js +1 -1
  9. package/dist/components/checkbox/Checkbox.js +1 -1
  10. package/dist/components/chip/Chip.d.ts +1898 -0
  11. package/dist/components/chip/Chip.js +1 -0
  12. package/dist/components/chip/ChipGroup.d.ts +7 -0
  13. package/dist/components/chip/ChipGroup.js +1 -0
  14. package/dist/components/chip/index.d.ts +2 -0
  15. package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.d.ts +553 -0
  16. package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.js +1 -0
  17. package/dist/components/chip-dismissible-group/ChipDismissibleGroupRoot.d.ts +6 -0
  18. package/dist/components/chip-dismissible-group/ChipDismissibleGroupRoot.js +1 -0
  19. package/dist/components/chip-dismissible-group/index.d.ts +7 -0
  20. package/dist/components/chip-dismissible-group/index.js +1 -0
  21. package/dist/components/chip-toggle-group/ChipToggleGroupItem.d.ts +551 -0
  22. package/dist/components/chip-toggle-group/ChipToggleGroupItem.js +1 -0
  23. package/dist/components/chip-toggle-group/ChipToggleGroupRoot.d.ts +563 -0
  24. package/dist/components/chip-toggle-group/ChipToggleGroupRoot.js +1 -0
  25. package/dist/components/chip-toggle-group/index.d.ts +7 -0
  26. package/dist/components/chip-toggle-group/index.js +1 -0
  27. package/dist/components/combobox/Combobox.js +1 -1
  28. package/dist/components/dialog/DialogContent.js +1 -1
  29. package/dist/components/dismissible/DismissibleRoot.d.ts +17 -0
  30. package/dist/components/dismissible/DismissibleRoot.js +1 -0
  31. package/dist/components/dismissible/DismissibleTrigger.d.ts +5 -0
  32. package/dist/components/dismissible/DismissibleTrigger.js +1 -0
  33. package/dist/components/dismissible/index.d.ts +7 -0
  34. package/dist/components/dismissible/index.js +1 -0
  35. package/dist/components/dismissible-group/DismissibleGroupItem.d.ts +6 -0
  36. package/dist/components/dismissible-group/DismissibleGroupItem.js +1 -0
  37. package/dist/components/dismissible-group/DismissibleGroupRoot.d.ts +15 -0
  38. package/dist/components/dismissible-group/DismissibleGroupRoot.js +1 -0
  39. package/dist/components/dismissible-group/index.d.ts +9 -0
  40. package/dist/components/dismissible-group/index.js +1 -0
  41. package/dist/components/divider/Divider.js +1 -1
  42. package/dist/components/dropdown-menu/DropdownMenuLinkItem.js +1 -1
  43. package/dist/components/field-wrapper/FieldDescription.js +1 -1
  44. package/dist/components/field-wrapper/FieldWrapper.js +1 -1
  45. package/dist/components/field-wrapper/InlineFieldWrapper.js +1 -1
  46. package/dist/components/file-input/FileInput.js +1 -1
  47. package/dist/components/grid/Grid.js +1 -1
  48. package/dist/components/heading/Heading.js +1 -1
  49. package/dist/components/index.d.ts +7 -0
  50. package/dist/components/inline-message/InlineMessage.js +1 -1
  51. package/dist/components/label/Label.js +1 -1
  52. package/dist/components/link/Link.js +1 -1
  53. package/dist/components/markdown-content/MarkdownContent.js +1 -1
  54. package/dist/components/markdown-content/components/MarkdownCode.js +1 -1
  55. package/dist/components/markdown-content/components/MarkdownEmphasis.js +1 -1
  56. package/dist/components/markdown-content/components/MarkdownHeading.js +1 -1
  57. package/dist/components/markdown-content/components/MarkdownImage.js +1 -1
  58. package/dist/components/markdown-content/components/MarkdownLink.js +1 -1
  59. package/dist/components/markdown-content/components/MarkdownListItem.js +1 -1
  60. package/dist/components/markdown-content/components/MarkdownParagraph.js +1 -1
  61. package/dist/components/markdown-content/components/MarkdownStrong.js +1 -1
  62. package/dist/components/markdown-content/components/MarkdownThematicBreak.js +1 -1
  63. package/dist/components/navigation/NavigationMenu.d.ts +15 -0
  64. package/dist/components/navigation/NavigationMenu.js +1 -0
  65. package/dist/components/navigation/NavigationMenuContext.d.ts +7 -0
  66. package/dist/components/navigation/NavigationMenuContext.js +1 -0
  67. package/dist/components/navigation/NavigationMenuDropdown.d.ts +7 -0
  68. package/dist/components/navigation/NavigationMenuDropdown.js +1 -0
  69. package/dist/components/navigation/NavigationMenuItem.d.ts +287 -0
  70. package/dist/components/navigation/NavigationMenuItem.js +1 -0
  71. package/dist/components/navigation/index.d.ts +1 -0
  72. package/dist/components/notification-badge/NotificationBadge.js +1 -1
  73. package/dist/components/radio-button-field/RadioButtonField.js +1 -1
  74. package/dist/components/radio-card/RadioCardGroup.js +1 -1
  75. package/dist/components/search-input/SearchInput.js +1 -1
  76. package/dist/components/slider-field/SliderField.js +1 -1
  77. package/dist/components/stack/Stack.d.ts +2 -1
  78. package/dist/components/stack/Stack.js +1 -1
  79. package/dist/components/stack-content/StackContent.js +1 -1
  80. package/dist/components/stepper/StepperStepForward.js +1 -1
  81. package/dist/components/stepper/StepperSteps.js +1 -1
  82. package/dist/components/switch/Switch.js +1 -1
  83. package/dist/components/table/TableBody.js +1 -1
  84. package/dist/components/table/TableHeader.js +1 -1
  85. package/dist/components/tabs/TabTrigger.js +1 -1
  86. package/dist/components/tabs/Tabs.js +1 -1
  87. package/dist/components/tabs/utils.js +1 -1
  88. package/dist/components/toast/Toast.js +1 -1
  89. package/dist/components/toast/ToastProvider.js +1 -1
  90. package/dist/components/toggle-group/ToggleGroupButton.js +1 -1
  91. package/dist/components/top-bar/TopBar.d.ts +17 -0
  92. package/dist/components/top-bar/TopBar.js +1 -0
  93. package/dist/components/top-bar/TopBarActionIcon.d.ts +8 -0
  94. package/dist/components/top-bar/TopBarActionIcon.js +1 -0
  95. package/dist/components/top-bar/TopBarBrand.d.ts +814 -0
  96. package/dist/components/top-bar/TopBarBrand.js +1 -0
  97. package/dist/components/top-bar/index.d.ts +1 -0
  98. package/dist/constants/zIndices.d.ts +3 -0
  99. package/dist/constants/zIndices.js +1 -0
  100. package/dist/docgen.json +1 -1
  101. package/dist/docs/Chip.mdx +118 -0
  102. package/dist/docs/ChipDismissibleGroup.mdx +33 -0
  103. package/dist/docs/ChipToggleGroup.mdx +27 -0
  104. package/dist/docs/Dismissible.mdx +48 -0
  105. package/dist/docs/DismissibleGroup.mdx +29 -0
  106. package/dist/docs/NavigationMenu.mdx +113 -0
  107. package/dist/docs/TopBar.mdx +59 -0
  108. package/dist/index.cjs.js +1 -1
  109. package/dist/index.js +1 -1
  110. package/dist/utilities/hooks/useCallbackRef.js +1 -1
  111. package/dist/utilities/hooks/useScrollPosition.d.ts +4 -0
  112. package/dist/utilities/hooks/useScrollPosition.js +1 -0
  113. package/dist/utilities/override-stitches-variant-value/overrideStitchesVariantValue.d.ts +1 -0
  114. package/dist/utilities/override-stitches-variant-value/overrideStitchesVariantValue.js +1 -0
  115. package/package.json +3 -1
  116. package/dist/constants/dialog.d.ts +0 -1
  117. package/dist/constants/dialog.js +0 -1
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { Dismissible } from '../../components/dismissible';
3
+ export declare type TDismissibleGroupItemProps = React.ComponentProps<typeof Dismissible> & {
4
+ disabled?: boolean;
5
+ };
6
+ export declare const DismissibleGroupItem: React.FC<TDismissibleGroupItemProps>;
@@ -0,0 +1 @@
1
+ import*as i from"react";import{DismissibleGroupContext as n}from"./DismissibleGroupRoot.js";import{Dismissible as l}from"../dismissible/index.js";const b=({children:e,disabled:o=!1,...r})=>{const s=i.useContext(n);if(s===void 0)throw new Error("DismissibleGroup.Item can only be used within a DismissibleGroup");const{onDismiss:t,disabled:m}=s;return i.createElement(l,{disabled:m||o,onDismiss:t,...r},e)};export{b as DismissibleGroupItem};
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ export interface IDismissibleGroupContext {
3
+ disabled?: boolean;
4
+ onDismiss: (value: React.ReactText) => void;
5
+ }
6
+ export declare const DismissibleGroupContext: React.Context<IDismissibleGroupContext>;
7
+ export interface IDismissibleGroupProps {
8
+ disabled?: boolean;
9
+ onDismiss: (value: React.ReactText) => void;
10
+ }
11
+ export declare const DismissibleGroupProvider: React.FC<IDismissibleGroupProps>;
12
+ export interface IDismissibleGroupRootProps extends IDismissibleGroupProps {
13
+ as?: React.ComponentType;
14
+ }
15
+ export declare const DismissibleGroupRoot: React.FC<IDismissibleGroupRootProps>;
@@ -0,0 +1 @@
1
+ import*as s from"react";const t=s.createContext({onDismiss:()=>null}),n=({children:o,disabled:e,onDismiss:i})=>{const r=s.useMemo(()=>({disabled:e,onDismiss:i}),[e,i]);return s.createElement(t.Provider,{value:r},o)},l=({as:o="div",disabled:e,onDismiss:i,...r})=>s.createElement(n,{disabled:e,onDismiss:i},s.createElement(o,{...r}));export{t as DismissibleGroupContext,n as DismissibleGroupProvider,l as DismissibleGroupRoot};
@@ -0,0 +1,9 @@
1
+ import { DismissibleGroupItem } from './DismissibleGroupItem';
2
+ import { DismissibleGroupRoot } from './DismissibleGroupRoot';
3
+ import { DismissibleTrigger } from '../../components/dismissible/DismissibleTrigger';
4
+ declare type TDismissibleGroup = typeof DismissibleGroupRoot & {
5
+ Item: typeof DismissibleGroupItem;
6
+ Trigger: typeof DismissibleTrigger;
7
+ };
8
+ export declare const DismissibleGroup: TDismissibleGroup;
9
+ export {};
@@ -0,0 +1 @@
1
+ import{DismissibleGroupItem as s}from"./DismissibleGroupItem.js";import{DismissibleGroupRoot as r}from"./DismissibleGroupRoot.js";import{DismissibleTrigger as m}from"../dismissible/DismissibleTrigger.js";const i=r;i.Item=s,i.Trigger=m,i.displayName="DismissibleGroup";export{i as DismissibleGroup};
@@ -1 +1 @@
1
- import t from"react";import{styled as n}from"../../stitches.js";const i=n("hr",{border:0,bg:"$tonal200",variants:{orientation:{horizontal:{height:1,width:"100%"},vertical:{height:"100%",width:1,minHeight:"$3"}}}}),a=t.forwardRef(({orientation:e="horizontal",...r},o)=>t.createElement(i,{ref:o,orientation:e,...r}));export{a as Divider,i as StyledDivider};
1
+ import t from"react";import{styled as n}from"../../stitches.js";const i=n("hr",{border:0,bg:"$tonal200",variants:{orientation:{horizontal:{height:1,width:"100%"},vertical:{height:"100%",width:1,minHeight:"$3"}}}}),a=t.forwardRef(({orientation:r="horizontal",...e},o)=>t.createElement(i,{ref:o,orientation:r,...e}));export{a as Divider,i as StyledDivider};
@@ -1 +1 @@
1
- import e from"react";import{styled as n}from"../../stitches.js";import{DropdownMenuItem as m}from"./DropdownMenuItem.js";const i=n("a",{textDecoration:"none"}),l=({children:t,href:o,...r})=>e.createElement(m,{...r,asChild:!0},e.createElement(i,{href:o,role:"menuitem"},t));export{l as DropdownMenuLinkItem};
1
+ import e from"react";import{styled as n}from"../../stitches.js";import{DropdownMenuItem as m}from"./DropdownMenuItem.js";const i=n("a",{textDecoration:"none"}),l=({children:o,href:t,...r})=>e.createElement(m,{...r,asChild:!0},e.createElement(i,{href:t,role:"menuitem"},o));export{l as DropdownMenuLinkItem};
@@ -1 +1 @@
1
- import*as t from"react";import{Text as r}from"../text/Text.js";const s=({children:e,css:o})=>t.createElement(r,{size:"sm",css:{color:"$tonal300",maxWidth:"80ch",...o}},e);export{s as Description};
1
+ import*as e from"react";import{Text as r}from"../text/Text.js";const s=({children:o,css:t})=>e.createElement(r,{size:"sm",css:{color:"$tonal300",maxWidth:"80ch",...t}},o);export{s as Description};
@@ -1 +1 @@
1
- import*as e from"react";import{Box as a}from"../box/Box.js";import{Flex as c}from"../flex/Flex.js";import{Label as f}from"../label/Label.js";import{Link as d}from"../link/Link.js";import{InlineMessage as b}from"../inline-message/InlineMessage.js";import{Description as E}from"./FieldDescription.js";const i=({css:o,children:l,error:t,fieldId:s,label:n,prompt:r,description:m,required:p})=>e.createElement(a,{css:o},e.createElement(c,{css:{justifyContent:"space-between",alignItems:"center",mb:"$3"}},e.createElement(f,{htmlFor:s,required:p},n),r&&e.createElement(d,{href:r.link,size:"sm"},r.label)),m&&e.createElement(E,{css:{mb:"$3"}},m),l,t&&e.createElement(b,{css:{mt:"$2"}},t));i.displayName="FieldWrapper";export{i as FieldWrapper};
1
+ import*as e from"react";import{Box as a}from"../box/Box.js";import{Flex as c}from"../flex/Flex.js";import{Label as f}from"../label/Label.js";import{Link as d}from"../link/Link.js";import{InlineMessage as b}from"../inline-message/InlineMessage.js";import{Description as E}from"./FieldDescription.js";const o=({css:i,children:l,error:t,fieldId:s,label:n,prompt:r,description:m,required:p})=>e.createElement(a,{css:i},e.createElement(c,{css:{justifyContent:"space-between",alignItems:"center",mb:"$3"}},e.createElement(f,{htmlFor:s,required:p},n),r&&e.createElement(d,{href:r.link,size:"sm"},r.label)),m&&e.createElement(E,{css:{mb:"$3"}},m),l,t&&e.createElement(b,{css:{mt:"$2"}},t));o.displayName="FieldWrapper";export{o as FieldWrapper};
@@ -1 +1 @@
1
- import*as e from"react";import{Box as o}from"../box/Box.js";import{Checkbox as d}from"../checkbox/Checkbox.js";import{Label as $}from"../label/Label.js";import{RadioButton as f}from"../radio-button/RadioButton.js";import"../radio-button/RadioButtonGroup.js";import{InlineMessage as u}from"../inline-message/InlineMessage.js";import{Description as E}from"./FieldDescription.js";const l=({align:n="start",children:a,css:s,description:i,direction:t="row",error:m,label:p,required:c})=>e.createElement(o,{css:s},e.createElement($,{align:n,direction:t,required:c,type:"inline"},e.Children.map(a,r=>e.createElement(o,{css:{[t==="reverse"?"ml":"mr"]:"$3",...((r==null?void 0:r.type)===d||(r==null?void 0:r.type)===f)&&{transform:"translateY($space$1)"}}},r)),p),m&&e.createElement(u,{css:{mt:"$2"}},m),i&&e.createElement(E,{css:{mt:"$2",[t==="reverse"?"mr":"ml"]:"calc($space$3 + $sizes$1)"}},i));l.displayName="InlineFieldWrapper";export{l as InlineFieldWrapper};
1
+ import*as e from"react";import{Box as m}from"../box/Box.js";import{Checkbox as d}from"../checkbox/Checkbox.js";import{Label as f}from"../label/Label.js";import{RadioButton as $}from"../radio-button/RadioButton.js";import"../radio-button/RadioButtonGroup.js";import{InlineMessage as u}from"../inline-message/InlineMessage.js";import{Description as E}from"./FieldDescription.js";const l=({align:n="start",children:a,css:s,description:i,direction:t="row",error:o,label:p,required:c})=>e.createElement(m,{css:s},e.createElement(f,{align:n,direction:t,required:c,type:"inline"},e.Children.map(a,r=>e.createElement(m,{css:{[t==="reverse"?"ml":"mr"]:"$3",...((r==null?void 0:r.type)===d||(r==null?void 0:r.type)===$)&&{transform:"translateY($space$1)"}}},r)),p),o&&e.createElement(u,{css:{mt:"$2"}},o),i&&e.createElement(E,{css:{mt:"$2",[t==="reverse"?"mr":"ml"]:"calc($space$3 + $sizes$1)"}},i));l.displayName="InlineFieldWrapper";export{l as InlineFieldWrapper};
@@ -1 +1 @@
1
- import{Upload as c}from"@atom-learning/icons";import*as e from"react";import{Button as s}from"../button/Button.js";import{Icon as u}from"../icon/Icon.js";const t=({accept:l,children:i,multiple:n=!1,onFileSelect:o,...r})=>{const p=a=>{const{files:m}=a.target;o(m)};return e.createElement(s,{as:"label",...r},e.createElement(u,{is:c}),i,e.createElement("input",{type:"file",onChange:p,accept:l,multiple:n,hidden:!0}))};t.displayName="FileInput";export{t as FileInput};
1
+ import{Upload as c}from"@atom-learning/icons";import*as e from"react";import{Button as s}from"../button/Button.js";import{Icon as u}from"../icon/Icon.js";const t=({accept:l,children:o,multiple:i=!1,onFileSelect:n,...r})=>{const p=a=>{const{files:m}=a.target;n(m)};return e.createElement(s,{as:"label",...r},e.createElement(u,{is:c}),o,e.createElement("input",{type:"file",onChange:p,accept:l,multiple:i,hidden:!0}))};t.displayName="FileInput";export{t as FileInput};
@@ -1 +1 @@
1
- import*as p from"react";import{theme as r,styled as d}from"../../stitches.js";const c=Object.keys(r.space).reduce((a,e)=>({...a,[e]:{gap:`$space$${e}`}}),{}),o=d("div",{display:"grid",variants:{gap:c}}),i=({css:a,gap:e=2,minItemSize:t,maxItemSize:m="1fr",...s})=>p.createElement(o,{css:{...t&&{gridTemplateColumns:`repeat(auto-fit, minmax(${t}, ${m}))`},...a},gap:e,...s});i.displayName="Grid";export{i as Grid};
1
+ import*as p from"react";import{theme as r,styled as d}from"../../stitches.js";const o=Object.keys(r.space).reduce((a,e)=>({...a,[e]:{gap:`$space$${e}`}}),{}),c=d("div",{display:"grid",variants:{gap:o}}),i=({css:a,gap:e=2,minItemSize:t,maxItemSize:m="1fr",...s})=>p.createElement(c,{css:{...t&&{gridTemplateColumns:`repeat(auto-fit, minmax(${t}, ${m}))`},...a},gap:e,...s});i.displayName="Grid";export{i as Grid};
@@ -1 +1 @@
1
- import*as i from"react";import{styled as a}from"../../stitches.js";import{capsize as e}from"../../utilities/style/capsize.js";const t=a("h2",{color:"$tonal600",fontFamily:"$display",fontWeight:700,m:0,variants:{size:{xs:{fontFamily:"$body",fontWeight:600,fontSize:"$md",lineHeight:1.5,...e(.3864)},sm:{fontSize:"$lg",lineHeight:1.14,...e(.2174,.2254)},md:{fontSize:"$xl",lineHeight:1.14,...e(.2174,.2254)},lg:{fontSize:"$2xl",lineHeight:1.08,...e(.1865,.1945)},xl:{fontSize:"$3xl",lineHeight:1.12,...e(.206,.214)},xxl:{fontSize:"$4xl",lineHeight:1.06,...e(.1793,.1873)}}}}),l=i.forwardRef(({size:n="md",...o},f)=>i.createElement(t,{ref:f,size:n,...o}));l.displayName="Heading";export{l as Heading,t as StyledHeading};
1
+ import*as i from"react";import{styled as a}from"../../stitches.js";import{capsize as e}from"../../utilities/style/capsize.js";const t=a("h2",{color:"$tonal600",fontFamily:"$display",fontWeight:700,m:0,variants:{size:{xs:{fontFamily:"$body",fontWeight:600,fontSize:"$md",lineHeight:1.5,...e(.3864)},sm:{fontSize:"$lg",lineHeight:1.14,...e(.2174,.2254)},md:{fontSize:"$xl",lineHeight:1.14,...e(.2174,.2254)},lg:{fontSize:"$2xl",lineHeight:1.08,...e(.1865,.1945)},xl:{fontSize:"$3xl",lineHeight:1.12,...e(.206,.214)},xxl:{fontSize:"$4xl",lineHeight:1.06,...e(.1793,.1873)}}}}),o=i.forwardRef(({size:l="md",...n},f)=>i.createElement(t,{ref:f,size:l,...n}));o.displayName="Heading";export{o as Heading,t as StyledHeading};
@@ -9,10 +9,15 @@ export { Button, StyledButton } from './button';
9
9
  export { Carousel, useCarousel } from './carousel';
10
10
  export { Checkbox } from './checkbox';
11
11
  export { CheckboxField } from './checkbox-field';
12
+ export { Chip, ChipGroup } from './chip';
13
+ export { ChipDismissibleGroup } from './chip-dismissible-group';
14
+ export { ChipToggleGroup } from './chip-toggle-group';
12
15
  export { Combobox } from './combobox';
13
16
  export { Dialog } from './dialog';
14
17
  export { DateInput } from './date-input';
15
18
  export { DateField } from './date-field';
19
+ export { Dismissible } from './dismissible';
20
+ export { DismissibleGroup } from './dismissible-group';
16
21
  export { Divider } from './divider';
17
22
  export { DropdownMenu } from './dropdown-menu';
18
23
  export { FieldWrapper, InlineFieldWrapper } from './field-wrapper';
@@ -31,6 +36,7 @@ export { Link, StyledLink } from './link';
31
36
  export { List } from './list';
32
37
  export { Loader } from './loader';
33
38
  export { MarkdownContent } from './markdown-content';
39
+ export { TopBar } from './top-bar';
34
40
  export { NotificationBadge } from './notification-badge';
35
41
  export { PasswordField } from './password-field';
36
42
  export { PasswordInput } from './password-input';
@@ -57,3 +63,4 @@ export { ToastProvider, toast } from './toast';
57
63
  export { ToggleGroup } from './toggle-group';
58
64
  export { Tooltip } from './tooltip';
59
65
  export { Video } from './video';
66
+ export { NavigationMenu } from './navigation';
@@ -1 +1 @@
1
- import*as e from"react";import{INLINE_MESSAGE_THEMES as c,INLINE_MESSAGE_ICONS as a}from"./InlineMessage.config.js";import{Flex as E}from"../flex/Flex.js";import{Text as l}from"../text/Text.js";import{Icon as f}from"../icon/Icon.js";import{styled as t}from"../../stitches.js";const p=t(E,{variants:{theme:c}}),I=t(f,{flexShrink:"0",mr:"$2"}),h=({css:s,showIcon:m=!0,theme:r="error",size:o="sm",children:i,...n})=>e.createElement(p,{theme:r,css:s,...n},m&&e.createElement(I,{size:"sm",is:a[r]}),e.createElement(l,{as:"span",size:o,css:{color:"inherit",transform:"translateY($space$0)"}},i));export{h as InlineMessage};
1
+ import*as e from"react";import{INLINE_MESSAGE_THEMES as c,INLINE_MESSAGE_ICONS as a}from"./InlineMessage.config.js";import{Flex as E}from"../flex/Flex.js";import{Text as l}from"../text/Text.js";import{Icon as f}from"../icon/Icon.js";import{styled as t}from"../../stitches.js";const p=t(E,{variants:{theme:c}}),I=t(f,{flexShrink:"0",mr:"$2"}),h=({css:s,showIcon:o=!0,theme:r="error",size:m="sm",children:i,...n})=>e.createElement(p,{theme:r,css:s,...n},o&&e.createElement(I,{size:"sm",is:a[r]}),e.createElement(l,{as:"span",size:m,css:{color:"inherit",transform:"translateY($space$0)"}},i));export{h as InlineMessage};
@@ -1 +1 @@
1
- import*as e from"react";import{styled as t}from"../../stitches.js";import{textVariantSize as d}from"../text/Text.js";const{sm:p,md:y}=d(),f=t("label",{color:"$tonal500",fontFamily:"$body",m:0,variants:{size:{sm:p,md:y},type:{block:{display:"block",fontWeight:600},inline:{display:"flex",fontWeight:400,maxWidth:"max-content"}},align:{start:{},center:{}},direction:{reverse:{},row:{}}},compoundVariants:[{type:"inline",align:"start",css:{alignItems:"flex-start"}},{type:"inline",align:"center",css:{alignItems:"center"}},{type:"inline",direction:"reverse",css:{flexDirection:"row-reverse"}},{type:"inline",direction:"row",css:{flexDirection:"row"}}]}),g=t("span",{color:"$danger",ml:"$1",fontWeight:400}),i=({align:n="start",as:r="label",direction:a="row",size:l="md",type:o="block",children:s,required:c,...m})=>e.createElement(f,{as:r,size:l,type:o,align:n,direction:a,...m},s,c&&e.createElement(g,{"aria-hidden":!0},"*"));i.displayName="Label";export{i as Label};
1
+ import*as e from"react";import{styled as t}from"../../stitches.js";import{textVariantSize as d}from"../text/Text.js";const{sm:p,md:y}=d(),f=t("label",{color:"$tonal500",fontFamily:"$body",m:0,variants:{size:{sm:p,md:y},type:{block:{display:"block",fontWeight:600},inline:{display:"flex",fontWeight:400,maxWidth:"max-content"}},align:{start:{},center:{}},direction:{reverse:{},row:{}}},compoundVariants:[{type:"inline",align:"start",css:{alignItems:"flex-start"}},{type:"inline",align:"center",css:{alignItems:"center"}},{type:"inline",direction:"reverse",css:{flexDirection:"row-reverse"}},{type:"inline",direction:"row",css:{flexDirection:"row"}}]}),g=t("span",{color:"$danger",ml:"$1",fontWeight:400}),i=({align:n="start",as:r="label",direction:a="row",size:o="md",type:l="block",children:s,required:c,...m})=>e.createElement(f,{as:r,size:o,type:l,align:n,direction:a,...m},s,c&&e.createElement(g,{"aria-hidden":!0},"*"));i.displayName="Label";export{i as Label};
@@ -1 +1 @@
1
- import*as e from"react";import{styled as f}from"../../stitches.js";import{StyledHeading as l}from"../heading/Heading.js";import{StyledLi as s}from"../list/List.js";import{StyledText as c,textVariantSize as d}from"../text/Text.js";const r=f("a",{bg:"unset",border:"unset",p:"unset",color:"$primary",cursor:"pointer",fontFamily:"$body",textDecoration:"none","&:focus, &:hover":{color:"$primaryMid",textDecoration:"underline"},"&:active":{color:"$primaryDark"},[`${c} > &, ${l} > &, ${s} > &`]:{fontSize:"100%",lineHeight:1,"&::before, &::after":{content:"none"}},variants:{size:d()}}),a=e.forwardRef(({size:t="md",onClick:m,href:o,...i},n)=>o?e.createElement(r,{size:t,...i,ref:n,href:o}):e.createElement(r,{as:"button",size:t,...i,ref:n,onClick:m}));a.displayName="Link";export{a as Link,r as StyledLink};
1
+ import*as e from"react";import{styled as f}from"../../stitches.js";import{StyledHeading as l}from"../heading/Heading.js";import{StyledLi as s}from"../list/List.js";import{StyledText as c,textVariantSize as d}from"../text/Text.js";const r=f("a",{bg:"unset",border:"unset",p:"unset",color:"$primary",cursor:"pointer",fontFamily:"$body",textDecoration:"none","&:focus, &:hover":{color:"$primaryMid",textDecoration:"underline"},"&:active":{color:"$primaryDark"},[`${c} > &, ${l} > &, ${s} > &`]:{fontSize:"100%",lineHeight:1,"&::before, &::after":{content:"none"}},variants:{size:d()}}),a=e.forwardRef(({size:o="md",onClick:m,href:t,...i},n)=>t?e.createElement(r,{size:o,...i,ref:n,href:t}):e.createElement(r,{as:"button",size:o,...i,ref:n,onClick:m}));a.displayName="Link";export{a as Link,r as StyledLink};
@@ -1 +1 @@
1
- import d from"mdast-util-directive";import k from"mdast-util-from-markdown";import f from"micromark-extension-directive";import*as p from"react";import{StackContent as l}from"../stack-content/StackContent.js";import{MarkdownCode as c}from"./components/MarkdownCode.js";import{MarkdownEmphasis as w}from"./components/MarkdownEmphasis.js";import{MarkdownHeading as M}from"./components/MarkdownHeading.js";import{MarkdownInlineCode as h}from"./components/MarkdownInlineCode.js";import{MarkdownImage as u}from"./components/MarkdownImage.js";import{MarkdownLink as g}from"./components/MarkdownLink.js";import{MarkdownList as $}from"./components/MarkdownList.js";import{MarkdownListItem as C}from"./components/MarkdownListItem.js";import{MarkdownParagraph as x}from"./components/MarkdownParagraph.js";import{MarkdownStrong as y}from"./components/MarkdownStrong.js";import{MarkdownText as E}from"./components/MarkdownText.js";import{MarkdownThematicBreak as I}from"./components/MarkdownThematicBreak.js";const L={code:c,emphasis:w,heading:M,inlineCode:h,image:u,link:g,list:$,listItem:C,paragraph:x,strong:y,text:E,thematicBreak:I},v=o=>{var r,t;if((r=o.position)!=null&&r.start){const{line:e,column:m,offset:n}=(t=o.position)==null?void 0:t.start;return`${o.type}${e}${m}${n}`}return`${o.type}${+new Date}`},s=({content:o,customComponents:r={},css:t})=>{const e=k(o,{extensions:[f()],mdastExtensions:[d.fromMarkdown]}),m={...L,...r},n=a=>{const i=m[a.type];return i?p.createElement(i,{key:v(a),node:a,handleNode:n}):null};return p.createElement(l,{css:t},e.children.map(n))};s.displayName="MarkdownContent";export{s as MarkdownContent};
1
+ import d from"mdast-util-directive";import k from"mdast-util-from-markdown";import f from"micromark-extension-directive";import*as p from"react";import{StackContent as l}from"../stack-content/StackContent.js";import{MarkdownCode as c}from"./components/MarkdownCode.js";import{MarkdownEmphasis as w}from"./components/MarkdownEmphasis.js";import{MarkdownHeading as M}from"./components/MarkdownHeading.js";import{MarkdownInlineCode as h}from"./components/MarkdownInlineCode.js";import{MarkdownImage as u}from"./components/MarkdownImage.js";import{MarkdownLink as g}from"./components/MarkdownLink.js";import{MarkdownList as C}from"./components/MarkdownList.js";import{MarkdownListItem as $}from"./components/MarkdownListItem.js";import{MarkdownParagraph as x}from"./components/MarkdownParagraph.js";import{MarkdownStrong as y}from"./components/MarkdownStrong.js";import{MarkdownText as E}from"./components/MarkdownText.js";import{MarkdownThematicBreak as I}from"./components/MarkdownThematicBreak.js";const L={code:c,emphasis:w,heading:M,inlineCode:h,image:u,link:g,list:C,listItem:$,paragraph:x,strong:y,text:E,thematicBreak:I},v=o=>{var r,t;if((r=o.position)!=null&&r.start){const{line:e,column:m,offset:n}=(t=o.position)==null?void 0:t.start;return`${o.type}${e}${m}${n}`}return`${o.type}${+new Date}`},s=({content:o,customComponents:r={},css:t})=>{const e=k(o,{extensions:[f()],mdastExtensions:[d.fromMarkdown]}),m={...L,...r},n=a=>{const i=m[a.type];return i?p.createElement(i,{key:v(a),node:a,handleNode:n}):null};return p.createElement(l,{css:t},e.children.map(n))};s.displayName="MarkdownContent";export{s as MarkdownContent};
@@ -1 +1 @@
1
- import*as e from"react";import{styled as t}from"../../../stitches.js";import{Box as r}from"../../box/Box.js";const m=t(r,{bg:"$tonal100",borderRadius:"$1",color:"$tonal600",fontFamily:"$mono",fontSize:"$sm",lineHeight:1.4,my:"$4",p:"$3"}),n=({node:o})=>e.createElement(m,{as:"pre"},o.value);export{n as MarkdownCode};
1
+ import*as t from"react";import{styled as e}from"../../../stitches.js";import{Box as r}from"../../box/Box.js";const m=e(r,{bg:"$tonal100",borderRadius:"$1",color:"$tonal600",fontFamily:"$mono",fontSize:"$sm",lineHeight:1.4,my:"$4",p:"$3"}),n=({node:o})=>t.createElement(m,{as:"pre"},o.value);export{n as MarkdownCode};
@@ -1 +1 @@
1
- import*as t from"react";import{styled as r}from"../../../stitches.js";const l=r("em",{fontStyle:"italic"}),a=({node:o,handleNode:n})=>{var e;return t.createElement(l,null,(e=o.children)==null?void 0:e.map(n))};export{a as MarkdownEmphasis};
1
+ import*as t from"react";import{styled as r}from"../../../stitches.js";const l=r("em",{fontStyle:"italic"}),a=({node:e,handleNode:n})=>{var o;return t.createElement(l,null,(o=e.children)==null?void 0:o.map(n))};export{a as MarkdownEmphasis};
@@ -1 +1 @@
1
- import*as i from"react";import{Heading as c}from"../../heading/Heading.js";const o=e=>{switch(e){case 1:return{size:"xl",as:"h1"};case 2:return{size:"lg",as:"h2"};case 3:return{size:"md",as:"h3"};case 4:return{size:"sm",as:"h4"};case 5:return{size:"xs",as:"h5"};default:return{size:"xs",as:"h6"}}},d=({node:e,handleNode:r,css:a})=>{var s;const{as:n,size:t}=o(e.depth);return i.createElement(c,{as:n,size:t,css:{color:"inherit",...a}},(s=e.children)==null?void 0:s.map(r))};export{d as MarkdownHeading};
1
+ import*as i from"react";import{Heading as o}from"../../heading/Heading.js";const c=s=>{switch(s){case 1:return{size:"xl",as:"h1"};case 2:return{size:"lg",as:"h2"};case 3:return{size:"md",as:"h3"};case 4:return{size:"sm",as:"h4"};case 5:return{size:"xs",as:"h5"};default:return{size:"xs",as:"h6"}}},d=({node:s,handleNode:r,css:a})=>{var e;const{as:n,size:t}=c(s.depth);return i.createElement(o,{as:n,size:t,css:{color:"inherit",...a}},(e=s.children)==null?void 0:e.map(r))};export{d as MarkdownHeading};
@@ -1 +1 @@
1
- import*as o from"react";import{Image as t}from"../../image/Image.js";const m=({node:r,css:a})=>{var e;return o.createElement(t,{src:r.url,alt:(e=r.alt)!=null?e:void 0,css:a})};export{m as MarkdownImage};
1
+ import*as e from"react";import{Image as t}from"../../image/Image.js";const m=({node:r,css:a})=>{var o;return e.createElement(t,{src:r.url,alt:(o=r.alt)!=null?o:void 0,css:a})};export{m as MarkdownImage};
@@ -1 +1 @@
1
- import*as l from"react";import{Link as i}from"../../link/Link.js";const n=({node:e,handleNode:o})=>{var r,t;return l.createElement(i,{title:(r=e.title)!=null?r:void 0,href:e.url},(t=e.children)==null?void 0:t.map(o))};export{n as MarkdownLink};
1
+ import*as l from"react";import{Link as i}from"../../link/Link.js";const n=({node:e,handleNode:t})=>{var r,o;return l.createElement(i,{title:(r=e.title)!=null?r:void 0,href:e.url},(o=e.children)==null?void 0:o.map(t))};export{n as MarkdownLink};
@@ -1 +1 @@
1
- import*as o from"react";import{List as n}from"../../list/List.js";const m=({node:t,handleNode:r})=>{var e;return o.createElement(n.Item,null,(e=t.children)==null?void 0:e.map(r))};export{m as MarkdownListItem};
1
+ import*as r from"react";import{List as n}from"../../list/List.js";const m=({node:t,handleNode:o})=>{var e;return r.createElement(n.Item,null,(e=t.children)==null?void 0:e.map(o))};export{m as MarkdownListItem};
@@ -1 +1 @@
1
- import*as n from"react";import{Text as t}from"../../text/Text.js";const c=({node:e,handleNode:o,css:a})=>{var r;return n.createElement(t,{css:{color:"inherit",...a}},(r=e.children)==null?void 0:r.map(o))};export{c as MarkdownParagraph};
1
+ import*as n from"react";import{Text as t}from"../../text/Text.js";const c=({node:o,handleNode:e,css:a})=>{var r;return n.createElement(t,{css:{color:"inherit",...a}},(r=o.children)==null?void 0:r.map(e))};export{c as MarkdownParagraph};
@@ -1 +1 @@
1
- import*as r from"react";import{styled as t}from"../../../stitches.js";const d=t("strong",{fontWeight:600}),l=({node:e,handleNode:n})=>{var o;return r.createElement(d,null,(o=e.children)==null?void 0:o.map(n))};export{l as MarkdownStrong};
1
+ import*as t from"react";import{styled as e}from"../../../stitches.js";const d=e("strong",{fontWeight:600}),l=({node:n,handleNode:r})=>{var o;return t.createElement(d,null,(o=n.children)==null?void 0:o.map(r))};export{l as MarkdownStrong};
@@ -1 +1 @@
1
- import*as r from"react";import{Divider as t}from"../../divider/Divider.js";const o=({css:e})=>r.createElement(t,{css:{width:"100%",...e}});export{o as MarkdownThematicBreak};
1
+ import*as e from"react";import{Divider as o}from"../../divider/Divider.js";const t=({css:r})=>e.createElement(o,{css:{width:"100%",...r}});export{t as MarkdownThematicBreak};
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { CSS } from '../../stitches';
3
+ import { NavigationMenuDropdown } from './NavigationMenuDropdown';
4
+ import { NavigationMenuDropdownContent, NavigationMenuDropdownItem, NavigationMenuLink } from './NavigationMenuItem';
5
+ declare type NavigationMenuSubComponents = {
6
+ Link: typeof NavigationMenuLink;
7
+ Dropdown: typeof NavigationMenuDropdown;
8
+ DropdownContent: typeof NavigationMenuDropdownContent;
9
+ DropdownItem: typeof NavigationMenuDropdownItem;
10
+ };
11
+ declare type NavigationMenuProps = {
12
+ css?: CSS;
13
+ };
14
+ export declare const NavigationMenu: React.FC<NavigationMenuProps> & NavigationMenuSubComponents;
15
+ export {};
@@ -0,0 +1 @@
1
+ import*as l from"@radix-ui/react-navigation-menu";import t from"react";import{MAX_Z_INDEX as N}from"../../constants/zIndices.js";import{keyframes as h,styled as n}from"../../stitches.js";import{fadeOut as w}from"../../utilities/style/keyframe-animations.js";import{NavigationMenuContext as x}from"./NavigationMenuContext.js";import{NavigationMenuDropdown as E}from"./NavigationMenuDropdown.js";import{NavigationMenuLink as C,NavigationMenuDropdownContent as D,NavigationMenuDropdownItem as $}from"./NavigationMenuItem.js";const I=h({"0%, 50%":{opacity:0},"100%":{opacity:1}}),L=n(l.Root,{display:"flex",justifyContent:"center",position:"relative"}),_=n(l.List,{all:"unset",display:"flex",justifyContent:"center",alignItems:"center",gap:"$1",listStyle:"none"}),k=n(l.Viewport,{zIndex:N}),S=n("div",{position:"absolute",left:0,top:"100%",width:"100%",display:"flex",justifyContent:"center"}),o=({children:f,css:m})=>{const[p,u]=t.useState(),[a,c]=t.useState(),[i,d]=t.useState(0),r=t.useRef(null),s=200;t.useLayoutEffect(()=>{r.current&&d(r.current.offsetWidth)},[]),t.useEffect(()=>{let e;return a===""&&(e=setTimeout(()=>u(null),s)),()=>{e!==null&&clearTimeout(e)}},[a]);const y=(e,v)=>{if(e&&i&&a===v){const g=i/2,M=i-e.offsetLeft-e.offsetWidth+e.offsetWidth/2;u(Math.round(g-M))}return e};return t.createElement(x.Provider,{value:{onNodeUpdate:y}},t.createElement(L,{onValueChange:c,css:m},t.createElement(_,{ref:r},f),t.createElement(S,null,t.createElement(k,{css:{transform:`translateX(${p||0}px)`,'&[data-state="open"]':{animation:`${I} ${s}ms ease`},'&[data-state="closed"]':{animation:`${w} ${s}ms ease-out`}}}))))};o.Link=C,o.Dropdown=E,o.DropdownContent=D,o.DropdownItem=$,o.displayName="NavigationMenu";export{o as NavigationMenu};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface NavigationMenuContextValue {
3
+ onNodeUpdate: (trigger: HTMLButtonElement, itemValue: string) => HTMLButtonElement;
4
+ }
5
+ export declare const NavigationMenuContext: React.Context<NavigationMenuContextValue | undefined>;
6
+ export declare const useNavigationMenuContext: () => NavigationMenuContextValue;
7
+ export {};
@@ -0,0 +1 @@
1
+ import e from"react";const o=e.createContext(void 0),n=()=>{const t=e.useContext(o);if(t===void 0)throw new Error("useNavigationMenuContext must be used within a NavigationMenuContextProvider");return t};export{o as NavigationMenuContext,n as useNavigationMenuContext};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ declare type NavigationMenuDropdownProps = {
3
+ title: string;
4
+ active?: boolean;
5
+ } & React.HTMLProps<HTMLButtonElement>;
6
+ export declare const NavigationMenuDropdown: React.FC<NavigationMenuDropdownProps>;
7
+ export {};
@@ -0,0 +1 @@
1
+ import*as o from"@radix-ui/react-navigation-menu";import t from"react";import{styled as p}from"../../stitches.js";import{useNavigationMenuContext as m}from"./NavigationMenuContext.js";import{NavigationMenuDropdownTrigger as d}from"./NavigationMenuItem.js";const l=p(o.Content,{p:"$3",bg:"white",mt:"4px",boxShadow:"0px 3px 6px rgba(51, 51, 51, 0.15), 0px 3px 6px rgba(51, 51, 51, 0.2)",borderRadius:"$1"}),u=({children:r,title:e,...n})=>{const{onNodeUpdate:a}=m();return t.createElement(o.Item,{value:e},t.createElement(d,{...n,ref:i=>a(i,e)},e),t.createElement(l,null,r))};export{u as NavigationMenuDropdown};
@@ -0,0 +1,287 @@
1
+ import React from 'react';
2
+ import { CSS } from '../../stitches';
3
+ export declare const NavigationMenuDropdownTrigger: React.ForwardRefExoticComponent<{
4
+ active?: boolean | undefined;
5
+ } & {
6
+ children?: React.ReactNode;
7
+ } & React.RefAttributes<HTMLButtonElement>>;
8
+ export declare const NavigationMenuDropdownContent: import("@stitches/react/types/styled-component").StyledComponent<"ul", {}, {
9
+ sm: string;
10
+ md: string;
11
+ lg: string;
12
+ xl: string;
13
+ reducedMotion: string;
14
+ allowMotion: string;
15
+ hover: string;
16
+ }, import("@stitches/react/types/css-util").CSS<{
17
+ sm: string;
18
+ md: string;
19
+ lg: string;
20
+ xl: string;
21
+ reducedMotion: string;
22
+ allowMotion: string;
23
+ hover: string;
24
+ }, {
25
+ colors: {
26
+ textForeground: any;
27
+ textSubtle: any;
28
+ textPlaceholder: any;
29
+ background: any;
30
+ backgroundAccent: any;
31
+ tonal50: any;
32
+ tonal100: any;
33
+ tonal200: any;
34
+ tonal300: any;
35
+ tonal400: any;
36
+ tonal500: any;
37
+ tonal600: any;
38
+ alpha100: any;
39
+ alpha150: any;
40
+ alpha200: any;
41
+ alpha250: any;
42
+ alpha600: any;
43
+ primaryLight: any;
44
+ primary: any;
45
+ primaryMid: any;
46
+ primaryDark: any;
47
+ secondary: any;
48
+ brandRed: any;
49
+ brandRedAccent: any;
50
+ brandGreen: any;
51
+ brandGreenAccent: any;
52
+ brandPurple: any;
53
+ brandPurpleAccent: any;
54
+ brandYellow: any;
55
+ brandYellowAccent: any;
56
+ successLight: any;
57
+ success: any;
58
+ successMid: any;
59
+ successDark: any;
60
+ dangerLight: any;
61
+ danger: any;
62
+ dangerMid: any;
63
+ dangerDark: any;
64
+ warningLight: any;
65
+ warning: any;
66
+ warningMid: any;
67
+ warningDark: any;
68
+ warningText: any;
69
+ subjectEnglish: any;
70
+ subjectMaths: any;
71
+ subjectScience: any;
72
+ subjectVerbalReasoning: any;
73
+ subjectNonVerbalReasoning: any;
74
+ subjectCreativeWriting: any;
75
+ subjectExamSkills: any;
76
+ };
77
+ space: {
78
+ "0": any;
79
+ "1": any;
80
+ "2": any;
81
+ "3": any;
82
+ "4": any;
83
+ "5": any;
84
+ "6": any;
85
+ "7": any;
86
+ "8": any;
87
+ "9": any;
88
+ };
89
+ fontSizes: {
90
+ xs: any;
91
+ sm: any;
92
+ md: any;
93
+ lg: any;
94
+ xl: any;
95
+ "2xl": any;
96
+ "3xl": any;
97
+ "4xl": any;
98
+ };
99
+ fonts: {
100
+ sans: any;
101
+ mono: any;
102
+ display: any;
103
+ body: any;
104
+ };
105
+ sizes: {
106
+ "0": any;
107
+ "1": any;
108
+ "2": any;
109
+ "3": any;
110
+ "4": any;
111
+ "5": any;
112
+ "6": any;
113
+ "7": any;
114
+ "8": any;
115
+ };
116
+ radii: {
117
+ "0": any;
118
+ "1": any;
119
+ "2": any;
120
+ "3": any;
121
+ round: any;
122
+ };
123
+ shadows: {
124
+ "0": any;
125
+ "1": any;
126
+ "2": any;
127
+ "3": any;
128
+ };
129
+ }, import("@stitches/react/types/config").DefaultThemeMap, {
130
+ bg: (value: {
131
+ readonly [$$PropertyValue]: "background";
132
+ }) => {
133
+ background: {
134
+ readonly [$$PropertyValue]: "background";
135
+ };
136
+ };
137
+ inset: (value: string | number | {
138
+ readonly [$$ScaleValue]: "space";
139
+ }) => {
140
+ top: string | number | {
141
+ readonly [$$ScaleValue]: "space";
142
+ };
143
+ right: string | number | {
144
+ readonly [$$ScaleValue]: "space";
145
+ };
146
+ bottom: string | number | {
147
+ readonly [$$ScaleValue]: "space";
148
+ };
149
+ left: string | number | {
150
+ readonly [$$ScaleValue]: "space";
151
+ };
152
+ };
153
+ size: (value: string | number | {
154
+ readonly [$$ScaleValue]: "size";
155
+ }) => {
156
+ height: string | number | {
157
+ readonly [$$ScaleValue]: "size";
158
+ };
159
+ width: string | number | {
160
+ readonly [$$ScaleValue]: "size";
161
+ };
162
+ };
163
+ p: (value: string | number | {
164
+ readonly [$$ScaleValue]: "space";
165
+ }) => {
166
+ padding: string | number | {
167
+ readonly [$$ScaleValue]: "space";
168
+ };
169
+ };
170
+ pt: (value: string | number | {
171
+ readonly [$$ScaleValue]: "space";
172
+ }) => {
173
+ paddingTop: string | number | {
174
+ readonly [$$ScaleValue]: "space";
175
+ };
176
+ };
177
+ pr: (value: string | number | {
178
+ readonly [$$ScaleValue]: "space";
179
+ }) => {
180
+ paddingRight: string | number | {
181
+ readonly [$$ScaleValue]: "space";
182
+ };
183
+ };
184
+ pb: (value: string | number | {
185
+ readonly [$$ScaleValue]: "space";
186
+ }) => {
187
+ paddingBottom: string | number | {
188
+ readonly [$$ScaleValue]: "space";
189
+ };
190
+ };
191
+ pl: (value: string | number | {
192
+ readonly [$$ScaleValue]: "space";
193
+ }) => {
194
+ paddingLeft: string | number | {
195
+ readonly [$$ScaleValue]: "space";
196
+ };
197
+ };
198
+ px: (value: string | number | {
199
+ readonly [$$ScaleValue]: "space";
200
+ }) => {
201
+ paddingLeft: string | number | {
202
+ readonly [$$ScaleValue]: "space";
203
+ };
204
+ paddingRight: string | number | {
205
+ readonly [$$ScaleValue]: "space";
206
+ };
207
+ };
208
+ py: (value: string | number | {
209
+ readonly [$$ScaleValue]: "space";
210
+ }) => {
211
+ paddingTop: string | number | {
212
+ readonly [$$ScaleValue]: "space";
213
+ };
214
+ paddingBottom: string | number | {
215
+ readonly [$$ScaleValue]: "space";
216
+ };
217
+ };
218
+ m: (value: string | number | {
219
+ readonly [$$ScaleValue]: "space";
220
+ }) => {
221
+ margin: string | number | {
222
+ readonly [$$ScaleValue]: "space";
223
+ };
224
+ };
225
+ mt: (value: string | number | {
226
+ readonly [$$ScaleValue]: "space";
227
+ }) => {
228
+ marginTop: string | number | {
229
+ readonly [$$ScaleValue]: "space";
230
+ };
231
+ };
232
+ mr: (value: string | number | {
233
+ readonly [$$ScaleValue]: "space";
234
+ }) => {
235
+ marginRight: string | number | {
236
+ readonly [$$ScaleValue]: "space";
237
+ };
238
+ };
239
+ mb: (value: string | number | {
240
+ readonly [$$ScaleValue]: "space";
241
+ }) => {
242
+ marginBottom: string | number | {
243
+ readonly [$$ScaleValue]: "space";
244
+ };
245
+ };
246
+ ml: (value: string | number | {
247
+ readonly [$$ScaleValue]: "space";
248
+ }) => {
249
+ marginLeft: string | number | {
250
+ readonly [$$ScaleValue]: "space";
251
+ };
252
+ };
253
+ mx: (value: string | number | {
254
+ readonly [$$ScaleValue]: "space";
255
+ }) => {
256
+ marginLeft: string | number | {
257
+ readonly [$$ScaleValue]: "space";
258
+ };
259
+ marginRight: string | number | {
260
+ readonly [$$ScaleValue]: "space";
261
+ };
262
+ };
263
+ my: (value: string | number | {
264
+ readonly [$$ScaleValue]: "space";
265
+ }) => {
266
+ marginTop: string | number | {
267
+ readonly [$$ScaleValue]: "space";
268
+ };
269
+ marginBottom: string | number | {
270
+ readonly [$$ScaleValue]: "space";
271
+ };
272
+ };
273
+ }>>;
274
+ declare type NavigationMenuLinkProps = {
275
+ href: string;
276
+ active?: boolean;
277
+ disabled?: boolean;
278
+ variant?: 'link' | 'dropdownItem';
279
+ css?: CSS;
280
+ };
281
+ export declare const NavigationMenuLink: React.ForwardRefExoticComponent<NavigationMenuLinkProps & {
282
+ children?: React.ReactNode;
283
+ } & React.RefAttributes<HTMLAnchorElement>>;
284
+ export declare const NavigationMenuDropdownItem: React.ForwardRefExoticComponent<NavigationMenuLinkProps & {
285
+ children?: React.ReactNode;
286
+ } & React.RefAttributes<HTMLAnchorElement>>;
287
+ export {};
@@ -0,0 +1 @@
1
+ import{ChevronDown as u}from"@atom-learning/icons";import*as d from"@radix-ui/react-navigation-menu";import e from"react";import{theme as b,styled as r}from"../../stitches.js";import{Icon as g}from"../icon/Icon.js";const s={fontWeight:"bold",color:"$tonal500","&::after":{backgroundColor:"$tonal500",borderRadius:"$1",bottom:0,content:"",display:"block",height:"2px",left:"50%",position:"absolute",transform:"translate(-50%,0)",width:"$2"}},c={background:"none",color:"$tonal400",opacity:"30%",cursor:"default"},i={all:"unset",position:"relative",color:"$tonal400",outline:"none",cursor:"pointer",fontFamily:"$body",userSelect:"none",padding:"$3",borderRadius:"$1","&:hover":{background:"$tonal50",color:"$tonal600"},"&:active":{background:"$tonal100",color:"$tonal600"},"&:focus-visible":{boxShadow:`0 0 0 2px ${b.colors.primary}`},"&:disabled":{...c}},v=r(d.Trigger,i,{display:"flex",alignItems:"center",borderRadius:"$1",justifyContent:"space-between",gap:"$1",'&[data-state="open"]':{background:"$tonal100"},variants:{active:{true:{...s}}}}),$=r(d.Link,i,{display:"block",textDecoration:"none",lineHeight:1,variants:{elementType:{dropdownItem:{"&[data-active]":{background:"$primaryLight",color:"$primary"}},link:{"&[data-active]":{...s}}}}}),h=e.forwardRef(({children:o,active:t,...a},n)=>e.createElement(v,{active:t,...a,ref:n},o,e.createElement(g,{is:u,css:{"[data-state=open] &":{transform:"rotate(-180deg)"},"@media (prefers-reduced-motion: no-preference)":{transition:"transform .2s ease"}},size:"sm"}))),y=r("ul",{all:"unset"}),k=r("li",{all:"unset"}),w=r("button",{...i,...c}),m=e.forwardRef(({children:o,href:t,disabled:a,css:n,variant:p="link",...l},f)=>a?e.createElement(w,{disabled:!0,...l},o):e.createElement(k,null,e.createElement($,{href:t,ref:f,elementType:p,css:n,...l},o))),x=e.forwardRef((o,t)=>e.createElement(m,{ref:t,variant:"dropdownItem",...o}));export{y as NavigationMenuDropdownContent,x as NavigationMenuDropdownItem,h as NavigationMenuDropdownTrigger,m as NavigationMenuLink};
@@ -0,0 +1 @@
1
+ export { NavigationMenu } from './NavigationMenu';
@@ -1 +1 @@
1
- import e from"react";import{styled as o}from"../../stitches.js";import{Box as i}from"../box/Box.js";import{Flex as n}from"../flex/Flex.js";const l=o(i,{position:"relative"}),a=o(n,{fontFamily:"$body",fontSize:"$sm",flexDirection:"column",justifyContent:"center",position:"absolute",top:"0",right:"0",transform:"translate(calc($sizes$2 / 2), -50%)",borderRadius:"$round",p:"$2",height:"$2",minWidth:"$2",textAlign:"center",color:"#fff",bg:"$primary"}),m=({value:t,children:r})=>e.createElement(l,null,!!t&&e.createElement(a,{role:"status"},t),r);export{m as NotificationBadge};
1
+ import o from"react";import{styled as e}from"../../stitches.js";import{Box as i}from"../box/Box.js";import{Flex as n}from"../flex/Flex.js";const l=e(i,{position:"relative"}),a=e(n,{fontFamily:"$body",fontSize:"$sm",flexDirection:"column",justifyContent:"center",position:"absolute",top:"0",right:"0",transform:"translate(calc($sizes$2 / 2), -50%)",borderRadius:"$round",p:"$2",height:"$2",minWidth:"$2",textAlign:"center",color:"#fff",bg:"$primary"}),m=({value:t,children:r})=>o.createElement(l,null,!!t&&o.createElement(a,{role:"status"},t),r);export{m as NotificationBadge};
@@ -1 +1 @@
1
- import*as e from"react";import{useFormContext as g,Controller as C}from"react-hook-form";import{Description as F}from"../field-wrapper/FieldDescription.js";import"../form/Form.js";import{useFieldError as V}from"../form/useFieldError.js";import{Label as b}from"../label/Label.js";import"../radio-button/RadioButton.js";import{RadioButtonGroup as h}from"../radio-button/RadioButtonGroup.js";import{InlineMessage as v}from"../inline-message/InlineMessage.js";import{styled as B}from"../../stitches.js";import{RadioField as R}from"./RadioField.js";const q=B("fieldset",{all:"unset"}),r=({children:s,css:d,direction:u="column",defaultValue:t,description:l,label:c,name:n,validation:o,onValueChange:a})=>{const{control:p}=g(),{error:i}=V(n);return e.createElement(q,{css:d},e.createElement(b,{as:"legend",css:{p:0,mb:"$3"},required:Boolean(o==null?void 0:o.required)},c),l&&e.createElement(F,{css:{mb:"$3"}},l),e.createElement(C,{control:p,name:n,rules:o,defaultValue:t,render:({onChange:f,value:E})=>e.createElement(h,{direction:u,defaultValue:t,onValueChange:m=>{f(m),a==null||a(m)},value:E},s)}),i&&e.createElement(v,{css:{mt:"$2"}},i))};r.Item=R,r.displayName="RadioButtonField";export{r as RadioButtonField};
1
+ import*as e from"react";import{useFormContext as g,Controller as C}from"react-hook-form";import{Description as F}from"../field-wrapper/FieldDescription.js";import"../form/Form.js";import{useFieldError as V}from"../form/useFieldError.js";import{Label as b}from"../label/Label.js";import"../radio-button/RadioButton.js";import{RadioButtonGroup as h}from"../radio-button/RadioButtonGroup.js";import{InlineMessage as v}from"../inline-message/InlineMessage.js";import{styled as B}from"../../stitches.js";import{RadioField as R}from"./RadioField.js";const $=B("fieldset",{all:"unset"}),r=({children:s,css:d,direction:u="column",defaultValue:t,description:l,label:c,name:n,validation:o,onValueChange:a})=>{const{control:p}=g(),{error:i}=V(n);return e.createElement($,{css:d},e.createElement(b,{as:"legend",css:{p:0,mb:"$3"},required:Boolean(o==null?void 0:o.required)},c),l&&e.createElement(F,{css:{mb:"$3"}},l),e.createElement(C,{control:p,name:n,rules:o,defaultValue:t,render:({onChange:f,value:E})=>e.createElement(h,{direction:u,defaultValue:t,onValueChange:m=>{f(m),a==null||a(m)},value:E},s)}),i&&e.createElement(v,{css:{mt:"$2"}},i))};r.Item=R,r.displayName="RadioButtonField";export{r as RadioButtonField};
@@ -1 +1 @@
1
- import*as d from"@radix-ui/react-radio-group";import*as e from"react";import{Stack as p}from"../stack/Stack.js";import{RadioCard as c}from"./RadioCard.js";const f=({css:t,children:r,size:l,isFullWidth:o,align:a,gap:s="3",justify:m,...n})=>e.createElement(d.Root,{...n},e.createElement(p,{direction:"row",justify:m,gap:s,css:t},e.Children.map(r,i=>e.isValidElement(i)&&(i==null?void 0:i.type)===c?e.cloneElement(i,{size:l,isFullWidth:o,align:a}):i)));export{f as RadioCardGroup};
1
+ import*as d from"@radix-ui/react-radio-group";import*as e from"react";import{Stack as p}from"../stack/Stack.js";import{RadioCard as c}from"./RadioCard.js";const f=({css:t,children:r,size:o,isFullWidth:l,align:a,gap:s="3",justify:m,...n})=>e.createElement(d.Root,{...n},e.createElement(p,{direction:"row",justify:m,gap:s,css:t},e.Children.map(r,i=>e.isValidElement(i)&&(i==null?void 0:i.type)===c?e.cloneElement(i,{size:o,isFullWidth:l,align:a}):i)));export{f as RadioCardGroup};
@@ -1 +1 @@
1
- import{Search as g,Close as w}from"@atom-learning/icons";import*as t from"react";import{ActionIcon as z}from"../action-icon/ActionIcon.js";import{Box as y}from"../box/Box.js";import{Icon as c}from"../icon/Icon.js";import{Input as I}from"../input/Input.js";import{styled as l}from"../../stitches.js";import{useCallbackRef as k}from"../../utilities/hooks/useCallbackRef.js";var H=(e=>(e.SEARCH="SEARCH",e.CLEAR="CLEAR",e))(H||{});const L=l(c,{color:"$tonal300",position:"absolute",pointerEvents:"none",variants:{size:{sm:{top:"$2",right:"$2",size:"$1"},md:{top:10,right:10,size:20}}}}),x=l(I,{'&::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, & input[type="search"]::-webkit-search-results-decoration':{display:"none"}}),p=({size:e="md",css:u,value:n,clearText:m="Clear",onChange:a,...E})=>{const[h,C]=k(),[b,v]=t.useState(n||""),[f,d]=t.useState(n?"CLEAR":"SEARCH"),A=()=>{var r,i;const s=h.current;if(!s)return;const o=(r=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))==null?void 0:r.set;(i=o==null?void 0:o.call)==null||i.call(o,s,"");const $=new Event("input",{bubbles:!0});s.dispatchEvent($),s.focus()},R=r=>{v(r.target.value),d(r.target.value?"CLEAR":"SEARCH"),a==null||a(r)},S=()=>f==="SEARCH"?t.createElement(L,{is:g,size:e,css:{size:e=="sm"?"$1":20}}):t.createElement(z,{label:m,theme:"neutral",size:e,css:{position:"absolute",top:"0",right:"$1"},onClick:A},t.createElement(c,{is:w}));return t.createElement(y,{css:{position:"relative",...u}},t.createElement(x,{ref:C,size:e,type:"search",...E,value:b,onChange:R,css:{pr:e==="sm"?"$5":"$6"}}),S())};p.displayName="SearchInput";export{p as SearchInput};
1
+ import{Search as w,Close as z}from"@atom-learning/icons";import*as t from"react";import{ActionIcon as y}from"../action-icon/ActionIcon.js";import{Box as I}from"../box/Box.js";import{Icon as c}from"../icon/Icon.js";import{Input as k}from"../input/Input.js";import{styled as l}from"../../stitches.js";import{useCallbackRef as H}from"../../utilities/hooks/useCallbackRef.js";var L=(e=>(e.SEARCH="SEARCH",e.CLEAR="CLEAR",e))(L||{});const $=l(c,{color:"$tonal300",position:"absolute",pointerEvents:"none",variants:{size:{sm:{top:"$2",right:"$2",size:"$1"},md:{top:10,right:10,size:20}}}}),x=l(k,{'&::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, & input[type="search"]::-webkit-search-results-decoration':{display:"none"}}),p=({size:e="md",css:u,value:n,clearText:m="Clear",onChange:a,...E})=>{const[h,C]=H(),[b,v]=t.useState(n||""),[f,d]=t.useState(n?"CLEAR":"SEARCH"),A=()=>{var r,i;const s=h.current;if(!s)return;const o=(r=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))==null?void 0:r.set;(i=o==null?void 0:o.call)==null||i.call(o,s,"");const g=new Event("input",{bubbles:!0});s.dispatchEvent(g),s.focus()},R=r=>{v(r.target.value),d(r.target.value?"CLEAR":"SEARCH"),a==null||a(r)},S=()=>f==="SEARCH"?t.createElement($,{is:w,size:e,css:{size:e=="sm"?"$1":20}}):t.createElement(y,{label:m,theme:"neutral",size:e,css:{position:"absolute",top:"0",right:"$1"},onClick:A},t.createElement(c,{is:z}));return t.createElement(I,{css:{position:"relative",...u}},t.createElement(x,{ref:C,size:e,type:"search",...E,value:b,onChange:R,css:{pr:e==="sm"?"$5":"$6"}}),S())};p.displayName="SearchInput";export{p as SearchInput};
@@ -1 +1 @@
1
- import e from"react";import{useFormContext as x,Controller as E}from"react-hook-form";import{FieldWrapper as V}from"../field-wrapper/FieldWrapper.js";import"../field-wrapper/InlineFieldWrapper.js";import{Slider as l}from"../slider/Slider.js";const o=({css:u,label:i,name:t,defaultValue:a,outputLabel:d,min:r=0,max:m=100,steps:p=[],...s})=>{const{control:c}=x();return e.createElement(V,{css:u,fieldId:t,label:i},e.createElement(E,{control:c,name:t,defaultValue:a,render:({onChange:f,value:n})=>e.createElement(l,{name:t,defaultValue:a,onValueChange:f,value:n,min:r,max:m,...s},e.createElement(l.Steps,{min:r,max:m,steps:p}),e.createElement(l.Value,{value:n||a,outputLabel:d}))}))};o.displayName="SliderField";export{o as SliderField};
1
+ import e from"react";import{useFormContext as x,Controller as E}from"react-hook-form";import{FieldWrapper as V}from"../field-wrapper/FieldWrapper.js";import"../field-wrapper/InlineFieldWrapper.js";import{Slider as l}from"../slider/Slider.js";const n=({css:u,label:i,name:t,defaultValue:a,outputLabel:d,min:r=0,max:m=100,steps:p=[],...s})=>{const{control:c}=x();return e.createElement(V,{css:u,fieldId:t,label:i},e.createElement(E,{control:c,name:t,defaultValue:a,render:({onChange:f,value:o})=>e.createElement(l,{name:t,defaultValue:a,onValueChange:f,value:o,min:r,max:m,...s},e.createElement(l.Steps,{min:r,max:m,steps:p}),e.createElement(l.Value,{value:o||a,outputLabel:d}))}))};n.displayName="SliderField";export{n as SliderField};
@@ -274,6 +274,7 @@ declare const StyledStack: import("@stitches/react/types/styled-component").Styl
274
274
  }>>;
275
275
  declare type StackPropsType = React.ComponentProps<typeof StyledStack> & {
276
276
  css?: CSS;
277
+ as?: any;
277
278
  };
278
- export declare const Stack: React.FC<StackPropsType>;
279
+ export declare const Stack: React.ForwardRefExoticComponent<StackPropsType>;
279
280
  export {};