+
{children}
diff --git a/src/forks/Drawer/useDrawerDialogPresence.ts b/src/forks/Drawer/useDrawerDialogPresence.ts
index 5e82f28..c25fe5b 100644
--- a/src/forks/Drawer/useDrawerDialogPresence.ts
+++ b/src/forks/Drawer/useDrawerDialogPresence.ts
@@ -1,6 +1,6 @@
// Copyright (c) Meta Platforms, Inc. and affiliates.
//
-// Forked from @astryxdesign/lab 0.6.5-canary.8701623, src/Drawer/useDrawerDialogPresence.ts
+// Forked from @astryxdesign/lab 0.7.0-canary.97a0d31, src/Drawer/useDrawerDialogPresence.ts
// (MIT; see NOTICE). Changed (marked `ui-common:`): a non-modal drawer opens
// with `show()`, not `showPopover()`, so it stays out of the top layer (Drawer.tsx).
// Provenance and the drift guard: src/forks/provenance.json.
diff --git a/src/forks/Tour/Tour.test.tsx b/src/forks/Tour/Tour.test.tsx
index 1c1233c..b62bd96 100644
--- a/src/forks/Tour/Tour.test.tsx
+++ b/src/forks/Tour/Tour.test.tsx
@@ -1,7 +1,7 @@
// Copyright (c) Meta Platforms, Inc. and affiliates.
// Modifications copyright (c) Lablup Inc.
//
-// Forked from @astryxdesign/lab 0.6.5-canary.8701623, src/Tour/Tour.test.tsx
+// Forked from @astryxdesign/lab 0.7.0-canary.97a0d31, src/Tour/Tour.test.tsx
// (MIT; see NOTICE). Upstream's tests, run against the fork; ui-common's own tests are
// in the *.fork.test.tsx beside it.
// Provenance and the drift guard: src/forks/provenance.json.
@@ -18,7 +18,7 @@
import { describe, it, expect, vi, beforeAll } from "vitest";
import { render, screen, fireEvent } from "@testing-library/react";
-import { useRef, useState } from "react";
+import { Profiler, useRef, useState } from "react";
import { Tour } from "./Tour";
import { TourStep } from "./TourStep";
import { useTour } from "./useTour";
@@ -264,3 +264,55 @@ describe("useTour", () => {
expect(last.last).toBe(false);
});
});
+
+describe("Tour reset timing", () => {
+ function StepProbe() {
+ const tour = useTour();
+ return
;
+ }
+
+ function Harness({ isActive }: { isActive: boolean }) {
+ const aRef = useRef
(null);
+ const bRef = useRef(null);
+ return (
+ <>
+
+
+ {}}>
+
+
+ First body
+
+
+ Second body
+
+
+ >
+ );
+ }
+
+ it("resets to the first step in the same commit that deactivates the tour", () => {
+ const frames: string[] = [];
+ const onRender = () =>
+ frames.push(screen.getByTestId("step-index").textContent ?? "");
+ const ui = (isActive: boolean) => (
+
+
+
+ );
+ const { rerender } = render(ui(true));
+ fireEvent.click(screen.getByText("Next"));
+ expect(screen.getByTestId("step-index")).toHaveTextContent("1");
+
+ frames.length = 0;
+ rerender(ui(false));
+
+ expect(frames.length).toBeGreaterThan(0);
+ expect(frames).not.toContain("1");
+ expect(screen.getByTestId("step-index")).toHaveTextContent("0");
+ });
+});
diff --git a/src/forks/Tour/Tour.tsx b/src/forks/Tour/Tour.tsx
index 818ae81..4ef5ad1 100644
--- a/src/forks/Tour/Tour.tsx
+++ b/src/forks/Tour/Tour.tsx
@@ -1,6 +1,6 @@
// Copyright (c) Meta Platforms, Inc. and affiliates.
//
-// Forked from @astryxdesign/lab 0.6.5-canary.8701623, src/Tour/Tour.tsx
+// Forked from @astryxdesign/lab 0.7.0-canary.97a0d31, src/Tour/Tour.tsx
// (MIT; see NOTICE). Unchanged: forked with TourStep, whose context it provides.
// Provenance and the drift guard: src/forks/provenance.json.
@@ -33,7 +33,7 @@
* - /packages/lab/src/Tour/index.ts (exports if types change)
*/
-import { useCallback, useEffect, useMemo, useState, type ReactNode } from "react";
+import { useCallback, useMemo, useState, type ReactNode } from "react";
import {
TourContext,
type TourDismissSource,
@@ -112,13 +112,16 @@ export function Tour({
};
}, []);
- // Reset to the first step whenever the tour is (re)started, so a dismissed
- // tour begins from the top next time isActive flips back on.
- useEffect(() => {
+ // Reset to the first step when the tour is deactivated, so a dismissed tour
+ // begins from the top next time isActive flips back on. Adjusted during
+ // render, so no commit carries the old step past deactivation.
+ const [wasActive, setWasActive] = useState(isActive);
+ if (!Object.is(wasActive, isActive)) {
+ setWasActive(isActive);
if (!isActive) {
setActiveStepIndex(0);
}
- }, [isActive]);
+ }
const stepCount = stepIds.length;
diff --git a/src/forks/Tour/TourContext.ts b/src/forks/Tour/TourContext.ts
index e139ad6..33e6129 100644
--- a/src/forks/Tour/TourContext.ts
+++ b/src/forks/Tour/TourContext.ts
@@ -1,6 +1,6 @@
// Copyright (c) Meta Platforms, Inc. and affiliates.
//
-// Forked from @astryxdesign/lab 0.6.5-canary.8701623, src/Tour/TourContext.ts
+// Forked from @astryxdesign/lab 0.7.0-canary.97a0d31, src/Tour/TourContext.ts
// (MIT; see NOTICE). Unchanged: forked with TourStep, which reads it.
// Provenance and the drift guard: src/forks/provenance.json.
diff --git a/src/forks/Tour/TourStep.styles.ts b/src/forks/Tour/TourStep.styles.ts
index 94538f4..7ff89c4 100644
--- a/src/forks/Tour/TourStep.styles.ts
+++ b/src/forks/Tour/TourStep.styles.ts
@@ -2,7 +2,7 @@
// @ts-nocheck
// @generated by scripts/sync-forks.mjs. Do not edit.
//
-// Compiled StyleX from @astryxdesign/lab 0.6.5-canary.8701623, reused by the
+// Compiled StyleX from @astryxdesign/lab 0.7.0-canary.97a0d31, reused by the
// Tour fork so it renders with upstream's own class names
// (src/forks/compiled.ts). Copyright (c) Meta Platforms, Inc. and
// affiliates; MIT, see NOTICE.
diff --git a/src/forks/Tour/TourStep.tsx b/src/forks/Tour/TourStep.tsx
index f350779..0b13bbd 100644
--- a/src/forks/Tour/TourStep.tsx
+++ b/src/forks/Tour/TourStep.tsx
@@ -1,7 +1,7 @@
// Copyright (c) Meta Platforms, Inc. and affiliates.
// Modifications copyright (c) Lablup Inc.
//
-// Forked from @astryxdesign/lab 0.6.5-canary.8701623, src/Tour/TourStep.tsx
+// Forked from @astryxdesign/lab 0.7.0-canary.97a0d31, src/Tour/TourStep.tsx
// (MIT; see NOTICE). Provenance and the drift guard: src/forks/provenance.json.
"use client";
diff --git a/src/forks/Tour/useTour.ts b/src/forks/Tour/useTour.ts
index 880c59f..be04fd9 100644
--- a/src/forks/Tour/useTour.ts
+++ b/src/forks/Tour/useTour.ts
@@ -1,6 +1,6 @@
// Copyright (c) Meta Platforms, Inc. and affiliates.
//
-// Forked from @astryxdesign/lab 0.6.5-canary.8701623, src/Tour/useTour.ts
+// Forked from @astryxdesign/lab 0.7.0-canary.97a0d31, src/Tour/useTour.ts
// (MIT; see NOTICE). Unchanged: forked with TourStep, whose context it reads.
// Provenance and the drift guard: src/forks/provenance.json.
diff --git a/src/forks/provenance.json b/src/forks/provenance.json
index 66a74e7..179611e 100644
--- a/src/forks/provenance.json
+++ b/src/forks/provenance.json
@@ -1,23 +1,20 @@
{
"ComplexSelector": {
"package": "@astryxdesign/core",
- "version": "0.6.5",
+ "version": "0.7.0",
"upstream": "https://github.com/facebook/astryx/pull/6362",
"files": {
- "src/ComplexSelector/ComplexSelector.tsx": "c7b7c7462dd7dd321befd79b94a25413907e83a6691f66bb73007826bb887ee3",
- "src/ComplexSelector/index.ts": "c33bc95b12e5c3dc3834469b9e057f66f0cb1979c366f880cf24517c710c4314",
- "src/ComplexSelector/ComplexSelector.test.tsx": "ff7d2a1754cb460cf45266e5ea96ab64c9e6b5a61b8cc7a322e8f54a7884a93a",
+ "src/ComplexSelector/ComplexSelector.tsx": "9343db919000a47d1a9de2466417320fa819e3182f7d780266b8847189659536",
+ "src/ComplexSelector/index.ts": "afba2b6a8d7b7e686cae84eb033c2ad4eafc8b48c8f30997022a1597d943b359",
+ "src/ComplexSelector/ComplexSelector.test.tsx": "ab8c68f949c9d59cfa62d91ee790992de02eb5ce406d6711d519df2ffbaa28ff",
"src/hooks/useResolvedRequired.ts": "1d66b83d89a343e57ad3d198f96b70ec64ba721503f0be2cdadecc7ec8b113c7",
- "dist/ComplexSelector/ComplexSelector.js": "ad045e743acb232a469769d4ce6babfbe20aba401de659927b92f01feac15a04",
- "dist/utils/interactionOverlay.stylex.js": "e7213810b186baa7fbabcbf665e4e7428fe367f2a47f2ec4bbca83e7b8c53efe"
+ "dist/ComplexSelector/ComplexSelector.js": "be465f539f7bcef4338f959b6f86c023bb8f1b0dc0b19ae4d9ea12e64ae7859a",
+ "dist/utils/interactionOverlay.stylex.js": "fe329e435783b0909490b49044f64b8af0157b4bb8f42bbd5051ae5941109581"
},
"styles": {
"file": "src/forks/ComplexSelector/ComplexSelector.styles.ts",
"from": [
- {
- "file": "dist/ComplexSelector/ComplexSelector.js",
- "consts": ["styles"]
- },
+ { "file": "dist/ComplexSelector/ComplexSelector.js", "consts": ["styles"] },
{
"file": "dist/utils/interactionOverlay.stylex.js",
"consts": ["interactionOverlayStyles"]
@@ -27,15 +24,15 @@
},
"Drawer": {
"package": "@astryxdesign/lab",
- "version": "0.6.5-canary.8701623",
+ "version": "0.7.0-canary.97a0d31",
"upstream": null,
"notes": "Deliberate divergence beyond a fix: a scrimless drawer opens with show() and a z-index (base 1000, later drawers above) instead of lab 0.6.5's manual popover, because ui-common's Modal and notification stack are z-index surfaces a top-layer drawer would cover; aria-modal passes through; a scrimmed (modal) drawer provides its dialog through ModalPortalContext so ui-common's Modal opened inside renders there, in the top layer. Escape routing is upstream's. On an Astryx bump, keep these until ui-common's Modal and notification stack are top layer and lab passes aria-modal through.",
"files": {
- "src/Drawer/Drawer.tsx": "5e97093a6aabe2ae9761c68c8a62272f12aeadcf9c7f745e218655b460707298",
+ "src/Drawer/Drawer.tsx": "117abff3861956f7a9fc9799ad65e6824e74aab8db3a7aed4fc3c9370a5a0a59",
"src/Drawer/useDrawerDialogPresence.ts": "abc5e33ec791f38a5f41d17b6dac2946db9477b9f921fd52dccc6c14ae7be57b",
"src/Drawer/index.ts": "8fdd7454ab0e3e7037860801a91ccefeb545f455813872394dba86ef2dc50d9b",
- "src/Drawer/Drawer.test.tsx": "24f673d83a100ddff7b5aabd469ccc744e703e63a40010734000cfa9087e6b02",
- "dist/Drawer/Drawer.js": "30b2b7e77708e7b7b13d96b373590bc20daf76e1d8ccc9f723d0cd1d721d8499"
+ "src/Drawer/Drawer.test.tsx": "f99ac4299e215c281470780354cd17bb81c817297bddc31e332cf2a297f82398",
+ "dist/Drawer/Drawer.js": "247a302c5c0f929091e08bf9c536feeafbb01cea298a5c19144d92b6147c14e1"
},
"styles": {
"file": "src/forks/Drawer/Drawer.styles.ts",
@@ -49,25 +46,20 @@
},
"Tour": {
"package": "@astryxdesign/lab",
- "version": "0.6.5-canary.8701623",
+ "version": "0.7.0-canary.97a0d31",
"upstream": null,
"files": {
- "src/Tour/Tour.tsx": "a379030d01f7e2f0d2b2cdae25aafdeacb6b5dd1c858d5cdb7511d8556735325",
+ "src/Tour/Tour.tsx": "22a39b4c8d6a0ad73e9392bfe6e50deb9eba2831c70bb54e6227b875dc240554",
"src/Tour/TourStep.tsx": "8977c221017d9a8b466528f1e9ba3d652308a3446d6d42afbfac25c8401da038",
"src/Tour/TourContext.ts": "638a4cde7e3b10952a04dc1d86de5e2fbc3fff88c7ed12243e30f072458dff36",
"src/Tour/useTour.ts": "431878830f7c070e7520dd8c402e6c8cfab1e5ececefa289b3058791ec0ac49b",
"src/Tour/index.ts": "127c290fb8ed1a977d282e0dd407724c0f133634ec8f38b515dc038f1da2efa8",
- "src/Tour/Tour.test.tsx": "1df4a3d933bc4ca06b882864b91d7dfc0c8302fc7dd3ee34a652f83a9fdec867",
+ "src/Tour/Tour.test.tsx": "1cdae08a08cda7aa0a9ed29456cb7efa8c6e57135d3d1ab2ce18735f36cfd1ad",
"dist/Tour/TourStep.js": "67b192f77652222b3a0eafac98ea1397a224108e0f35d4534efca261a27c64b5"
},
"styles": {
"file": "src/forks/Tour/TourStep.styles.ts",
- "from": [
- {
- "file": "dist/Tour/TourStep.js",
- "consts": ["styles"]
- }
- ]
+ "from": [{ "file": "dist/Tour/TourStep.js", "consts": ["styles"] }]
}
}
}
diff --git a/src/index.ts b/src/index.ts
index 143ca90..bfbeb31 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -17,8 +17,8 @@
*
* Astryx names exported from ui-common's own copy of the component:
* ComplexSelector, ComplexSelectorHandle, ComplexSelectorProps,
- * ComplexSelectorRenderState, ComplexSelectorSize, ComplexSelectorStatus,
- * ComplexSelectorVariant.
+ * ComplexSelectorRenderState, ComplexSelectorRenderTriggerProps,
+ * ComplexSelectorSize, ComplexSelectorStatus, ComplexSelectorVariant.
*/
export {
@@ -38,6 +38,7 @@ export {
BreadcrumbItem,
BreadcrumbMenuCheckboxItem,
BreadcrumbMenuDivider,
+ BreadcrumbMenuGroup,
BreadcrumbMenuItem,
BreadcrumbMenuRadioGroup,
BreadcrumbMenuRadioItem,
@@ -85,6 +86,7 @@ export {
ContextMenu,
ContextMenuCheckboxItem,
ContextMenuDivider,
+ ContextMenuGroup,
ContextMenuItem,
ContextMenuRadioGroup,
ContextMenuRadioItem,
@@ -107,6 +109,7 @@ export {
DropdownMenuCheckboxItem,
DropdownMenuContext,
DropdownMenuDivider,
+ DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuRadioGroup,
DropdownMenuRadioItem,
@@ -148,6 +151,8 @@ export {
LinkProvider,
List,
ListItem,
+ MENU_PRESS_MARKER,
+ MENU_PRESS_SETTLE_MS,
Markdown,
MediaTheme,
MetadataList,
@@ -266,6 +271,7 @@ export {
createStaticSource,
dataTokenDefaults,
dateToISO,
+ decodeMarkdownCharacterReferences,
defaultIndicators,
defineSyntaxTheme,
defineTheme,
@@ -319,20 +325,25 @@ export {
getWeekNumber,
groupItems,
hasActiveFocusTrapEscape,
+ hasInteractiveAncestor,
+ hasTextSelection,
indicatorScope,
inputStatusBorderStyles,
inputStatusFocusStyles,
inputStatusFocusWithinStyles,
inputStatusHoverShadowStyles,
inputWrapperStyles,
+ interactionOverlayStyles,
isDateInRange,
isDefinedTheme,
isFocusDetached,
isImeKeyEvent,
isLocaleDayFirst,
+ isMenuPressActivation,
isRenderable,
isSameDay,
isTimeInRange,
+ menuPressStep,
mergeProps,
mergeRefs,
observeResize,
@@ -466,6 +477,7 @@ export {
useLocale,
useLongPress,
useMediaQuery,
+ useMenuPress,
useMergedRefs,
useMultiCombobox,
useNavHeadingCloseContext,
@@ -476,6 +488,7 @@ export {
useOverlay,
usePopover,
usePowerSearchConfig,
+ usePressFeedback,
useResizable,
useScrollLock,
useScrollOverflow,
@@ -563,6 +576,7 @@ export type {
BreadcrumbMenuCheckboxItemProps,
BreadcrumbMenuDividerData,
BreadcrumbMenuDividerProps,
+ BreadcrumbMenuGroupProps,
BreadcrumbMenuItemData,
BreadcrumbMenuItemProps,
BreadcrumbMenuOption,
@@ -666,6 +680,7 @@ export type {
ContextMenuCheckboxItemProps,
ContextMenuDividerData,
ContextMenuDividerProps,
+ ContextMenuGroupProps,
ContextMenuItemData,
ContextMenuItemProps,
ContextMenuOption,
@@ -722,6 +737,7 @@ export type {
DropdownMenuContextValue,
DropdownMenuDividerData,
DropdownMenuDividerProps,
+ DropdownMenuGroupProps,
DropdownMenuItemData,
DropdownMenuItemProps,
DropdownMenuOption,
@@ -731,7 +747,9 @@ export type {
DropdownMenuRadioItemProps,
DropdownMenuSection,
DropdownMenuSize,
+ DropdownMenuSubMenuPresentation,
DropdownMenuSubMenuProps,
+ DropdownMenuTriggerProps,
DurationVarName,
EaseVarName,
ElementSize,
@@ -743,8 +761,12 @@ export type {
EnumListOperatorValue,
EnumOperatorValue,
ExtendedIconName,
+ FieldContainerStyleProps,
+ FieldControlStyleProps,
FieldDefinition,
+ FieldInputBaseProps,
FieldLabelProps,
+ FieldPartStyleProps,
FieldProps,
FieldStatusInput,
FieldStatusProps,
@@ -844,11 +866,16 @@ export type {
ItemDensity,
ItemGroup,
ItemProps,
+ ItemSwipeAction,
+ ItemSwipeActionVariant,
+ ItemSwipeActions,
+ ItemSwipeBehavior,
KbdProps,
Key,
KeyFallback,
KeyboardHintOrientation,
LayerAlignment,
+ LayerInset,
LayerPlacement,
LayerProviderProps,
LayerToastConfig,
@@ -906,12 +933,18 @@ export type {
MarkdownInlinePlugin,
MarkdownProps,
MarkdownSource,
+ MarkdownSourceLines,
MathBlockNode,
MathInlineNode,
MathParseOptions,
MediaThemeMode,
MediaThemeProps,
MenuPresentation,
+ MenuPressEffect,
+ MenuPressEvent,
+ MenuPressGesture,
+ MenuPressPointerType,
+ MenuPressStep,
MessageEntry,
MessagesByLocale,
MetadataListColumns,
@@ -924,11 +957,14 @@ export type {
MoreMenuProps,
MotionScaleConfig,
MotionScaleTokens,
+ MultiSelectorChange,
MultiSelectorDivider,
+ MultiSelectorHandle,
MultiSelectorOptionData,
MultiSelectorOptionType,
MultiSelectorPresentation,
MultiSelectorProps,
+ MultiSelectorRenderTriggerProps,
MultiSelectorSection,
MultiSelectorSelectedItem,
MultiSelectorSize,
@@ -1304,6 +1340,8 @@ export type {
UseListFocusReturn,
UseLongPressHandlers,
UseLongPressOptions,
+ UseMenuPressOptions,
+ UseMenuPressReturn,
UseOverflowOptions,
UseOverflowReturn,
UseOverlayOptions,
@@ -1406,6 +1444,7 @@ export type {
ComplexSelectorHandle,
ComplexSelectorProps,
ComplexSelectorRenderState,
+ ComplexSelectorRenderTriggerProps,
ComplexSelectorSize,
ComplexSelectorStatus,
ComplexSelectorVariant,
diff --git a/src/theme/lablup/built/lablup.d.ts b/src/theme/lablup/built/lablup.d.ts
index 5f0f75f..a7c384c 100644
--- a/src/theme/lablup/built/lablup.d.ts
+++ b/src/theme/lablup/built/lablup.d.ts
@@ -2,12 +2,12 @@
* @generated by `astryx theme build` — do not edit manually.
* Source: src/theme/lablup/lablupTheme.ts
* Command: astryx theme build src/theme/lablup/lablupTheme.ts --out src/theme/lablup/built/theme.css
- * CLI: @astryxdesign/cli@0.6.5
- * Core: @astryxdesign/core@0.6.5
+ * CLI: @astryxdesign/cli@0.7.0
+ * Core: @astryxdesign/core@0.7.0
*/
///
import type { DefinedTheme } from '@astryxdesign/core/theme';
import type { IconRegistry } from '@astryxdesign/core/Icon';
-export declare const neutralIconRegistry: IconRegistry;
+export declare const themeIcons: IconRegistry;
export declare const lablupTheme: DefinedTheme;
diff --git a/src/theme/lablup/built/lablup.js b/src/theme/lablup/built/lablup.js
index fa20160..9f7415b 100644
--- a/src/theme/lablup/built/lablup.js
+++ b/src/theme/lablup/built/lablup.js
@@ -2,11 +2,13 @@
* @generated by `astryx theme build` — do not edit manually.
* Source: src/theme/lablup/lablupTheme.ts
* Command: astryx theme build src/theme/lablup/lablupTheme.ts --out src/theme/lablup/built/theme.css
- * CLI: @astryxdesign/cli@0.6.5
- * Core: @astryxdesign/core@0.6.5
+ * CLI: @astryxdesign/cli@0.7.0
+ * Core: @astryxdesign/core@0.7.0
*/
+import { neutralTheme } from '@astryxdesign/theme-neutral';
import { neutralIconRegistry } from "@astryxdesign/theme-neutral";
+const themeIcons = {...neutralTheme["icons"], ...neutralIconRegistry};
/**
* lablup theme — built by `pnpm exec astryx theme build`
* Import the CSS file alongside this module:
@@ -523,7 +525,24 @@ export const lablupTheme = {
"xl": 1280,
"2xl": 1536
},
- "rules": []
+ "rules": [
+ {
+ "when": {
+ "pointer": "coarse",
+ "width": {
+ "below": "lg"
+ }
+ },
+ "value": {
+ "typography": {
+ "scale": {
+ "base": 16,
+ "ratio": 1.1736
+ }
+ }
+ }
+ }
+ ]
},
__axes: {
"typography": {
@@ -561,7 +580,7 @@ export const lablupTheme = {
"ratio": 0.75
}
},
- icons: neutralIconRegistry,
+ icons: themeIcons,
};
-export { neutralIconRegistry };
+export { themeIcons };
diff --git a/src/theme/lablup/built/lablup.variants.d.ts b/src/theme/lablup/built/lablup.variants.d.ts
index 61d031f..2e7ec33 100644
--- a/src/theme/lablup/built/lablup.variants.d.ts
+++ b/src/theme/lablup/built/lablup.variants.d.ts
@@ -2,8 +2,8 @@
* @generated by `astryx theme build` — do not edit manually.
* Source: src/theme/lablup/lablupTheme.ts
* Command: astryx theme build src/theme/lablup/lablupTheme.ts --out src/theme/lablup/built/theme.css
- * CLI: @astryxdesign/cli@0.6.5
- * Core: @astryxdesign/core@0.6.5
+ * CLI: @astryxdesign/cli@0.7.0
+ * Core: @astryxdesign/core@0.7.0
*/
// Generated by astryx theme build
diff --git a/src/theme/lablup/built/theme.css b/src/theme/lablup/built/theme.css
index 6768bcf..0bc9da4 100644
--- a/src/theme/lablup/built/theme.css
+++ b/src/theme/lablup/built/theme.css
@@ -2,10 +2,12 @@
* @generated by `astryx theme build` — do not edit manually.
* Source: src/theme/lablup/lablupTheme.ts
* Command: astryx theme build src/theme/lablup/lablupTheme.ts --out src/theme/lablup/built/theme.css
- * CLI: @astryxdesign/cli@0.6.5
- * Core: @astryxdesign/core@0.6.5
+ * CLI: @astryxdesign/cli@0.7.0
+ * Core: @astryxdesign/core@0.7.0
*/
+@layer reset, astryx-base, astryx-theme;
+
@layer reset {
@scope ([data-astryx-theme="lablup"]) to ([data-astryx-theme]) {
:where(h1, h2, h3, h4, h5, h6) {
@@ -77,67 +79,6 @@
}
}
-@layer astryx-base {
-:root {
- --color-data-categorical-blue: light-dark(#0171E3, #0171E3);
- --color-data-categorical-orange: light-dark(#EB6E00, #EB6E00);
- --color-data-categorical-purple: light-dark(#6B1EFD, #6B1EFD);
- --color-data-categorical-green: light-dark(#0B991F, #0B991F);
- --color-data-categorical-pink: light-dark(#F351C0, #F351C0);
- --color-data-categorical-cyan: light-dark(#0171A4, #0171A4);
- --color-data-categorical-red: light-dark(#F5394F, #F5394F);
- --color-data-categorical-teal: light-dark(#08A3A3, #08A3A3);
- --color-data-categorical-brown: light-dark(#965E03, #965E03);
- --color-data-categorical-indigo: light-dark(#6F8AFF, #6F8AFF);
- --color-data-neutral: light-dark(#8494A3, #8C939B);
- --color-data-blue-5: light-dark(#02165E, #02165E);
- --color-data-blue-4: light-dark(#004CBC, #004CBC);
- --color-data-blue-3: light-dark(#2694FE, #2694FE);
- --color-data-blue-2: light-dark(#78BEFF, #78BEFF);
- --color-data-blue-1: light-dark(#DBECFF, #DBECFF);
- --color-data-shamrock-5: light-dark(#0B603D, #0B603D);
- --color-data-shamrock-4: light-dark(#138546, #138546);
- --color-data-shamrock-3: light-dark(#24BB5E, #24BB5E);
- --color-data-shamrock-2: light-dark(#8EF7AA, #8EF7AA);
- --color-data-shamrock-1: light-dark(#D6FEE4, #D6FEE4);
- --color-data-orange-5: light-dark(#A13F04, #A13F04);
- --color-data-orange-4: light-dark(#D66100, #D66100);
- --color-data-orange-3: light-dark(#FD9537, #FD9537);
- --color-data-orange-2: light-dark(#FDB876, #FDB876);
- --color-data-orange-1: light-dark(#FFE6CF, #FFE6CF);
- --color-data-pink-5: light-dark(#8E1073, #8E1073);
- --color-data-pink-4: light-dark(#D123A1, #D123A1);
- --color-data-pink-3: light-dark(#F989D3, #F989D3);
- --color-data-pink-2: light-dark(#FEADE3, #FEADE3);
- --color-data-pink-1: light-dark(#FCE3F4, #FCE3F4);
- --color-data-purple-5: light-dark(#3E0697, #3E0697);
- --color-data-purple-4: light-dark(#6B1EFD, #6B1EFD);
- --color-data-purple-3: light-dark(#9081FF, #9081FF);
- --color-data-purple-2: light-dark(#B3B0FE, #B3B0FE);
- --color-data-purple-1: light-dark(#E8E8FB, #E8E8FB);
- --color-data-red-5: light-dark(#9D0519, #9D0519);
- --color-data-red-4: light-dark(#D31130, #D31130);
- --color-data-red-3: light-dark(#FB7D87, #FB7D87);
- --color-data-red-2: light-dark(#FFB2B8, #FFB2B8);
- --color-data-red-1: light-dark(#FEE4E6, #FEE4E6);
- --color-data-teal-5: light-dark(#08767D, #08767D);
- --color-data-teal-4: light-dark(#0C9293, #0C9293);
- --color-data-teal-3: light-dark(#0DB7AF, #0DB7AF);
- --color-data-teal-2: light-dark(#6CE6D8, #6CE6D8);
- --color-data-teal-1: light-dark(#D7FCF8, #D7FCF8);
- --color-data-yellow-5: light-dark(#8A5001, #8A5001);
- --color-data-yellow-4: light-dark(#D69804, #D69804);
- --color-data-yellow-3: light-dark(#FBCE03, #FBCE03);
- --color-data-yellow-2: light-dark(#FCEC85, #FCEC85);
- --color-data-yellow-1: light-dark(#FDF6BA, #FDF6BA);
- --color-data-gray-5: light-dark(#25363F, #333338);
- --color-data-gray-4: light-dark(#5D6C7B, #666A72);
- --color-data-gray-3: light-dark(#AFB9C4, #B2B8BE);
- --color-data-gray-2: light-dark(#CCD3DB, #D0D3D6);
- --color-data-gray-1: light-dark(#F1F4F7, #F2F4F6);
-}
-}
-
@layer astryx-theme {
:root { color-scheme: light dark; }
html[data-theme="light"] { color-scheme: light; }
@@ -700,6 +641,72 @@
}
}
+@layer astryx-theme {
+@media (width < 1024px) and (pointer: coarse) {
+ @scope ([data-astryx-theme="lablup"]) to ([data-astryx-theme]) {
+ :scope {
+ --font-size-4xs: 0.4375rem;
+ --font-size-3xs: 0.5rem;
+ --font-size-2xs: 0.625rem;
+ --font-size-xs: 0.75rem;
+ --font-size-sm: 0.875rem;
+ --font-size-base: 1rem;
+ --font-size-lg: 1.1875rem;
+ --font-size-xl: 1.375rem;
+ --font-size-2xl: 1.625rem;
+ --font-size-3xl: 1.875rem;
+ --font-size-4xl: 2.25rem;
+ --font-size-5xl: 2.625rem;
+ --text-heading-1-size: var(--font-size-2xl);
+ --text-heading-1-weight: var(--font-weight-semibold);
+ --text-heading-1-leading: 1.3846;
+ --text-heading-2-size: var(--font-size-xl);
+ --text-heading-2-weight: var(--font-weight-semibold);
+ --text-heading-2-leading: 1.4545;
+ --text-heading-3-size: var(--font-size-lg);
+ --text-heading-3-weight: var(--font-weight-bold);
+ --text-heading-3-leading: 1.4737;
+ --text-heading-4-size: var(--font-size-base);
+ --text-heading-4-weight: var(--font-weight-bold);
+ --text-heading-4-leading: 1.5;
+ --text-heading-5-size: var(--font-size-sm);
+ --text-heading-5-weight: var(--font-weight-semibold);
+ --text-heading-5-leading: 1.4286;
+ --text-heading-6-size: var(--font-size-xs);
+ --text-heading-6-weight: var(--font-weight-semibold);
+ --text-heading-6-leading: 1.6667;
+ --text-body-size: var(--font-size-base);
+ --text-body-weight: var(--font-weight-normal);
+ --text-body-leading: 1.5;
+ --text-large-size: var(--font-size-lg);
+ --text-large-weight: var(--font-weight-semibold);
+ --text-large-leading: 1.4737;
+ --text-label-size: var(--font-size-base);
+ --text-label-weight: var(--font-weight-medium);
+ --text-label-leading: 1.5;
+ --text-code-size: var(--font-size-base);
+ --text-code-weight: var(--font-weight-normal);
+ --text-code-leading: 1.5;
+ --text-supporting-size: var(--font-size-sm);
+ --text-supporting-weight: var(--font-weight-normal);
+ --text-supporting-leading: 1.4286;
+ --text-display-1-size: var(--font-size-5xl);
+ --text-display-1-weight: var(--font-weight-normal);
+ --text-display-1-leading: 1.2381;
+ --text-display-2-size: var(--font-size-4xl);
+ --text-display-2-weight: var(--font-weight-normal);
+ --text-display-2-leading: 1.2222;
+ --text-display-3-size: var(--font-size-3xl);
+ --text-display-3-weight: var(--font-weight-normal);
+ --text-display-3-leading: 1.4667;
+ --font-family-body: Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
+ --font-family-heading: Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
+ --font-family-code: ui-monospace, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ }
+ }
+}
+}
+
@layer astryx-theme {
@scope ([data-astryx-theme="lablup"]) to ([data-astryx-theme]) {
[data-astryx-media="dark"] {
diff --git a/src/theme/lablup/built/theme.css.d.ts b/src/theme/lablup/built/theme.css.d.ts
new file mode 100644
index 0000000..2a2038e
--- /dev/null
+++ b/src/theme/lablup/built/theme.css.d.ts
@@ -0,0 +1,9 @@
+/**
+ * @generated by `astryx theme build` — do not edit manually.
+ * Source: src/theme/lablup/lablupTheme.ts
+ * Command: astryx theme build src/theme/lablup/lablupTheme.ts --out src/theme/lablup/built/theme.css
+ * CLI: @astryxdesign/cli@0.7.0
+ * Core: @astryxdesign/core@0.7.0
+ */
+
+export {};