@umami/react-zen 0.11.0 → 0.13.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.
package/dist/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /* src/components/form/Form.module.css */
1
+ /* src/components/forms/Form.module.css */
2
2
  .Form_form {
3
3
  display: flex;
4
4
  flex-direction: column;
@@ -620,8 +620,17 @@
620
620
  .Text_wider {
621
621
  letter-spacing: 0.05em;
622
622
  }
623
+ .Text_left {
624
+ text-align: left;
625
+ }
626
+ .Text_center {
627
+ text-align: center;
628
+ }
629
+ .Text_right {
630
+ text-align: right;
631
+ }
623
632
 
624
- /* src/components/form/FormField.module.css */
633
+ /* src/components/forms/FormField.module.css */
625
634
  .FormField_field {
626
635
  display: flex;
627
636
  flex-direction: column;
@@ -1209,7 +1218,6 @@
1209
1218
  .TextField_textarea {
1210
1219
  font-family: inherit;
1211
1220
  min-height: 60px;
1212
- min-width: 140px;
1213
1221
  }
1214
1222
  .TextField_allowCopy {
1215
1223
  padding-right: 32px;
@@ -1360,6 +1368,8 @@
1360
1368
 
1361
1369
  /* src/components/HoverTrigger.module.css */
1362
1370
  .HoverTrigger_wrapper {
1371
+ transform: translateY(-10px);
1372
+ border-top: 10px solid transparent;
1363
1373
  }
1364
1374
 
1365
1375
  /* src/components/InlineEditField.module.css */
@@ -1484,198 +1494,28 @@
1484
1494
  }
1485
1495
 
1486
1496
  /* src/components/NavigationMenu.module.css */
1487
- .NavigationMenu_root {
1488
- position: relative;
1497
+ .NavigationMenu_nav {
1489
1498
  display: flex;
1490
1499
  align-items: center;
1491
- justify-content: center;
1492
- width: 100%;
1493
- z-index: 1;
1494
- }
1495
- .NavigationMenu_list {
1496
- display: flex;
1497
- align-items: center;
1498
- justify-content: center;
1499
- background-color: var(--background-color);
1500
- gap: var(--gap);
1501
- list-style: none;
1502
- margin: 0;
1500
+ gap: var(--gap-lg);
1503
1501
  }
1504
- .NavigationMenu_trigger {
1502
+ .NavigationMenu_item {
1503
+ color: var(--font-color);
1505
1504
  display: flex;
1506
1505
  align-items: center;
1507
- justify-content: space-between;
1508
- gap: var(--gap);
1509
- border: 0;
1510
- background: none;
1511
- }
1512
- .NavigationMenu_link {
1513
- display: block;
1514
- text-decoration: none;
1515
- }
1516
- .NavigationMenu_trigger,
1517
- .NavigationMenu_link {
1518
- outline: none;
1519
- user-select: none;
1520
- }
1521
- .NavigationMenu_content {
1522
- position: absolute;
1523
- top: 0;
1524
- left: 0;
1525
- width: 100%;
1526
- animation-duration: 250ms;
1527
- animation-timing-function: ease;
1528
- }
1529
- .NavigationMenu_content[data-motion=from-start] {
1530
- animation-name: NavigationMenu_enterFromLeft;
1531
- }
1532
- .NavigationMenu_content[data-motion=from-end] {
1533
- animation-name: NavigationMenu_enterFromRight;
1534
- }
1535
- .NavigationMenu_content[data-motion=to-start] {
1536
- animation-name: NavigationMenu_exitToLeft;
1537
- }
1538
- .NavigationMenu_content[data-motion=to-end] {
1539
- animation-name: NavigationMenu_exitToRight;
1540
- }
1541
- @media only screen and (min-width: 600px) {
1542
- .NavigationMenu_content {
1543
- width: auto;
1544
- }
1545
- }
1546
- .NavigationMenu_indicator {
1547
- display: flex;
1548
- align-items: flex-end;
1549
- justify-content: center;
1550
- height: 10px;
1551
- top: 100%;
1552
- overflow: hidden;
1553
- z-index: 1;
1554
- transition: width, transform 250ms ease;
1555
- }
1556
- .NavigationMenu_indicator[data-state=visible] {
1557
- animation: NavigationMenu_fadeIn 200ms ease;
1558
- }
1559
- .NavigationMenu_indicator[data-state=hidden] {
1560
- animation: NavigationMenu_fadeOut 200ms ease;
1561
- }
1562
- .NavigationMenu_viewport {
1563
- position: relative;
1564
- transform-origin: top center;
1565
- margin-top: 10px;
1566
- width: 100%;
1567
- overflow: hidden;
1568
- box-shadow: var(--box-shadow);
1569
- height: var(--radix-navigation-menu-viewport-height);
1570
- transition:
1571
- width,
1572
- height,
1573
- 300ms ease;
1574
- }
1575
- .NavigationMenu_viewport[data-state=open] {
1576
- animation: NavigationMenu_scaleIn 200ms ease;
1577
- }
1578
- .NavigationMenu_viewport[data-state=closed] {
1579
- animation: NavigationMenu_scaleOut 200ms ease;
1580
- }
1581
- @media only screen and (min-width: 600px) {
1582
- .NavigationMenu_viewport {
1583
- width: var(--radix-navigation-menu-viewport-width);
1584
- }
1585
- }
1586
- .NavigationMenu_wrapper {
1587
- position: absolute;
1588
- display: flex;
1589
- justify-content: center;
1590
- width: 100%;
1591
- top: 100%;
1592
- left: 0;
1593
- perspective: 2000px;
1594
- }
1595
- .NavigationMenu_arrow {
1596
- position: relative;
1597
- top: 70%;
1598
- background-color: white;
1599
- width: 10px;
1600
- height: 10px;
1601
- transform: rotate(45deg);
1602
- border-top-left-radius: 2px;
1603
- }
1604
- @keyframes NavigationMenu_enterFromRight {
1605
- from {
1606
- opacity: 0;
1607
- transform: translateX(200px);
1608
- }
1609
- to {
1610
- opacity: 1;
1611
- transform: translateX(0);
1612
- }
1613
- }
1614
- @keyframes NavigationMenu_enterFromLeft {
1615
- from {
1616
- opacity: 0;
1617
- transform: translateX(-200px);
1618
- }
1619
- to {
1620
- opacity: 1;
1621
- transform: translateX(0);
1622
- }
1623
- }
1624
- @keyframes NavigationMenu_exitToRight {
1625
- from {
1626
- opacity: 1;
1627
- transform: translateX(0);
1628
- }
1629
- to {
1630
- opacity: 0;
1631
- transform: translateX(200px);
1632
- }
1633
- }
1634
- @keyframes NavigationMenu_exitToLeft {
1635
- from {
1636
- opacity: 1;
1637
- transform: translateX(0);
1638
- }
1639
- to {
1640
- opacity: 0;
1641
- transform: translateX(-200px);
1642
- }
1643
- }
1644
- @keyframes NavigationMenu_scaleIn {
1645
- from {
1646
- opacity: 0;
1647
- transform: rotateX(-30deg) scale(0.9);
1648
- }
1649
- to {
1650
- opacity: 1;
1651
- transform: rotateX(0deg) scale(1);
1652
- }
1506
+ gap: var(--gap-md);
1507
+ padding: var(--padding);
1508
+ border-radius: var(--border-radius);
1509
+ cursor: default;
1653
1510
  }
1654
- @keyframes NavigationMenu_scaleOut {
1655
- from {
1656
- opacity: 1;
1657
- transform: rotateX(0deg) scale(1);
1658
- }
1659
- to {
1660
- opacity: 0;
1661
- transform: rotateX(-10deg) scale(0.95);
1662
- }
1511
+ .NavigationMenu_item:hover {
1512
+ background: var(--highlight-color);
1663
1513
  }
1664
- @keyframes NavigationMenu_fadeIn {
1665
- from {
1666
- opacity: 0;
1667
- }
1668
- to {
1669
- opacity: 1;
1670
- }
1514
+ .NavigationMenu_nav .NavigationMenu_item > a {
1515
+ color: var(--font-color);
1671
1516
  }
1672
- @keyframes NavigationMenu_fadeOut {
1673
- from {
1674
- opacity: 1;
1675
- }
1676
- to {
1677
- opacity: 0;
1678
- }
1517
+ .NavigationMenu_icon {
1518
+ color: var(--font-muted-color);
1679
1519
  }
1680
1520
 
1681
1521
  /* src/components/PasswordField.module.css */
package/dist/index.d.ts CHANGED
@@ -2,21 +2,23 @@
2
2
  // Dependencies for this module:
3
3
  // ../../react-aria-components
4
4
  // ../../@radix-ui/react-slot
5
+ // ../../@/components/forms/Form
6
+ // ../../@/components/forms/FormField
7
+ // ../../@/components/forms/FormResetButton
8
+ // ../../@/components/forms/FormSubmitButton
5
9
  // ../../react
6
- // ../../react-hook-form
7
10
  // ../../@radix-ui/react-accordion
8
11
  // ../../@/lib/types
9
- // ../../@radix-ui/react-navigation-menu
10
12
  // ../../@radix-ui/react-toast
11
13
  // ../../@radix-ui/react-toggle-group
12
14
 
13
15
  declare module '@umami/react-zen' {
14
16
  import { DialogTrigger, FileTrigger, MenuTrigger, SubmenuTrigger, TooltipTrigger } from 'react-aria-components';
15
17
  import { Slot } from '@radix-ui/react-slot';
16
- import { Form } from '@umami/react-zen/form/Form';
17
- import { FormField } from '@umami/react-zen/form/FormField';
18
- import { FormResetButton } from '@umami/react-zen/form/FormResetButton';
19
- import { FormSubmitButton } from '@umami/react-zen/form/FormSubmitButton';
18
+ import { Form } from '@/components/forms/Form';
19
+ import { FormField } from '@/components/forms/FormField';
20
+ import { FormResetButton } from '@/components/forms/FormResetButton';
21
+ import { FormSubmitButton } from '@/components/forms/FormSubmitButton';
20
22
  import { useDebounce } from '@umami/react-zen/hooks/useDebounce';
21
23
  import { useTheme } from '@umami/react-zen/hooks/useTheme';
22
24
  import { useToast } from '@umami/react-zen/hooks/useToast';
@@ -48,7 +50,7 @@ declare module '@umami/react-zen' {
48
50
  import { Menu } from '@umami/react-zen/Menu';
49
51
  import { MenuItem } from '@umami/react-zen/MenuItem';
50
52
  import { Modal } from '@umami/react-zen/Modal';
51
- import { NavigationMenu, NavigationMenuItem, NavigationMenuTrigger, NavigationMenuContent, NavigationMenuLink } from '@umami/react-zen/NavigationMenu';
53
+ import { NavigationMenu, NavigationMenuItem } from '@umami/react-zen/NavigationMenu';
52
54
  import { PasswordField } from '@umami/react-zen/PasswordField';
53
55
  import { Page } from '@umami/react-zen/Page';
54
56
  import { Popover } from '@umami/react-zen/Popover';
@@ -73,57 +75,7 @@ declare module '@umami/react-zen' {
73
75
  import { ToggleGroup, ToggleGroupItem } from '@umami/react-zen/ToggleGroup';
74
76
  import { Tooltip } from '@umami/react-zen/Tooltip';
75
77
  import { ZenProvider } from '@umami/react-zen/ZenProvider';
76
- export { Form, FormField, FormResetButton, FormSubmitButton, useDebounce, useTheme, useToast, Accordion, AccordionContent, AccordionItem, AccordionHeader, AlertBanner, AlertDialog, Box, Breadcrumb, Breadcrumbs, Button, Calendar, Checkbox, Column, Combobox, ConfirmationDialog, DataTable, DataColumn, Dialog, DialogTrigger, Dots, FileTrigger, Flexbox, Heading, HoverTrigger, Icon, Icons, InlineEditField, Label, List, ListItem, Loading, LoadingButton, Menu, MenuItem, MenuTrigger, Modal, NavigationMenu, NavigationMenuItem, NavigationMenuTrigger, NavigationMenuContent, NavigationMenuLink, PasswordField, Page, Popover, ProgressBar, ProgressCircle, Radio, RadioGroup, Row, SearchField, Select, Slider, Slot, Spinner, StatusLight, SubmenuTrigger, Switch, Table, TableHeader, TableBody, TableRow, TableColumn, TableCell, Tab, Tabs, TabList, TabPanel, Text, TextOverflow, TextField, TextArea, Toast, ToastProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipTrigger, ZenProvider, };
77
- }
78
-
79
- declare module '@umami/react-zen/form/Form' {
80
- import { HTMLAttributes, ReactNode } from 'react';
81
- import { UseFormProps, SubmitHandler, UseFormReturn } from 'react-hook-form';
82
- interface FormProps extends UseFormProps, Omit<HTMLAttributes<HTMLFormElement>, 'children'> {
83
- gap?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
84
- autoComplete?: string;
85
- onSubmit?: SubmitHandler<any>;
86
- error?: ReactNode;
87
- preventSubmit?: boolean;
88
- children?: ReactNode | ((e: UseFormReturn) => ReactNode);
89
- }
90
- function Form({ gap, autoComplete, onSubmit, error, preventSubmit, mode, disabled, reValidateMode, defaultValues, values, errors, resetOptions, resolver, context, shouldFocusError, shouldUnregister, shouldUseNativeValidation, progressive, criteriaMode, delayError, className, children, ...props }: FormProps): import("react").JSX.Element;
91
- export { Form };
92
- export type { FormProps };
93
- }
94
-
95
- declare module '@umami/react-zen/form/FormField' {
96
- import { HTMLAttributes } from 'react';
97
- import { RegisterOptions, UseFormReturn, FieldValues } from 'react-hook-form';
98
- interface FormFieldProps extends HTMLAttributes<HTMLDivElement>, Partial<UseFormReturn> {
99
- name: string;
100
- description?: string;
101
- label?: string;
102
- rules?: RegisterOptions<FieldValues, string>;
103
- children: any;
104
- }
105
- const FormField: import("react").ForwardRefExoticComponent<FormFieldProps & import("react").RefAttributes<any>>;
106
- export { FormField };
107
- export type { FormFieldProps };
108
- }
109
-
110
- declare module '@umami/react-zen/form/FormResetButton' {
111
- import { FieldValues } from 'react-hook-form';
112
- import { ButtonProps } from '@umami/react-zen/Button';
113
- interface FormResetButtonProps extends ButtonProps {
114
- values?: FieldValues | {
115
- [p: string]: any;
116
- };
117
- }
118
- function FormResetButton({ values, children, onPress, ...props }: FormResetButtonProps): import("react").JSX.Element;
119
- export { FormResetButton };
120
- export type { FormResetButtonProps };
121
- }
122
-
123
- declare module '@umami/react-zen/form/FormSubmitButton' {
124
- import { LoadingButtonProps } from '@umami/react-zen/LoadingButton';
125
- function FormSubmitButton({ children, disabled, isLoading, ...props }: LoadingButtonProps): import("react").JSX.Element;
126
- export { FormSubmitButton };
78
+ export { Form, FormField, FormResetButton, FormSubmitButton, useDebounce, useTheme, useToast, Accordion, AccordionContent, AccordionItem, AccordionHeader, AlertBanner, AlertDialog, Box, Breadcrumb, Breadcrumbs, Button, Calendar, Checkbox, Column, Combobox, ConfirmationDialog, DataTable, DataColumn, Dialog, DialogTrigger, Dots, FileTrigger, Flexbox, Heading, HoverTrigger, Icon, Icons, InlineEditField, Label, List, ListItem, Loading, LoadingButton, Menu, MenuItem, MenuTrigger, Modal, NavigationMenu, NavigationMenuItem, PasswordField, Page, Popover, ProgressBar, ProgressCircle, Radio, RadioGroup, Row, SearchField, Select, Slider, Slot, Spinner, StatusLight, SubmenuTrigger, Switch, Table, TableHeader, TableBody, TableRow, TableColumn, TableCell, Tab, Tabs, TabList, TabPanel, Text, TextOverflow, TextField, TextArea, Toast, ToastProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipTrigger, ZenProvider, };
127
79
  }
128
80
 
129
81
  declare module '@umami/react-zen/hooks/useDebounce' {
@@ -247,7 +199,7 @@ declare module '@umami/react-zen/Button' {
247
199
  asChild?: boolean;
248
200
  slot?: string;
249
201
  }
250
- function Button({ variant, size, preventFocusOnPress, asChild, className, children, ...props }: ButtonProps): import("react").JSX.Element;
202
+ const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<any>>;
251
203
  export { Button };
252
204
  export type { ButtonProps };
253
205
  }
@@ -376,10 +328,13 @@ declare module '@umami/react-zen/Heading' {
376
328
  declare module '@umami/react-zen/HoverTrigger' {
377
329
  import { ReactElement } from 'react';
378
330
  export interface HoverButtonProps {
331
+ isOpen?: boolean;
332
+ onHoverStart?: () => void;
333
+ onHoverEnd?: () => void;
379
334
  closeDelay?: number;
380
335
  children: ReactElement[];
381
336
  }
382
- export function HoverTrigger({ closeDelay, children }: HoverButtonProps): import("react").JSX.Element;
337
+ export function HoverTrigger({ isOpen, onHoverStart, onHoverEnd, closeDelay, children, }: HoverButtonProps): import("react").JSX.Element;
383
338
  }
384
339
 
385
340
  declare module '@umami/react-zen/Icon' {
@@ -522,16 +477,16 @@ declare module '@umami/react-zen/Modal' {
522
477
  }
523
478
 
524
479
  declare module '@umami/react-zen/NavigationMenu' {
525
- import React from 'react';
526
- import { NavigationMenuProps as RadixNavigationMenuProps, NavigationMenuItemProps, NavigationMenuTriggerProps, NavigationMenuContentProps, NavigationMenuLinkProps } from '@radix-ui/react-navigation-menu';
527
- export interface NavigationMenuProps extends RadixNavigationMenuProps {
480
+ import { HTMLAttributes, ReactNode } from 'react';
481
+ export interface NavigationMenuProps extends HTMLAttributes<HTMLElement> {
528
482
  showArrow?: boolean;
529
483
  }
530
- export function NavigationMenu({ showArrow, children, ...props }: NavigationMenuProps): React.JSX.Element;
531
- export function NavigationMenuItem({ children, className, ...props }: NavigationMenuItemProps): React.JSX.Element;
532
- export function NavigationMenuTrigger({ children, className, ...props }: NavigationMenuTriggerProps): React.JSX.Element;
533
- export function NavigationMenuContent({ children, className, ...props }: NavigationMenuContentProps): React.JSX.Element;
534
- export function NavigationMenuLink({ children, className, ...props }: NavigationMenuLinkProps): React.JSX.Element;
484
+ export function NavigationMenu({ showArrow, className, children, ...props }: NavigationMenuProps): import("react").JSX.Element;
485
+ export interface NavigationMenuItemProps extends HTMLAttributes<HTMLElement> {
486
+ label: string;
487
+ children?: ReactNode;
488
+ }
489
+ export function NavigationMenuItem({ label, children, className, ...props }: NavigationMenuItemProps): import("react").JSX.Element;
535
490
  }
536
491
 
537
492
  declare module '@umami/react-zen/PasswordField' {
@@ -704,11 +659,12 @@ declare module '@umami/react-zen/Text' {
704
659
  spacing?: 'tighter' | 'tight' | 'wide' | 'wider';
705
660
  type?: 'muted' | 'faded';
706
661
  weight?: 'lighter' | 'light' | 'bold' | 'bolder';
662
+ align?: 'left' | 'center' | 'right';
707
663
  asChild?: boolean;
708
664
  className?: string;
709
665
  children?: ReactNode;
710
666
  }
711
- function Text({ children, type, size, spacing, weight, asChild, className, ...props }: TextProps): import("react").JSX.Element;
667
+ function Text({ children, type, size, spacing, weight, align, asChild, className, ...props }: TextProps): import("react").JSX.Element;
712
668
  export { Text };
713
669
  export type { TextProps };
714
670
  }