@newtonedev/components 0.1.4 → 0.1.6
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/composites/actions/Button/Button.d.ts +37 -0
- package/dist/composites/actions/Button/Button.d.ts.map +1 -0
- package/dist/composites/actions/Button/Button.styles.d.ts +65 -0
- package/dist/composites/actions/Button/Button.styles.d.ts.map +1 -0
- package/dist/{Button → composites/actions/Button}/Button.types.d.ts +12 -3
- package/dist/composites/actions/Button/Button.types.d.ts.map +1 -0
- package/dist/composites/actions/Button/index.d.ts.map +1 -0
- package/dist/composites/form-controls/Select/Select.d.ts.map +1 -0
- package/dist/{Select → composites/form-controls/Select}/Select.styles.d.ts +1 -1
- package/dist/composites/form-controls/Select/Select.styles.d.ts.map +1 -0
- package/dist/composites/form-controls/Select/Select.types.d.ts.map +1 -0
- package/dist/composites/form-controls/Select/SelectOption.d.ts.map +1 -0
- package/dist/composites/form-controls/Select/index.d.ts.map +1 -0
- package/dist/composites/form-controls/Select/useSelect.d.ts.map +1 -0
- package/dist/composites/form-controls/TextInput/TextInput.d.ts.map +1 -0
- package/dist/{TextInput → composites/form-controls/TextInput}/TextInput.styles.d.ts +1 -1
- package/dist/composites/form-controls/TextInput/TextInput.styles.d.ts.map +1 -0
- package/dist/composites/form-controls/TextInput/TextInput.types.d.ts.map +1 -0
- package/dist/composites/form-controls/TextInput/index.d.ts.map +1 -0
- package/dist/composites/form-controls/Toggle/Toggle.d.ts.map +1 -0
- package/dist/{Toggle → composites/form-controls/Toggle}/Toggle.styles.d.ts +1 -1
- package/dist/composites/form-controls/Toggle/Toggle.styles.d.ts.map +1 -0
- package/dist/composites/form-controls/Toggle/Toggle.types.d.ts.map +1 -0
- package/dist/composites/form-controls/Toggle/index.d.ts.map +1 -0
- package/dist/composites/layout/AppShell/AppShell.d.ts.map +1 -0
- package/dist/{AppShell → composites/layout/AppShell}/AppShell.styles.d.ts +1 -1
- package/dist/composites/layout/AppShell/AppShell.styles.d.ts.map +1 -0
- package/dist/composites/layout/AppShell/AppShell.types.d.ts.map +1 -0
- package/dist/composites/layout/AppShell/index.d.ts.map +1 -0
- package/dist/composites/layout/Card/Card.d.ts.map +1 -0
- package/dist/{Card → composites/layout/Card}/Card.styles.d.ts +1 -1
- package/dist/composites/layout/Card/Card.styles.d.ts.map +1 -0
- package/dist/{Card → composites/layout/Card}/Card.types.d.ts +1 -1
- package/dist/composites/layout/Card/Card.types.d.ts.map +1 -0
- package/dist/composites/layout/Card/index.d.ts.map +1 -0
- package/dist/composites/layout/Navbar/Navbar.d.ts.map +1 -0
- package/dist/{Navbar → composites/layout/Navbar}/Navbar.styles.d.ts +1 -1
- package/dist/composites/layout/Navbar/Navbar.styles.d.ts.map +1 -0
- package/dist/composites/layout/Navbar/Navbar.types.d.ts.map +1 -0
- package/dist/composites/layout/Navbar/index.d.ts.map +1 -0
- package/dist/composites/layout/Sidebar/Sidebar.d.ts.map +1 -0
- package/dist/{Sidebar → composites/layout/Sidebar}/Sidebar.styles.d.ts +1 -1
- package/dist/composites/layout/Sidebar/Sidebar.styles.d.ts.map +1 -0
- package/dist/composites/layout/Sidebar/Sidebar.types.d.ts.map +1 -0
- package/dist/composites/layout/Sidebar/index.d.ts.map +1 -0
- package/dist/composites/overlays/Popover/Popover.d.ts.map +1 -0
- package/dist/{Popover → composites/overlays/Popover}/Popover.styles.d.ts +1 -1
- package/dist/composites/overlays/Popover/Popover.styles.d.ts.map +1 -0
- package/dist/composites/overlays/Popover/Popover.types.d.ts.map +1 -0
- package/dist/composites/overlays/Popover/index.d.ts.map +1 -0
- package/dist/composites/overlays/Popover/usePopover.d.ts.map +1 -0
- package/dist/composites/range-inputs/ColorScaleSlider/ColorScaleSlider.d.ts.map +1 -0
- package/dist/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/ColorScaleSlider.styles.d.ts +1 -1
- package/dist/composites/range-inputs/ColorScaleSlider/ColorScaleSlider.styles.d.ts.map +1 -0
- package/dist/composites/range-inputs/ColorScaleSlider/ColorScaleSlider.types.d.ts.map +1 -0
- package/dist/composites/range-inputs/ColorScaleSlider/index.d.ts.map +1 -0
- package/dist/composites/range-inputs/HueSlider/HueSlider.d.ts.map +1 -0
- package/dist/{HueSlider → composites/range-inputs/HueSlider}/HueSlider.styles.d.ts +1 -1
- package/dist/composites/range-inputs/HueSlider/HueSlider.styles.d.ts.map +1 -0
- package/dist/composites/range-inputs/HueSlider/HueSlider.types.d.ts.map +1 -0
- package/dist/composites/range-inputs/HueSlider/index.d.ts.map +1 -0
- package/dist/composites/range-inputs/Slider/Slider.d.ts.map +1 -0
- package/dist/{Slider → composites/range-inputs/Slider}/Slider.styles.d.ts +1 -1
- package/dist/composites/range-inputs/Slider/Slider.styles.d.ts.map +1 -0
- package/dist/composites/range-inputs/Slider/Slider.types.d.ts.map +1 -0
- package/dist/composites/range-inputs/Slider/index.d.ts.map +1 -0
- package/dist/index.cjs +1277 -764
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +30 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1234 -726
- package/dist/index.js.map +1 -1
- package/dist/primitives/Frame/Frame.d.ts +2 -3
- package/dist/primitives/Frame/Frame.d.ts.map +1 -1
- package/dist/primitives/Frame/Frame.types.d.ts +4 -15
- package/dist/primitives/Frame/Frame.types.d.ts.map +1 -1
- package/dist/primitives/Icon/Icon.d.ts.map +1 -1
- package/dist/primitives/Text/Text.d.ts.map +1 -1
- package/dist/primitives/Text/Text.types.d.ts +9 -4
- package/dist/primitives/Text/Text.types.d.ts.map +1 -1
- package/dist/primitives/Wrapper/Wrapper.d.ts +1 -1
- package/dist/primitives/Wrapper/Wrapper.types.d.ts +1 -1
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/theme/FrameContext.d.ts +7 -5
- package/dist/theme/FrameContext.d.ts.map +1 -1
- package/dist/theme/NewtoneProvider.d.ts +5 -6
- package/dist/theme/NewtoneProvider.d.ts.map +1 -1
- package/dist/theme/defaults.d.ts.map +1 -1
- package/dist/theme/types.d.ts +38 -24
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/tokens/computeTokens.d.ts +82 -7
- package/dist/tokens/computeTokens.d.ts.map +1 -1
- package/dist/tokens/types.d.ts +66 -14
- package/dist/tokens/types.d.ts.map +1 -1
- package/dist/tokens/useTokens.d.ts +11 -14
- package/dist/tokens/useTokens.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/composites/actions/Button/Button.styles.ts +338 -0
- package/src/composites/actions/Button/Button.tsx +119 -0
- package/src/{Button → composites/actions/Button}/Button.types.ts +14 -3
- package/src/{Select → composites/form-controls/Select}/Select.styles.ts +1 -1
- package/src/{Select → composites/form-controls/Select}/Select.tsx +4 -4
- package/src/{Select → composites/form-controls/Select}/SelectOption.tsx +4 -4
- package/src/{TextInput → composites/form-controls/TextInput}/TextInput.styles.ts +1 -1
- package/src/{TextInput → composites/form-controls/TextInput}/TextInput.tsx +1 -1
- package/src/{Toggle → composites/form-controls/Toggle}/Toggle.styles.ts +2 -2
- package/src/{Toggle → composites/form-controls/Toggle}/Toggle.tsx +1 -1
- package/src/{AppShell → composites/layout/AppShell}/AppShell.styles.ts +1 -1
- package/src/{AppShell → composites/layout/AppShell}/AppShell.tsx +1 -1
- package/src/{Card → composites/layout/Card}/Card.styles.ts +1 -1
- package/src/{Card → composites/layout/Card}/Card.tsx +1 -1
- package/src/{Card → composites/layout/Card}/Card.types.ts +1 -1
- package/src/{Navbar → composites/layout/Navbar}/Navbar.styles.ts +1 -1
- package/src/{Navbar → composites/layout/Navbar}/Navbar.tsx +1 -1
- package/src/{Sidebar → composites/layout/Sidebar}/Sidebar.styles.ts +1 -1
- package/src/{Sidebar → composites/layout/Sidebar}/Sidebar.tsx +1 -1
- package/src/{Popover → composites/overlays/Popover}/Popover.styles.ts +1 -1
- package/src/{Popover → composites/overlays/Popover}/Popover.tsx +1 -1
- package/src/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/ColorScaleSlider.styles.ts +2 -2
- package/src/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/ColorScaleSlider.tsx +1 -1
- package/src/{HueSlider → composites/range-inputs/HueSlider}/HueSlider.styles.ts +1 -1
- package/src/{HueSlider → composites/range-inputs/HueSlider}/HueSlider.tsx +1 -1
- package/src/{Slider → composites/range-inputs/Slider}/Slider.styles.ts +3 -3
- package/src/{Slider → composites/range-inputs/Slider}/Slider.tsx +1 -1
- package/src/index.ts +40 -33
- package/src/primitives/Frame/Frame.tsx +10 -18
- package/src/primitives/Frame/Frame.types.ts +5 -17
- package/src/primitives/Icon/Icon.tsx +16 -1
- package/src/primitives/Text/Text.tsx +18 -8
- package/src/primitives/Text/Text.types.ts +9 -4
- package/src/primitives/Wrapper/Wrapper.tsx +1 -1
- package/src/primitives/Wrapper/Wrapper.types.ts +1 -1
- package/src/registry/registry.ts +239 -6
- package/src/theme/FrameContext.tsx +7 -5
- package/src/theme/NewtoneProvider.tsx +5 -10
- package/src/theme/defaults.ts +0 -9
- package/src/theme/types.ts +53 -26
- package/src/tokens/computeTokens.ts +351 -113
- package/src/tokens/types.ts +82 -14
- package/src/tokens/useTokens.ts +29 -24
- package/dist/AppShell/AppShell.d.ts.map +0 -1
- package/dist/AppShell/AppShell.styles.d.ts.map +0 -1
- package/dist/AppShell/AppShell.types.d.ts.map +0 -1
- package/dist/AppShell/index.d.ts.map +0 -1
- package/dist/Button/Button.d.ts +0 -28
- package/dist/Button/Button.d.ts.map +0 -1
- package/dist/Button/Button.styles.d.ts +0 -46
- package/dist/Button/Button.styles.d.ts.map +0 -1
- package/dist/Button/Button.types.d.ts.map +0 -1
- package/dist/Button/index.d.ts.map +0 -1
- package/dist/Card/Card.d.ts.map +0 -1
- package/dist/Card/Card.styles.d.ts.map +0 -1
- package/dist/Card/Card.types.d.ts.map +0 -1
- package/dist/Card/index.d.ts.map +0 -1
- package/dist/ColorScaleSlider/ColorScaleSlider.d.ts.map +0 -1
- package/dist/ColorScaleSlider/ColorScaleSlider.styles.d.ts.map +0 -1
- package/dist/ColorScaleSlider/ColorScaleSlider.types.d.ts.map +0 -1
- package/dist/ColorScaleSlider/index.d.ts.map +0 -1
- package/dist/HueSlider/HueSlider.d.ts.map +0 -1
- package/dist/HueSlider/HueSlider.styles.d.ts.map +0 -1
- package/dist/HueSlider/HueSlider.types.d.ts.map +0 -1
- package/dist/HueSlider/index.d.ts.map +0 -1
- package/dist/Navbar/Navbar.d.ts.map +0 -1
- package/dist/Navbar/Navbar.styles.d.ts.map +0 -1
- package/dist/Navbar/Navbar.types.d.ts.map +0 -1
- package/dist/Navbar/index.d.ts.map +0 -1
- package/dist/Popover/Popover.d.ts.map +0 -1
- package/dist/Popover/Popover.styles.d.ts.map +0 -1
- package/dist/Popover/Popover.types.d.ts.map +0 -1
- package/dist/Popover/index.d.ts.map +0 -1
- package/dist/Popover/usePopover.d.ts.map +0 -1
- package/dist/Select/Select.d.ts.map +0 -1
- package/dist/Select/Select.styles.d.ts.map +0 -1
- package/dist/Select/Select.types.d.ts.map +0 -1
- package/dist/Select/SelectOption.d.ts.map +0 -1
- package/dist/Select/index.d.ts.map +0 -1
- package/dist/Select/useSelect.d.ts.map +0 -1
- package/dist/Sidebar/Sidebar.d.ts.map +0 -1
- package/dist/Sidebar/Sidebar.styles.d.ts.map +0 -1
- package/dist/Sidebar/Sidebar.types.d.ts.map +0 -1
- package/dist/Sidebar/index.d.ts.map +0 -1
- package/dist/Slider/Slider.d.ts.map +0 -1
- package/dist/Slider/Slider.styles.d.ts.map +0 -1
- package/dist/Slider/Slider.types.d.ts.map +0 -1
- package/dist/Slider/index.d.ts.map +0 -1
- package/dist/TextInput/TextInput.d.ts.map +0 -1
- package/dist/TextInput/TextInput.styles.d.ts.map +0 -1
- package/dist/TextInput/TextInput.types.d.ts.map +0 -1
- package/dist/TextInput/index.d.ts.map +0 -1
- package/dist/Toggle/Toggle.d.ts.map +0 -1
- package/dist/Toggle/Toggle.styles.d.ts.map +0 -1
- package/dist/Toggle/Toggle.types.d.ts.map +0 -1
- package/dist/Toggle/index.d.ts.map +0 -1
- package/src/Button/Button.styles.ts +0 -133
- package/src/Button/Button.tsx +0 -86
- /package/dist/{Button → composites/actions/Button}/index.d.ts +0 -0
- /package/dist/{Select → composites/form-controls/Select}/Select.d.ts +0 -0
- /package/dist/{Select → composites/form-controls/Select}/Select.types.d.ts +0 -0
- /package/dist/{Select → composites/form-controls/Select}/SelectOption.d.ts +0 -0
- /package/dist/{Select → composites/form-controls/Select}/index.d.ts +0 -0
- /package/dist/{Select → composites/form-controls/Select}/useSelect.d.ts +0 -0
- /package/dist/{TextInput → composites/form-controls/TextInput}/TextInput.d.ts +0 -0
- /package/dist/{TextInput → composites/form-controls/TextInput}/TextInput.types.d.ts +0 -0
- /package/dist/{TextInput → composites/form-controls/TextInput}/index.d.ts +0 -0
- /package/dist/{Toggle → composites/form-controls/Toggle}/Toggle.d.ts +0 -0
- /package/dist/{Toggle → composites/form-controls/Toggle}/Toggle.types.d.ts +0 -0
- /package/dist/{Toggle → composites/form-controls/Toggle}/index.d.ts +0 -0
- /package/dist/{AppShell → composites/layout/AppShell}/AppShell.d.ts +0 -0
- /package/dist/{AppShell → composites/layout/AppShell}/AppShell.types.d.ts +0 -0
- /package/dist/{AppShell → composites/layout/AppShell}/index.d.ts +0 -0
- /package/dist/{Card → composites/layout/Card}/Card.d.ts +0 -0
- /package/dist/{Card → composites/layout/Card}/index.d.ts +0 -0
- /package/dist/{Navbar → composites/layout/Navbar}/Navbar.d.ts +0 -0
- /package/dist/{Navbar → composites/layout/Navbar}/Navbar.types.d.ts +0 -0
- /package/dist/{Navbar → composites/layout/Navbar}/index.d.ts +0 -0
- /package/dist/{Sidebar → composites/layout/Sidebar}/Sidebar.d.ts +0 -0
- /package/dist/{Sidebar → composites/layout/Sidebar}/Sidebar.types.d.ts +0 -0
- /package/dist/{Sidebar → composites/layout/Sidebar}/index.d.ts +0 -0
- /package/dist/{Popover → composites/overlays/Popover}/Popover.d.ts +0 -0
- /package/dist/{Popover → composites/overlays/Popover}/Popover.types.d.ts +0 -0
- /package/dist/{Popover → composites/overlays/Popover}/index.d.ts +0 -0
- /package/dist/{Popover → composites/overlays/Popover}/usePopover.d.ts +0 -0
- /package/dist/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/ColorScaleSlider.d.ts +0 -0
- /package/dist/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/ColorScaleSlider.types.d.ts +0 -0
- /package/dist/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/index.d.ts +0 -0
- /package/dist/{HueSlider → composites/range-inputs/HueSlider}/HueSlider.d.ts +0 -0
- /package/dist/{HueSlider → composites/range-inputs/HueSlider}/HueSlider.types.d.ts +0 -0
- /package/dist/{HueSlider → composites/range-inputs/HueSlider}/index.d.ts +0 -0
- /package/dist/{Slider → composites/range-inputs/Slider}/Slider.d.ts +0 -0
- /package/dist/{Slider → composites/range-inputs/Slider}/Slider.types.d.ts +0 -0
- /package/dist/{Slider → composites/range-inputs/Slider}/index.d.ts +0 -0
- /package/src/{Button → composites/actions/Button}/index.ts +0 -0
- /package/src/{Select → composites/form-controls/Select}/Select.types.ts +0 -0
- /package/src/{Select → composites/form-controls/Select}/index.ts +0 -0
- /package/src/{Select → composites/form-controls/Select}/useSelect.ts +0 -0
- /package/src/{TextInput → composites/form-controls/TextInput}/TextInput.types.ts +0 -0
- /package/src/{TextInput → composites/form-controls/TextInput}/index.ts +0 -0
- /package/src/{Toggle → composites/form-controls/Toggle}/Toggle.types.ts +0 -0
- /package/src/{Toggle → composites/form-controls/Toggle}/index.ts +0 -0
- /package/src/{AppShell → composites/layout/AppShell}/AppShell.types.ts +0 -0
- /package/src/{AppShell → composites/layout/AppShell}/index.ts +0 -0
- /package/src/{Card → composites/layout/Card}/index.ts +0 -0
- /package/src/{Navbar → composites/layout/Navbar}/Navbar.types.ts +0 -0
- /package/src/{Navbar → composites/layout/Navbar}/index.ts +0 -0
- /package/src/{Sidebar → composites/layout/Sidebar}/Sidebar.types.ts +0 -0
- /package/src/{Sidebar → composites/layout/Sidebar}/index.ts +0 -0
- /package/src/{Popover → composites/overlays/Popover}/Popover.types.ts +0 -0
- /package/src/{Popover → composites/overlays/Popover}/index.ts +0 -0
- /package/src/{Popover → composites/overlays/Popover}/usePopover.ts +0 -0
- /package/src/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/ColorScaleSlider.types.ts +0 -0
- /package/src/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/index.ts +0 -0
- /package/src/{HueSlider → composites/range-inputs/HueSlider}/HueSlider.types.ts +0 -0
- /package/src/{HueSlider → composites/range-inputs/HueSlider}/index.ts +0 -0
- /package/src/{Slider → composites/range-inputs/Slider}/Slider.types.ts +0 -0
- /package/src/{Slider → composites/range-inputs/Slider}/index.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import type { CardProps } from './Card.types';
|
|
4
|
-
import { useTokens } from '
|
|
4
|
+
import { useTokens } from '../../../tokens/useTokens';
|
|
5
5
|
import { getCardStyles } from './Card.styles';
|
|
6
6
|
|
|
7
7
|
export function Card({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
2
|
import { srgbToHex } from 'newtone';
|
|
3
|
-
import type { ResolvedTokens } from '
|
|
3
|
+
import type { ResolvedTokens } from '../../../tokens/types';
|
|
4
4
|
|
|
5
5
|
interface NavbarStyleInput {
|
|
6
6
|
readonly tokens: ResolvedTokens;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import type { NavbarProps } from './Navbar.types';
|
|
4
|
-
import { useTokens } from '
|
|
4
|
+
import { useTokens } from '../../../tokens/useTokens';
|
|
5
5
|
import { getNavbarStyles } from './Navbar.styles';
|
|
6
6
|
|
|
7
7
|
export function Navbar({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
2
|
import { srgbToHex } from 'newtone';
|
|
3
|
-
import type { ResolvedTokens } from '
|
|
3
|
+
import type { ResolvedTokens } from '../../../tokens/types';
|
|
4
4
|
|
|
5
5
|
interface SidebarStyleInput {
|
|
6
6
|
readonly tokens: ResolvedTokens;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { View, ScrollView } from 'react-native';
|
|
3
3
|
import type { SidebarProps } from './Sidebar.types';
|
|
4
|
-
import { useTokens } from '
|
|
4
|
+
import { useTokens } from '../../../tokens/useTokens';
|
|
5
5
|
import { getSidebarStyles } from './Sidebar.styles';
|
|
6
6
|
|
|
7
7
|
export function Sidebar({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import type { PopoverProps } from './Popover.types';
|
|
4
|
-
import { useTokens } from '
|
|
4
|
+
import { useTokens } from '../../../tokens/useTokens';
|
|
5
5
|
import { getPopoverStyles } from './Popover.styles';
|
|
6
6
|
|
|
7
7
|
// Module-level: set of close callbacks for all open Popovers.
|
package/src/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/ColorScaleSlider.styles.ts
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
2
|
import { srgbToHex } from 'newtone';
|
|
3
|
-
import type { ResolvedTokens } from '
|
|
3
|
+
import type { ResolvedTokens } from '../../../tokens/types';
|
|
4
4
|
|
|
5
5
|
const TRACK_HEIGHT = 22;
|
|
6
6
|
export const THUMB_SIZE = 18;
|
|
@@ -52,7 +52,7 @@ export function getColorScaleSliderStyles(tokens: ResolvedTokens, disabled: bool
|
|
|
52
52
|
fontFamily: tokens.typography.fonts.default,
|
|
53
53
|
fontSize: tokens.typography.size.xs,
|
|
54
54
|
fontWeight: tokens.typography.weight.medium as any,
|
|
55
|
-
color: srgbToHex(tokens.error.srgb),
|
|
55
|
+
color: srgbToHex(tokens.error.fill.srgb),
|
|
56
56
|
},
|
|
57
57
|
});
|
|
58
58
|
}
|
package/src/{ColorScaleSlider → composites/range-inputs/ColorScaleSlider}/ColorScaleSlider.tsx
RENAMED
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { View, Text, PanResponder, Animated } from 'react-native';
|
|
3
3
|
import { srgbToHex } from 'newtone';
|
|
4
4
|
import type { ColorScaleSliderProps } from './ColorScaleSlider.types';
|
|
5
|
-
import { useTokens } from '
|
|
5
|
+
import { useTokens } from '../../../tokens/useTokens';
|
|
6
6
|
import { getColorScaleSliderStyles, THUMB_SIZE } from './ColorScaleSlider.styles';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { View, Text, TextInput, PanResponder } from 'react-native';
|
|
3
3
|
import type { HueSliderProps } from './HueSlider.types';
|
|
4
|
-
import { useTokens } from '
|
|
4
|
+
import { useTokens } from '../../../tokens/useTokens';
|
|
5
5
|
import {
|
|
6
6
|
getHueSliderStyles,
|
|
7
7
|
buildHueSegments,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
2
|
import { srgbToHex } from 'newtone';
|
|
3
|
-
import type { ResolvedTokens } from '
|
|
3
|
+
import type { ResolvedTokens } from '../../../tokens/types';
|
|
4
4
|
|
|
5
5
|
const TRACK_HEIGHT = 6;
|
|
6
6
|
export const THUMB_SIZE = 16;
|
|
@@ -60,14 +60,14 @@ export function getSliderStyles(tokens: ResolvedTokens, disabled: boolean) {
|
|
|
60
60
|
left: 0,
|
|
61
61
|
height: TRACK_HEIGHT,
|
|
62
62
|
borderRadius: TRACK_HEIGHT / 2,
|
|
63
|
-
backgroundColor: srgbToHex(tokens.
|
|
63
|
+
backgroundColor: srgbToHex(tokens.accent.fill.srgb),
|
|
64
64
|
},
|
|
65
65
|
thumb: {
|
|
66
66
|
position: 'absolute',
|
|
67
67
|
width: THUMB_SIZE,
|
|
68
68
|
height: THUMB_SIZE,
|
|
69
69
|
borderRadius: THUMB_SIZE / 2,
|
|
70
|
-
backgroundColor: srgbToHex(tokens.
|
|
70
|
+
backgroundColor: srgbToHex(tokens.accent.fill.srgb),
|
|
71
71
|
},
|
|
72
72
|
});
|
|
73
73
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { View, Text, TextInput, PanResponder } from 'react-native';
|
|
3
3
|
import type { SliderProps } from './Slider.types';
|
|
4
|
-
import { useTokens } from '
|
|
4
|
+
import { useTokens } from '../../../tokens/useTokens';
|
|
5
5
|
import { getSliderStyles, THUMB_SIZE } from './Slider.styles';
|
|
6
6
|
|
|
7
7
|
export function Slider({
|
package/src/index.ts
CHANGED
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
export { NewtoneProvider, useNewtoneTheme } from './theme/NewtoneProvider';
|
|
3
3
|
export type {
|
|
4
4
|
ColorMode,
|
|
5
|
-
ThemeName,
|
|
6
5
|
ElevationLevel,
|
|
7
6
|
FrameElevation,
|
|
8
|
-
ThemeMapping,
|
|
9
7
|
ColorSystemConfig,
|
|
10
8
|
NewtoneThemeConfig,
|
|
11
9
|
NewtoneThemeContext,
|
|
12
10
|
FontConfig,
|
|
11
|
+
TokenOverrides,
|
|
13
12
|
} from './theme/types';
|
|
14
13
|
export { useFrameContext } from './theme/FrameContext';
|
|
15
14
|
export type { FrameContextValue } from './theme/FrameContext';
|
|
@@ -17,15 +16,23 @@ export { DEFAULT_THEME_CONFIG } from './theme/defaults';
|
|
|
17
16
|
|
|
18
17
|
// Tokens
|
|
19
18
|
export { useTokens } from './tokens/useTokens';
|
|
20
|
-
export {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
export type {
|
|
19
|
+
export {
|
|
20
|
+
computeTokens,
|
|
21
|
+
NEUTRAL_DEFAULTS,
|
|
22
|
+
ACCENT_DEFAULTS,
|
|
23
|
+
SUCCESS_DEFAULTS,
|
|
24
|
+
WARNING_DEFAULTS,
|
|
25
|
+
ERROR_DEFAULTS,
|
|
26
|
+
} from './tokens/computeTokens';
|
|
27
|
+
export type { PaletteDefaults } from './tokens/computeTokens';
|
|
28
|
+
export type { ResolvedTokens, PaletteTokens } from './tokens/types';
|
|
29
|
+
|
|
30
|
+
// Composite Components
|
|
31
|
+
export { Button } from './composites/actions/Button/Button';
|
|
32
|
+
export type { ButtonProps, ButtonVariant, ButtonSemantic, ButtonSize, ButtonIconPosition } from './composites/actions/Button/Button.types';
|
|
33
|
+
|
|
34
|
+
export { Card } from './composites/layout/Card/Card';
|
|
35
|
+
export type { CardProps } from './composites/layout/Card/Card.types';
|
|
29
36
|
|
|
30
37
|
export { useFocusVisible } from './primitives/useFocusVisible';
|
|
31
38
|
export type { FocusVisibleResult } from './primitives/useFocusVisible';
|
|
@@ -52,28 +59,28 @@ export type {
|
|
|
52
59
|
} from './primitives/Frame/Frame.types';
|
|
53
60
|
export type { ResolvedCorners } from './primitives/Frame/Frame.utils';
|
|
54
61
|
|
|
55
|
-
export { TextInput } from './TextInput/TextInput';
|
|
56
|
-
export type { TextInputProps } from './TextInput/TextInput.types';
|
|
62
|
+
export { TextInput } from './composites/form-controls/TextInput/TextInput';
|
|
63
|
+
export type { TextInputProps } from './composites/form-controls/TextInput/TextInput.types';
|
|
57
64
|
|
|
58
|
-
export { Popover } from './Popover/Popover';
|
|
59
|
-
export type { PopoverProps, PopoverPlacement } from './Popover/Popover.types';
|
|
60
|
-
export { usePopover } from './Popover/usePopover';
|
|
65
|
+
export { Popover } from './composites/overlays/Popover/Popover';
|
|
66
|
+
export type { PopoverProps, PopoverPlacement } from './composites/overlays/Popover/Popover.types';
|
|
67
|
+
export { usePopover } from './composites/overlays/Popover/usePopover';
|
|
61
68
|
|
|
62
|
-
export { Select } from './Select/Select';
|
|
63
|
-
export type { SelectProps, SelectOption, SelectOptionGroup, SelectItem } from './Select/Select.types';
|
|
64
|
-
export { isOptionGroup } from './Select/Select.types';
|
|
69
|
+
export { Select } from './composites/form-controls/Select/Select';
|
|
70
|
+
export type { SelectProps, SelectOption, SelectOptionGroup, SelectItem } from './composites/form-controls/Select/Select.types';
|
|
71
|
+
export { isOptionGroup } from './composites/form-controls/Select/Select.types';
|
|
65
72
|
|
|
66
|
-
export { Toggle } from './Toggle/Toggle';
|
|
67
|
-
export type { ToggleProps } from './Toggle/Toggle.types';
|
|
73
|
+
export { Toggle } from './composites/form-controls/Toggle/Toggle';
|
|
74
|
+
export type { ToggleProps } from './composites/form-controls/Toggle/Toggle.types';
|
|
68
75
|
|
|
69
|
-
export { Slider } from './Slider/Slider';
|
|
70
|
-
export type { SliderProps } from './Slider/Slider.types';
|
|
76
|
+
export { Slider } from './composites/range-inputs/Slider/Slider';
|
|
77
|
+
export type { SliderProps } from './composites/range-inputs/Slider/Slider.types';
|
|
71
78
|
|
|
72
|
-
export { HueSlider } from './HueSlider/HueSlider';
|
|
73
|
-
export type { HueSliderProps } from './HueSlider/HueSlider.types';
|
|
79
|
+
export { HueSlider } from './composites/range-inputs/HueSlider/HueSlider';
|
|
80
|
+
export type { HueSliderProps } from './composites/range-inputs/HueSlider/HueSlider.types';
|
|
74
81
|
|
|
75
|
-
export { ColorScaleSlider } from './ColorScaleSlider/ColorScaleSlider';
|
|
76
|
-
export type { ColorScaleSliderProps } from './ColorScaleSlider/ColorScaleSlider.types';
|
|
82
|
+
export { ColorScaleSlider } from './composites/range-inputs/ColorScaleSlider/ColorScaleSlider';
|
|
83
|
+
export type { ColorScaleSliderProps } from './composites/range-inputs/ColorScaleSlider/ColorScaleSlider.types';
|
|
77
84
|
|
|
78
85
|
export { Icon } from './primitives/Icon/Icon';
|
|
79
86
|
export type { IconProps } from './primitives/Icon/Icon.types';
|
|
@@ -92,14 +99,14 @@ export type {
|
|
|
92
99
|
TextAlign,
|
|
93
100
|
} from './primitives/Text/Text.types';
|
|
94
101
|
|
|
95
|
-
export { AppShell } from './AppShell/AppShell';
|
|
96
|
-
export type { AppShellProps } from './AppShell/AppShell.types';
|
|
102
|
+
export { AppShell } from './composites/layout/AppShell/AppShell';
|
|
103
|
+
export type { AppShellProps } from './composites/layout/AppShell/AppShell.types';
|
|
97
104
|
|
|
98
|
-
export { Sidebar } from './Sidebar/Sidebar';
|
|
99
|
-
export type { SidebarProps } from './Sidebar/Sidebar.types';
|
|
105
|
+
export { Sidebar } from './composites/layout/Sidebar/Sidebar';
|
|
106
|
+
export type { SidebarProps } from './composites/layout/Sidebar/Sidebar.types';
|
|
100
107
|
|
|
101
|
-
export { Navbar } from './Navbar/Navbar';
|
|
102
|
-
export type { NavbarProps } from './Navbar/Navbar.types';
|
|
108
|
+
export { Navbar } from './composites/layout/Navbar/Navbar';
|
|
109
|
+
export type { NavbarProps } from './composites/layout/Navbar/Navbar.types';
|
|
103
110
|
|
|
104
111
|
// Component registry + code generation
|
|
105
112
|
export type {
|
|
@@ -61,7 +61,7 @@ function toElevationLevel(frameElevation: FrameElevation): ElevationLevel {
|
|
|
61
61
|
* // Basic layout
|
|
62
62
|
* <Frame direction="horizontal" gap="md" padding="lg" align="center">
|
|
63
63
|
* <Button onPress={() => {}}>Save</Button>
|
|
64
|
-
* <Button variant="
|
|
64
|
+
* <Button variant="tertiary" onPress={() => {}}>Cancel</Button>
|
|
65
65
|
* </Frame>
|
|
66
66
|
* ```
|
|
67
67
|
*
|
|
@@ -69,7 +69,6 @@ function toElevationLevel(frameElevation: FrameElevation): ElevationLevel {
|
|
|
69
69
|
* ```tsx
|
|
70
70
|
* // Card-like frame
|
|
71
71
|
* <Frame
|
|
72
|
-
* theme="primary"
|
|
73
72
|
* elevation={2}
|
|
74
73
|
* radius="lg"
|
|
75
74
|
* padding="xl"
|
|
@@ -92,8 +91,7 @@ function toElevationLevel(frameElevation: FrameElevation): ElevationLevel {
|
|
|
92
91
|
*/
|
|
93
92
|
export function Frame({
|
|
94
93
|
children,
|
|
95
|
-
//
|
|
96
|
-
theme,
|
|
94
|
+
// Elevation
|
|
97
95
|
elevation,
|
|
98
96
|
// Layout
|
|
99
97
|
layout,
|
|
@@ -132,15 +130,11 @@ export function Frame({
|
|
|
132
130
|
// Style override
|
|
133
131
|
style,
|
|
134
132
|
}: FrameProps) {
|
|
135
|
-
// Read the global theme configuration
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
// Read the theme/elevation from the nearest parent Frame (if nested).
|
|
133
|
+
// Read the global theme configuration and current color mode (light/dark).
|
|
134
|
+
const { config, mode } = useNewtoneTheme();
|
|
135
|
+
// Read the elevation from the nearest parent Frame (if nested).
|
|
139
136
|
const parentFrameCtx = useFrameContext();
|
|
140
137
|
|
|
141
|
-
// Decide which theme to use. Priority: this Frame's prop > parent Frame > NewtoneProvider.
|
|
142
|
-
const resolvedTheme = theme ?? parentFrameCtx?.theme ?? providerTheme;
|
|
143
|
-
|
|
144
138
|
// The user-facing elevation (-2 to 2) controls visual depth (shadows, background).
|
|
145
139
|
const resolvedFrameElevation: FrameElevation = elevation ?? 0;
|
|
146
140
|
|
|
@@ -156,19 +150,17 @@ export function Frame({
|
|
|
156
150
|
// so it needs to compute fresh tokens from the resolved theme/elevation.
|
|
157
151
|
// Wrapped in useMemo so it only recalculates when the theme/mode/elevation changes.
|
|
158
152
|
const tokens = useMemo(() => {
|
|
159
|
-
const themeMapping = config.themes[resolvedTheme];
|
|
160
153
|
return computeTokens(
|
|
161
154
|
config.colorSystem,
|
|
162
155
|
mode,
|
|
163
|
-
themeMapping,
|
|
164
156
|
resolvedElevation,
|
|
165
|
-
config.elevation.offsets,
|
|
166
157
|
config.spacing,
|
|
167
158
|
config.radius,
|
|
168
159
|
config.typography,
|
|
169
160
|
config.icons,
|
|
161
|
+
config.tokenOverrides,
|
|
170
162
|
);
|
|
171
|
-
}, [config, mode,
|
|
163
|
+
}, [config, mode, resolvedElevation]);
|
|
172
164
|
|
|
173
165
|
// Calculate all visual styles (background, layout, border, shadow, etc.).
|
|
174
166
|
// Only recalculates when one of the style-related props changes.
|
|
@@ -208,8 +200,8 @@ export function Frame({
|
|
|
208
200
|
// This is the value that child components will inherit via FrameContext.
|
|
209
201
|
// Any nested Frame, Text, Icon, etc. will read this theme and elevation.
|
|
210
202
|
const contextValue = useMemo(
|
|
211
|
-
() => ({
|
|
212
|
-
[
|
|
203
|
+
() => ({ elevation: resolvedElevation, tokens }),
|
|
204
|
+
[resolvedElevation, tokens],
|
|
213
205
|
);
|
|
214
206
|
|
|
215
207
|
// Some styles only work on web browsers (CSS grid, inset shadows).
|
|
@@ -241,7 +233,7 @@ export function Frame({
|
|
|
241
233
|
const focusRingStyle = isFocusVisible && !disabled ? {
|
|
242
234
|
outlineWidth: 2,
|
|
243
235
|
outlineStyle: 'solid',
|
|
244
|
-
outlineColor: srgbToHex(tokens.
|
|
236
|
+
outlineColor: srgbToHex(tokens.accent.fill.srgb),
|
|
245
237
|
outlineOffset: 2,
|
|
246
238
|
} as unknown as ViewStyle : undefined; // web-only
|
|
247
239
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { View, ViewStyle, GestureResponderEvent } from 'react-native';
|
|
2
|
-
import type {
|
|
2
|
+
import type { FrameElevation } from '../../theme/types';
|
|
3
3
|
|
|
4
4
|
// ── Spacing Types ──────────────────────────────────────────────
|
|
5
5
|
|
|
@@ -115,14 +115,14 @@ export type Justification = 'start' | 'center' | 'end' | 'between' | 'around' |
|
|
|
115
115
|
* // Horizontal toolbar with consistent spacing
|
|
116
116
|
* <Frame direction="horizontal" gap="md" padding="lg" align="center">
|
|
117
117
|
* <Button onPress={() => {}}>Save</Button>
|
|
118
|
-
* <Button variant="
|
|
118
|
+
* <Button variant="tertiary" onPress={() => {}}>Cancel</Button>
|
|
119
119
|
* </Frame>
|
|
120
120
|
* ```
|
|
121
121
|
*
|
|
122
122
|
* @example
|
|
123
123
|
* ```tsx
|
|
124
|
-
* // Elevated card
|
|
125
|
-
* <Frame
|
|
124
|
+
* // Elevated card
|
|
125
|
+
* <Frame elevation={2} radius="lg" padding="xl" bordered>
|
|
126
126
|
* <Text>Elevated card content</Text>
|
|
127
127
|
* </Frame>
|
|
128
128
|
* ```
|
|
@@ -142,19 +142,7 @@ export interface FrameProps {
|
|
|
142
142
|
*/
|
|
143
143
|
readonly children: React.ReactNode;
|
|
144
144
|
|
|
145
|
-
// ──
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Theme override for this frame and all descendants.
|
|
149
|
-
* When omitted, inherits from parent Frame or NewtoneProvider.
|
|
150
|
-
*
|
|
151
|
-
* @example
|
|
152
|
-
* ```tsx
|
|
153
|
-
* <Frame theme="primary"> // Blue-ish surface
|
|
154
|
-
* <Frame theme="strong"> // High-contrast surface
|
|
155
|
-
* ```
|
|
156
|
-
*/
|
|
157
|
-
readonly theme?: ThemeName;
|
|
145
|
+
// ── Elevation ──
|
|
158
146
|
|
|
159
147
|
/**
|
|
160
148
|
* Surface elevation: controls background lightness and shadow.
|
|
@@ -42,8 +42,20 @@ export function Icon({
|
|
|
42
42
|
const iconStyle = useMemo<TextStyle>(() => {
|
|
43
43
|
// Use the provided size, or fall back to the theme's default text size.
|
|
44
44
|
const fontSize = size ?? tokens.typography.size.base;
|
|
45
|
+
|
|
46
|
+
// Round to nearest Material Symbols optical size (20, 24, 40, 48)
|
|
47
|
+
// for optimal stroke weight and detail rendering.
|
|
48
|
+
const getOpticalSize = (size: number): number => {
|
|
49
|
+
if (size <= 22) return 20;
|
|
50
|
+
if (size <= 32) return 24;
|
|
51
|
+
if (size <= 44) return 40;
|
|
52
|
+
return 48;
|
|
53
|
+
};
|
|
54
|
+
|
|
45
55
|
// Optical size adjusts stroke weight for readability at small sizes.
|
|
46
|
-
|
|
56
|
+
// Use explicit opticalSize if provided, otherwise auto-calculate from fontSize.
|
|
57
|
+
const opsz = opticalSize ?? getOpticalSize(fontSize);
|
|
58
|
+
|
|
47
59
|
// Use the provided color, or fall back to the theme's primary text color.
|
|
48
60
|
const iconColor = color ?? srgbToHex(tokens.textPrimary.srgb);
|
|
49
61
|
|
|
@@ -62,6 +74,9 @@ export function Icon({
|
|
|
62
74
|
return {
|
|
63
75
|
fontFamily,
|
|
64
76
|
fontSize,
|
|
77
|
+
width: fontSize, // Explicit width ensures square rendering
|
|
78
|
+
height: fontSize, // Explicit height ensures square rendering
|
|
79
|
+
lineHeight: fontSize, // Prevent text line-height from affecting total height
|
|
65
80
|
color: iconColor,
|
|
66
81
|
userSelect: 'none', // web-only: prevents users from selecting the icon as text
|
|
67
82
|
fontVariationSettings, // web-only: controls the variable font axes listed above
|
|
@@ -3,15 +3,25 @@ import { Text as RNText } from 'react-native';
|
|
|
3
3
|
import type { TextStyle } from 'react-native';
|
|
4
4
|
import { srgbToHex } from 'newtone';
|
|
5
5
|
import { useTokens } from '../../tokens/useTokens';
|
|
6
|
+
import type { UseTokensResult } from '../../tokens/useTokens';
|
|
6
7
|
import type { TextProps, TextColor } from './Text.types';
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a semantic text color to a hex string from the current tokens.
|
|
11
|
+
* Neutral text colors are top-level; palette colors use nested PaletteTokens.fill.
|
|
12
|
+
*/
|
|
13
|
+
function resolveTextColor(color: TextColor, tokens: UseTokensResult): string {
|
|
14
|
+
switch (color) {
|
|
15
|
+
case 'primary': return srgbToHex(tokens.textPrimary.srgb);
|
|
16
|
+
case 'secondary': return srgbToHex(tokens.textSecondary.srgb);
|
|
17
|
+
case 'tertiary': return srgbToHex(tokens.textTertiary.srgb);
|
|
18
|
+
case 'disabled': return srgbToHex(tokens.textDisabled.srgb);
|
|
19
|
+
case 'accent': return srgbToHex(tokens.accent.fill.srgb);
|
|
20
|
+
case 'success': return srgbToHex(tokens.success.fill.srgb);
|
|
21
|
+
case 'warning': return srgbToHex(tokens.warning.fill.srgb);
|
|
22
|
+
case 'error': return srgbToHex(tokens.error.fill.srgb);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
15
25
|
|
|
16
26
|
/**
|
|
17
27
|
* Token-aware text primitive.
|
|
@@ -61,7 +71,7 @@ export function Text({
|
|
|
61
71
|
// Font weight is stored as a number (e.g. 400, 600) but React Native expects a string.
|
|
62
72
|
fontWeight: String(tokens.typography.weight[weight]) as TextStyle['fontWeight'],
|
|
63
73
|
// Convert the theme color from internal sRGB format to a hex string (e.g. '#1a1a1a').
|
|
64
|
-
color:
|
|
74
|
+
color: resolveTextColor(color, tokens),
|
|
65
75
|
// Line height = font size × multiplier (e.g. 16px × 1.5 = 24px line height).
|
|
66
76
|
lineHeight: fontSize * tokens.typography.lineHeight[lineHeight],
|
|
67
77
|
textAlign: align,
|
|
@@ -8,7 +8,7 @@ export type TextSize = 'xs' | 'sm' | 'base' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
|
8
8
|
export type TextWeight = 'regular' | 'medium' | 'semibold' | 'bold';
|
|
9
9
|
|
|
10
10
|
/** Semantic text color tokens — resolved from the current theme's token palette. */
|
|
11
|
-
export type TextColor = 'primary' | 'secondary' | '
|
|
11
|
+
export type TextColor = 'primary' | 'secondary' | 'tertiary' | 'disabled' | 'accent' | 'success' | 'warning' | 'error';
|
|
12
12
|
|
|
13
13
|
/** Font family tokens — maps to `tokens.typography.fonts.*` font stacks. */
|
|
14
14
|
export type TextFont = 'default' | 'display' | 'mono';
|
|
@@ -58,9 +58,14 @@ export interface TextProps {
|
|
|
58
58
|
/**
|
|
59
59
|
* Semantic color token.
|
|
60
60
|
*
|
|
61
|
-
* - `'primary'` — Main text color
|
|
62
|
-
* - `'secondary'` — Subdued/muted text
|
|
63
|
-
* - `'
|
|
61
|
+
* - `'primary'` — Main text color, high contrast
|
|
62
|
+
* - `'secondary'` — Subdued/muted text (captions, labels)
|
|
63
|
+
* - `'tertiary'` — Hints, placeholders
|
|
64
|
+
* - `'disabled'` — Disabled text elements
|
|
65
|
+
* - `'accent'` — Accent palette color for links/actions
|
|
66
|
+
* - `'success'` — Success palette color for positive indicators
|
|
67
|
+
* - `'warning'` — Warning palette color for caution indicators
|
|
68
|
+
* - `'error'` — Error palette color for destructive/error indicators
|
|
64
69
|
*
|
|
65
70
|
* @default 'primary'
|
|
66
71
|
*/
|
|
@@ -18,7 +18,7 @@ import { useTokens } from '../../tokens/useTokens';
|
|
|
18
18
|
* ```tsx
|
|
19
19
|
* <Wrapper direction="horizontal" gap="md" align="center">
|
|
20
20
|
* <Button onPress={() => {}}>Save</Button>
|
|
21
|
-
* <Button variant="
|
|
21
|
+
* <Button variant="tertiary" onPress={() => {}}>Cancel</Button>
|
|
22
22
|
* </Wrapper>
|
|
23
23
|
* ```
|
|
24
24
|
*
|
|
@@ -23,7 +23,7 @@ import type {
|
|
|
23
23
|
* // Horizontal row with spacing
|
|
24
24
|
* <Wrapper direction="horizontal" gap="md" align="center">
|
|
25
25
|
* <Button onPress={() => {}}>Save</Button>
|
|
26
|
-
* <Button variant="
|
|
26
|
+
* <Button variant="tertiary" onPress={() => {}}>Cancel</Button>
|
|
27
27
|
* </Wrapper>
|
|
28
28
|
* ```
|
|
29
29
|
*
|