@cyberskill/design 1.0.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/DESIGN.md +267 -0
- package/README.md +316 -0
- package/SKILL.md +64 -0
- package/VERSION +1 -0
- package/_ds_bundle.js +5377 -0
- package/_ds_manifest.json +1 -0
- package/_esm/cs.mjs +137 -0
- package/assets/aurora-gold.jpg +0 -0
- package/assets/aurora-hoa.png +0 -0
- package/assets/aurora-kim.png +0 -0
- package/assets/aurora-moc.png +0 -0
- package/assets/aurora-thuy.png +0 -0
- package/assets/favicon.svg +1 -0
- package/assets/logo-mark.png +0 -0
- package/assets/logo-mark.svg +10 -0
- package/assets/lumi-poster.webp +0 -0
- package/assets/og-dashboard.png +0 -0
- package/base/a11y.css +57 -0
- package/base/ai.css +67 -0
- package/base/collections.css +53 -0
- package/base/components.css +212 -0
- package/base/controls.css +329 -0
- package/base/data.css +48 -0
- package/base/feedback.css +60 -0
- package/base/forms.css +32 -0
- package/base/glass.css +119 -0
- package/base/interaction.css +50 -0
- package/base/navigation.css +39 -0
- package/base/reset.css +17 -0
- package/base/responsive.css +128 -0
- package/base/shell.css +55 -0
- package/base/typography.css +14 -0
- package/components/_i18n/i18n.js +56 -0
- package/components/_i18n/strings.js +187 -0
- package/components/_utils/cx.js +4 -0
- package/components/ai/AIDisclosureBadge.d.ts +16 -0
- package/components/ai/AIDisclosureBadge.figma.tsx +12 -0
- package/components/ai/AIDisclosureBadge.jsx +39 -0
- package/components/ai/AIDisclosureBadge.prompt.md +9 -0
- package/components/ai/ChatMessage.d.ts +17 -0
- package/components/ai/ChatMessage.figma.tsx +12 -0
- package/components/ai/ChatMessage.jsx +22 -0
- package/components/ai/ChatMessage.prompt.md +8 -0
- package/components/ai/CitationList.d.ts +13 -0
- package/components/ai/CitationList.figma.tsx +12 -0
- package/components/ai/CitationList.jsx +22 -0
- package/components/ai/CitationList.prompt.md +5 -0
- package/components/ai/ConfidenceMeter.d.ts +17 -0
- package/components/ai/ConfidenceMeter.figma.tsx +12 -0
- package/components/ai/ConfidenceMeter.jsx +43 -0
- package/components/ai/ConfidenceMeter.prompt.md +6 -0
- package/components/ai/HumanReviewGate.d.ts +20 -0
- package/components/ai/HumanReviewGate.figma.tsx +12 -0
- package/components/ai/HumanReviewGate.jsx +37 -0
- package/components/ai/HumanReviewGate.prompt.md +13 -0
- package/components/ai/PromptInput.d.ts +21 -0
- package/components/ai/PromptInput.figma.tsx +12 -0
- package/components/ai/PromptInput.jsx +48 -0
- package/components/ai/PromptInput.prompt.md +5 -0
- package/components/ai/PromptSuggestions.d.ts +12 -0
- package/components/ai/PromptSuggestions.figma.tsx +12 -0
- package/components/ai/PromptSuggestions.jsx +20 -0
- package/components/ai/PromptSuggestions.prompt.md +5 -0
- package/components/ai/TypingIndicator.d.ts +9 -0
- package/components/ai/TypingIndicator.figma.tsx +12 -0
- package/components/ai/TypingIndicator.jsx +14 -0
- package/components/ai/TypingIndicator.prompt.md +5 -0
- package/components/ai/ai-conversation.card.html +49 -0
- package/components/ai/ai-lumi.card.html +39 -0
- package/components/ai/ai.card.html +43 -0
- package/components/brand/LumiAvatar.d.ts +14 -0
- package/components/brand/LumiAvatar.figma.tsx +12 -0
- package/components/brand/LumiAvatar.jsx +11 -0
- package/components/brand/LumiAvatar.prompt.md +5 -0
- package/components/brand/brand.card.html +37 -0
- package/components/button/Button.d.ts +24 -0
- package/components/button/Button.figma.tsx +31 -0
- package/components/button/Button.jsx +42 -0
- package/components/button/Button.prompt.md +12 -0
- package/components/button/ButtonGroup.d.ts +11 -0
- package/components/button/ButtonGroup.figma.tsx +12 -0
- package/components/button/ButtonGroup.jsx +7 -0
- package/components/button/ButtonGroup.prompt.md +8 -0
- package/components/button/FloatingActionButton.d.ts +15 -0
- package/components/button/FloatingActionButton.figma.tsx +12 -0
- package/components/button/FloatingActionButton.jsx +20 -0
- package/components/button/FloatingActionButton.prompt.md +6 -0
- package/components/button/buttons.card.html +52 -0
- package/components/data/Accordion.d.ts +14 -0
- package/components/data/Accordion.figma.tsx +12 -0
- package/components/data/Accordion.jsx +25 -0
- package/components/data/Accordion.prompt.md +5 -0
- package/components/data/Avatar.d.ts +18 -0
- package/components/data/Avatar.figma.tsx +12 -0
- package/components/data/Avatar.jsx +17 -0
- package/components/data/Avatar.prompt.md +6 -0
- package/components/data/Card.d.ts +23 -0
- package/components/data/Card.figma.tsx +12 -0
- package/components/data/Card.jsx +27 -0
- package/components/data/Card.prompt.md +9 -0
- package/components/data/Carousel.d.ts +13 -0
- package/components/data/Carousel.figma.tsx +12 -0
- package/components/data/Carousel.jsx +26 -0
- package/components/data/Carousel.prompt.md +5 -0
- package/components/data/Chart.d.ts +17 -0
- package/components/data/Chart.figma.tsx +12 -0
- package/components/data/Chart.jsx +52 -0
- package/components/data/Chart.prompt.md +5 -0
- package/components/data/CodeBlock.d.ts +12 -0
- package/components/data/CodeBlock.figma.tsx +12 -0
- package/components/data/CodeBlock.jsx +21 -0
- package/components/data/CodeBlock.prompt.md +5 -0
- package/components/data/Comment.d.ts +18 -0
- package/components/data/Comment.figma.tsx +12 -0
- package/components/data/Comment.jsx +24 -0
- package/components/data/Comment.prompt.md +7 -0
- package/components/data/DescriptionList.d.ts +10 -0
- package/components/data/DescriptionList.figma.tsx +12 -0
- package/components/data/DescriptionList.jsx +16 -0
- package/components/data/DescriptionList.prompt.md +5 -0
- package/components/data/Divider.d.ts +13 -0
- package/components/data/Divider.figma.tsx +12 -0
- package/components/data/Divider.jsx +11 -0
- package/components/data/Divider.prompt.md +6 -0
- package/components/data/Image.d.ts +18 -0
- package/components/data/Image.figma.tsx +12 -0
- package/components/data/Image.jsx +37 -0
- package/components/data/Image.prompt.md +5 -0
- package/components/data/Kbd.d.ts +8 -0
- package/components/data/Kbd.figma.tsx +12 -0
- package/components/data/Kbd.jsx +7 -0
- package/components/data/Kbd.prompt.md +5 -0
- package/components/data/List.d.ts +16 -0
- package/components/data/List.figma.tsx +12 -0
- package/components/data/List.jsx +24 -0
- package/components/data/List.prompt.md +7 -0
- package/components/data/Masonry.d.ts +13 -0
- package/components/data/Masonry.figma.tsx +12 -0
- package/components/data/Masonry.jsx +11 -0
- package/components/data/Masonry.prompt.md +5 -0
- package/components/data/QRCode.d.ts +12 -0
- package/components/data/QRCode.figma.tsx +12 -0
- package/components/data/QRCode.jsx +17 -0
- package/components/data/QRCode.prompt.md +5 -0
- package/components/data/Sortable.d.ts +10 -0
- package/components/data/Sortable.figma.tsx +12 -0
- package/components/data/Sortable.jsx +30 -0
- package/components/data/Sortable.prompt.md +5 -0
- package/components/data/Splitter.d.ts +16 -0
- package/components/data/Splitter.figma.tsx +12 -0
- package/components/data/Splitter.jsx +31 -0
- package/components/data/Splitter.prompt.md +5 -0
- package/components/data/Stat.d.ts +15 -0
- package/components/data/Stat.figma.tsx +12 -0
- package/components/data/Stat.jsx +19 -0
- package/components/data/Stat.prompt.md +5 -0
- package/components/data/Terminal.d.ts +13 -0
- package/components/data/Terminal.figma.tsx +12 -0
- package/components/data/Terminal.jsx +32 -0
- package/components/data/Terminal.prompt.md +5 -0
- package/components/data/Timeline.d.ts +17 -0
- package/components/data/Timeline.figma.tsx +12 -0
- package/components/data/Timeline.jsx +20 -0
- package/components/data/Timeline.prompt.md +8 -0
- package/components/data/Tooltip.d.ts +14 -0
- package/components/data/Tooltip.figma.tsx +12 -0
- package/components/data/Tooltip.jsx +12 -0
- package/components/data/Tooltip.prompt.md +5 -0
- package/components/data/Tree.d.ts +13 -0
- package/components/data/Tree.figma.tsx +12 -0
- package/components/data/Tree.jsx +23 -0
- package/components/data/Tree.prompt.md +5 -0
- package/components/data/Watermark.d.ts +15 -0
- package/components/data/Watermark.figma.tsx +12 -0
- package/components/data/Watermark.jsx +15 -0
- package/components/data/Watermark.prompt.md +5 -0
- package/components/data/collections.card.html +52 -0
- package/components/data/data.card.html +50 -0
- package/components/data/qr-encode.js +80 -0
- package/components/datatable/DataGrid.d.ts +42 -0
- package/components/datatable/DataGrid.figma.tsx +12 -0
- package/components/datatable/DataGrid.jsx +149 -0
- package/components/datatable/DataGrid.prompt.md +12 -0
- package/components/datatable/DataTable.d.ts +25 -0
- package/components/datatable/DataTable.figma.tsx +12 -0
- package/components/datatable/DataTable.jsx +42 -0
- package/components/datatable/DataTable.prompt.md +15 -0
- package/components/datatable/TreeTable.d.ts +14 -0
- package/components/datatable/TreeTable.figma.tsx +12 -0
- package/components/datatable/TreeTable.jsx +47 -0
- package/components/datatable/TreeTable.prompt.md +6 -0
- package/components/datatable/datatable.card.html +51 -0
- package/components/dialog/Dialog.d.ts +22 -0
- package/components/dialog/Dialog.figma.tsx +12 -0
- package/components/dialog/Dialog.jsx +99 -0
- package/components/dialog/Dialog.prompt.md +17 -0
- package/components/dialog/dialog.card.html +46 -0
- package/components/feedback/Alert.d.ts +16 -0
- package/components/feedback/Alert.figma.tsx +17 -0
- package/components/feedback/Alert.jsx +29 -0
- package/components/feedback/Alert.prompt.md +6 -0
- package/components/feedback/Badge.d.ts +15 -0
- package/components/feedback/Badge.figma.tsx +12 -0
- package/components/feedback/Badge.jsx +12 -0
- package/components/feedback/Badge.prompt.md +6 -0
- package/components/feedback/EmptyState.d.ts +13 -0
- package/components/feedback/EmptyState.figma.tsx +12 -0
- package/components/feedback/EmptyState.jsx +16 -0
- package/components/feedback/EmptyState.prompt.md +7 -0
- package/components/feedback/ProgressBar.d.ts +15 -0
- package/components/feedback/ProgressBar.figma.tsx +12 -0
- package/components/feedback/ProgressBar.jsx +13 -0
- package/components/feedback/ProgressBar.prompt.md +5 -0
- package/components/feedback/Result.d.ts +15 -0
- package/components/feedback/Result.figma.tsx +12 -0
- package/components/feedback/Result.jsx +24 -0
- package/components/feedback/Result.prompt.md +7 -0
- package/components/feedback/Skeleton.d.ts +18 -0
- package/components/feedback/Skeleton.figma.tsx +12 -0
- package/components/feedback/Skeleton.jsx +22 -0
- package/components/feedback/Skeleton.prompt.md +6 -0
- package/components/feedback/Spinner.d.ts +11 -0
- package/components/feedback/Spinner.figma.tsx +12 -0
- package/components/feedback/Spinner.jsx +10 -0
- package/components/feedback/Spinner.prompt.md +5 -0
- package/components/feedback/StatusIndicator.d.ts +11 -0
- package/components/feedback/StatusIndicator.figma.tsx +12 -0
- package/components/feedback/StatusIndicator.jsx +12 -0
- package/components/feedback/StatusIndicator.prompt.md +5 -0
- package/components/feedback/Tag.d.ts +14 -0
- package/components/feedback/Tag.figma.tsx +12 -0
- package/components/feedback/Tag.jsx +19 -0
- package/components/feedback/Tag.prompt.md +6 -0
- package/components/feedback/Toast.d.ts +19 -0
- package/components/feedback/Toast.figma.tsx +12 -0
- package/components/feedback/Toast.jsx +30 -0
- package/components/feedback/Toast.prompt.md +7 -0
- package/components/feedback/feedback-2.card.html +43 -0
- package/components/feedback/feedback.card.html +50 -0
- package/components/forms/Calendar.d.ts +10 -0
- package/components/forms/Calendar.figma.tsx +12 -0
- package/components/forms/Calendar.jsx +43 -0
- package/components/forms/Calendar.prompt.md +5 -0
- package/components/forms/Cascader.d.ts +17 -0
- package/components/forms/Cascader.figma.tsx +12 -0
- package/components/forms/Cascader.jsx +58 -0
- package/components/forms/Cascader.prompt.md +5 -0
- package/components/forms/Checkbox.d.ts +13 -0
- package/components/forms/Checkbox.figma.tsx +12 -0
- package/components/forms/Checkbox.jsx +16 -0
- package/components/forms/Checkbox.prompt.md +6 -0
- package/components/forms/ColorPicker.d.ts +12 -0
- package/components/forms/ColorPicker.figma.tsx +12 -0
- package/components/forms/ColorPicker.jsx +44 -0
- package/components/forms/ColorPicker.prompt.md +5 -0
- package/components/forms/Combobox.d.ts +17 -0
- package/components/forms/Combobox.figma.tsx +12 -0
- package/components/forms/Combobox.jsx +49 -0
- package/components/forms/Combobox.prompt.md +6 -0
- package/components/forms/DatePicker.d.ts +15 -0
- package/components/forms/DatePicker.figma.tsx +12 -0
- package/components/forms/DatePicker.jsx +35 -0
- package/components/forms/DatePicker.prompt.md +5 -0
- package/components/forms/Editor.d.ts +12 -0
- package/components/forms/Editor.figma.tsx +12 -0
- package/components/forms/Editor.jsx +26 -0
- package/components/forms/Editor.prompt.md +5 -0
- package/components/forms/FileUpload.d.ts +14 -0
- package/components/forms/FileUpload.figma.tsx +12 -0
- package/components/forms/FileUpload.jsx +29 -0
- package/components/forms/FileUpload.prompt.md +5 -0
- package/components/forms/Form.d.ts +87 -0
- package/components/forms/Form.figma.tsx +12 -0
- package/components/forms/Form.jsx +316 -0
- package/components/forms/Form.prompt.md +46 -0
- package/components/forms/InlineEdit.d.ts +13 -0
- package/components/forms/InlineEdit.figma.tsx +12 -0
- package/components/forms/InlineEdit.jsx +27 -0
- package/components/forms/InlineEdit.prompt.md +5 -0
- package/components/forms/InputGroup.d.ts +20 -0
- package/components/forms/InputGroup.figma.tsx +12 -0
- package/components/forms/InputGroup.jsx +25 -0
- package/components/forms/InputGroup.prompt.md +6 -0
- package/components/forms/InputOTP.d.ts +16 -0
- package/components/forms/InputOTP.figma.tsx +12 -0
- package/components/forms/InputOTP.jsx +47 -0
- package/components/forms/InputOTP.prompt.md +5 -0
- package/components/forms/Mentions.d.ts +13 -0
- package/components/forms/Mentions.figma.tsx +12 -0
- package/components/forms/Mentions.jsx +31 -0
- package/components/forms/Mentions.prompt.md +5 -0
- package/components/forms/NumberField.d.ts +14 -0
- package/components/forms/NumberField.figma.tsx +12 -0
- package/components/forms/NumberField.jsx +21 -0
- package/components/forms/NumberField.prompt.md +5 -0
- package/components/forms/RadioGroup.d.ts +24 -0
- package/components/forms/RadioGroup.figma.tsx +12 -0
- package/components/forms/RadioGroup.jsx +32 -0
- package/components/forms/RadioGroup.prompt.md +6 -0
- package/components/forms/Rating.d.ts +16 -0
- package/components/forms/Rating.figma.tsx +12 -0
- package/components/forms/Rating.jsx +22 -0
- package/components/forms/Rating.prompt.md +6 -0
- package/components/forms/SearchField.d.ts +11 -0
- package/components/forms/SearchField.figma.tsx +12 -0
- package/components/forms/SearchField.jsx +25 -0
- package/components/forms/SearchField.prompt.md +5 -0
- package/components/forms/SegmentedControl.d.ts +13 -0
- package/components/forms/SegmentedControl.figma.tsx +12 -0
- package/components/forms/SegmentedControl.jsx +31 -0
- package/components/forms/SegmentedControl.prompt.md +6 -0
- package/components/forms/Select.d.ts +19 -0
- package/components/forms/Select.figma.tsx +12 -0
- package/components/forms/Select.jsx +27 -0
- package/components/forms/Select.prompt.md +6 -0
- package/components/forms/Slider.d.ts +6 -0
- package/components/forms/Slider.figma.tsx +12 -0
- package/components/forms/Slider.jsx +8 -0
- package/components/forms/Slider.prompt.md +5 -0
- package/components/forms/Switch.d.ts +12 -0
- package/components/forms/Switch.figma.tsx +12 -0
- package/components/forms/Switch.jsx +14 -0
- package/components/forms/Switch.prompt.md +5 -0
- package/components/forms/TagInput.d.ts +16 -0
- package/components/forms/TagInput.figma.tsx +12 -0
- package/components/forms/TagInput.jsx +39 -0
- package/components/forms/TagInput.prompt.md +5 -0
- package/components/forms/Textarea.d.ts +14 -0
- package/components/forms/Textarea.figma.tsx +12 -0
- package/components/forms/Textarea.jsx +19 -0
- package/components/forms/Textarea.prompt.md +5 -0
- package/components/forms/TimePicker.d.ts +16 -0
- package/components/forms/TimePicker.figma.tsx +12 -0
- package/components/forms/TimePicker.jsx +22 -0
- package/components/forms/TimePicker.prompt.md +5 -0
- package/components/forms/Toggle.d.ts +16 -0
- package/components/forms/Toggle.figma.tsx +12 -0
- package/components/forms/Toggle.jsx +15 -0
- package/components/forms/Toggle.prompt.md +6 -0
- package/components/forms/Transfer.d.ts +14 -0
- package/components/forms/Transfer.figma.tsx +12 -0
- package/components/forms/Transfer.jsx +41 -0
- package/components/forms/Transfer.prompt.md +5 -0
- package/components/forms/TreeSelect.d.ts +15 -0
- package/components/forms/TreeSelect.figma.tsx +12 -0
- package/components/forms/TreeSelect.jsx +35 -0
- package/components/forms/TreeSelect.prompt.md +5 -0
- package/components/forms/forms-2.card.html +40 -0
- package/components/forms/forms.card.html +40 -0
- package/components/icon/Icon.d.ts +26 -0
- package/components/icon/Icon.figma.tsx +12 -0
- package/components/icon/Icon.jsx +74 -0
- package/components/icon/Icon.prompt.md +8 -0
- package/components/icon/icon.card.html +38 -0
- package/components/logo/Logo.d.ts +18 -0
- package/components/logo/Logo.figma.tsx +12 -0
- package/components/logo/Logo.jsx +25 -0
- package/components/logo/Logo.prompt.md +10 -0
- package/components/logo/logo-data.js +214 -0
- package/components/logo/logo.card.html +44 -0
- package/components/navigation/Anchor.d.ts +11 -0
- package/components/navigation/Anchor.figma.tsx +12 -0
- package/components/navigation/Anchor.jsx +25 -0
- package/components/navigation/Anchor.prompt.md +5 -0
- package/components/navigation/BackTop.d.ts +9 -0
- package/components/navigation/BackTop.figma.tsx +12 -0
- package/components/navigation/BackTop.jsx +23 -0
- package/components/navigation/BackTop.prompt.md +5 -0
- package/components/navigation/Breadcrumb.d.ts +14 -0
- package/components/navigation/Breadcrumb.figma.tsx +12 -0
- package/components/navigation/Breadcrumb.jsx +24 -0
- package/components/navigation/Breadcrumb.prompt.md +5 -0
- package/components/navigation/CommandPalette.d.ts +19 -0
- package/components/navigation/CommandPalette.figma.tsx +12 -0
- package/components/navigation/CommandPalette.jsx +48 -0
- package/components/navigation/CommandPalette.prompt.md +7 -0
- package/components/navigation/Dock.d.ts +6 -0
- package/components/navigation/Dock.figma.tsx +12 -0
- package/components/navigation/Dock.jsx +22 -0
- package/components/navigation/Dock.prompt.md +5 -0
- package/components/navigation/HotKeys.d.ts +13 -0
- package/components/navigation/HotKeys.figma.tsx +12 -0
- package/components/navigation/HotKeys.jsx +44 -0
- package/components/navigation/HotKeys.prompt.md +5 -0
- package/components/navigation/Link.d.ts +12 -0
- package/components/navigation/Link.figma.tsx +12 -0
- package/components/navigation/Link.jsx +13 -0
- package/components/navigation/Link.prompt.md +5 -0
- package/components/navigation/Menu.d.ts +23 -0
- package/components/navigation/Menu.figma.tsx +12 -0
- package/components/navigation/Menu.jsx +36 -0
- package/components/navigation/Menu.prompt.md +9 -0
- package/components/navigation/Menubar.d.ts +7 -0
- package/components/navigation/Menubar.figma.tsx +12 -0
- package/components/navigation/Menubar.jsx +48 -0
- package/components/navigation/Menubar.prompt.md +5 -0
- package/components/navigation/NavigationMenu.d.ts +7 -0
- package/components/navigation/NavigationMenu.figma.tsx +12 -0
- package/components/navigation/NavigationMenu.jsx +38 -0
- package/components/navigation/NavigationMenu.prompt.md +5 -0
- package/components/navigation/Pagination.d.ts +13 -0
- package/components/navigation/Pagination.figma.tsx +12 -0
- package/components/navigation/Pagination.jsx +32 -0
- package/components/navigation/Pagination.prompt.md +5 -0
- package/components/navigation/Sidebar.d.ts +20 -0
- package/components/navigation/Sidebar.figma.tsx +12 -0
- package/components/navigation/Sidebar.jsx +24 -0
- package/components/navigation/Sidebar.prompt.md +8 -0
- package/components/navigation/Steps.d.ts +13 -0
- package/components/navigation/Steps.figma.tsx +12 -0
- package/components/navigation/Steps.jsx +20 -0
- package/components/navigation/Steps.prompt.md +5 -0
- package/components/navigation/Tabs.d.ts +21 -0
- package/components/navigation/Tabs.figma.tsx +12 -0
- package/components/navigation/Tabs.jsx +41 -0
- package/components/navigation/Tabs.prompt.md +6 -0
- package/components/navigation/Toolbar.d.ts +16 -0
- package/components/navigation/Toolbar.figma.tsx +12 -0
- package/components/navigation/Toolbar.jsx +32 -0
- package/components/navigation/Toolbar.prompt.md +5 -0
- package/components/navigation/navigation.card.html +51 -0
- package/components/navigation/shell.card.html +52 -0
- package/components/overlays/ContextMenu.d.ts +10 -0
- package/components/overlays/ContextMenu.figma.tsx +12 -0
- package/components/overlays/ContextMenu.jsx +28 -0
- package/components/overlays/ContextMenu.prompt.md +7 -0
- package/components/overlays/Drawer.d.ts +18 -0
- package/components/overlays/Drawer.figma.tsx +12 -0
- package/components/overlays/Drawer.jsx +44 -0
- package/components/overlays/Drawer.prompt.md +8 -0
- package/components/overlays/HoverCard.d.ts +13 -0
- package/components/overlays/HoverCard.figma.tsx +12 -0
- package/components/overlays/HoverCard.jsx +17 -0
- package/components/overlays/HoverCard.prompt.md +5 -0
- package/components/overlays/Popconfirm.d.ts +18 -0
- package/components/overlays/Popconfirm.figma.tsx +12 -0
- package/components/overlays/Popconfirm.jsx +33 -0
- package/components/overlays/Popconfirm.prompt.md +6 -0
- package/components/overlays/Popover.d.ts +17 -0
- package/components/overlays/Popover.figma.tsx +12 -0
- package/components/overlays/Popover.jsx +24 -0
- package/components/overlays/Popover.prompt.md +7 -0
- package/components/overlays/Tour.d.ts +13 -0
- package/components/overlays/Tour.figma.tsx +12 -0
- package/components/overlays/Tour.jsx +46 -0
- package/components/overlays/Tour.prompt.md +5 -0
- package/components/overlays/overlays.card.html +50 -0
- package/components/textfield/TextField.d.ts +18 -0
- package/components/textfield/TextField.figma.tsx +14 -0
- package/components/textfield/TextField.jsx +44 -0
- package/components/textfield/TextField.prompt.md +11 -0
- package/components/textfield/textfield.card.html +34 -0
- package/docs/ci-cd.md +84 -0
- package/docs/consuming.md +109 -0
- package/docs/contrast-report.md +125 -0
- package/docs/conventions.md +114 -0
- package/docs/decisions.md +94 -0
- package/docs/deploy.md +110 -0
- package/docs/design-styles.md +25 -0
- package/docs/figma.md +119 -0
- package/docs/live-hub.md +58 -0
- package/docs/products.md +26 -0
- package/docs/quality-gates.md +94 -0
- package/docs/release-notes.md +31 -0
- package/docs/storybook.md +56 -0
- package/docs/sync.md +48 -0
- package/docs/template-schema-v2.md +36 -0
- package/docs/vi/ci-cd.md +84 -0
- package/docs/vi/consuming.md +109 -0
- package/docs/vi/contrast-report.md +125 -0
- package/docs/vi/conventions.md +114 -0
- package/docs/vi/decisions.md +94 -0
- package/docs/vi/deploy.md +110 -0
- package/docs/vi/design-styles.md +25 -0
- package/docs/vi/figma.md +119 -0
- package/docs/vi/live-hub.md +58 -0
- package/docs/vi/products.md +26 -0
- package/docs/vi/quality-gates.md +94 -0
- package/docs/vi/release-notes.md +31 -0
- package/docs/vi/storybook.md +56 -0
- package/docs/vi/sync.md +48 -0
- package/docs/vi/template-schema-v2.md +36 -0
- package/docs/viewer.html +230 -0
- package/fonts/bevietnampro-300-latin-ext.woff2 +0 -0
- package/fonts/bevietnampro-300-latin.woff2 +0 -0
- package/fonts/bevietnampro-300-vietnamese.woff2 +0 -0
- package/fonts/bevietnampro-400-latin-ext.woff2 +0 -0
- package/fonts/bevietnampro-400-latin.woff2 +0 -0
- package/fonts/bevietnampro-400-vietnamese.woff2 +0 -0
- package/fonts/bevietnampro-400i-latin-ext.woff2 +0 -0
- package/fonts/bevietnampro-400i-latin.woff2 +0 -0
- package/fonts/bevietnampro-400i-vietnamese.woff2 +0 -0
- package/fonts/bevietnampro-500-latin-ext.woff2 +0 -0
- package/fonts/bevietnampro-500-latin.woff2 +0 -0
- package/fonts/bevietnampro-500-vietnamese.woff2 +0 -0
- package/fonts/bevietnampro-600-latin-ext.woff2 +0 -0
- package/fonts/bevietnampro-600-latin.woff2 +0 -0
- package/fonts/bevietnampro-600-vietnamese.woff2 +0 -0
- package/fonts/bevietnampro-600i-latin-ext.woff2 +0 -0
- package/fonts/bevietnampro-600i-latin.woff2 +0 -0
- package/fonts/bevietnampro-600i-vietnamese.woff2 +0 -0
- package/fonts/bevietnampro-700-latin-ext.woff2 +0 -0
- package/fonts/bevietnampro-700-latin.woff2 +0 -0
- package/fonts/bevietnampro-700-vietnamese.woff2 +0 -0
- package/fonts/bevietnampro-800-latin-ext.woff2 +0 -0
- package/fonts/bevietnampro-800-latin.woff2 +0 -0
- package/fonts/bevietnampro-800-vietnamese.woff2 +0 -0
- package/fonts/jetbrainsmono-400-cyrillic-ext.woff2 +0 -0
- package/fonts/jetbrainsmono-400-cyrillic.woff2 +0 -0
- package/fonts/jetbrainsmono-400-greek.woff2 +0 -0
- package/fonts/jetbrainsmono-400-latin-ext.woff2 +0 -0
- package/fonts/jetbrainsmono-400-latin.woff2 +0 -0
- package/fonts/jetbrainsmono-400-vietnamese.woff2 +0 -0
- package/fonts/jetbrainsmono-500-cyrillic-ext.woff2 +0 -0
- package/fonts/jetbrainsmono-500-cyrillic.woff2 +0 -0
- package/fonts/jetbrainsmono-500-greek.woff2 +0 -0
- package/fonts/jetbrainsmono-500-latin-ext.woff2 +0 -0
- package/fonts/jetbrainsmono-500-latin.woff2 +0 -0
- package/fonts/jetbrainsmono-500-vietnamese.woff2 +0 -0
- package/fonts/jetbrainsmono-700-cyrillic-ext.woff2 +0 -0
- package/fonts/jetbrainsmono-700-cyrillic.woff2 +0 -0
- package/fonts/jetbrainsmono-700-greek.woff2 +0 -0
- package/fonts/jetbrainsmono-700-latin-ext.woff2 +0 -0
- package/fonts/jetbrainsmono-700-latin.woff2 +0 -0
- package/fonts/jetbrainsmono-700-vietnamese.woff2 +0 -0
- package/guidelines/atomic-view.html +497 -0
- package/guidelines/brand-iconography.html +51 -0
- package/guidelines/brand-imagery.html +23 -0
- package/guidelines/brand-interaction.html +24 -0
- package/guidelines/brand-voice.html +24 -0
- package/guidelines/colors-anchors.html +20 -0
- package/guidelines/colors-semantic.html +19 -0
- package/guidelines/colors-surfaces.html +19 -0
- package/guidelines/colors-text.html +20 -0
- package/guidelines/documents.html +43 -0
- package/guidelines/elements-components.html +27 -0
- package/guidelines/elements-concept.html +48 -0
- package/guidelines/elements-variants.html +49 -0
- package/guidelines/motion-interaction.html +29 -0
- package/guidelines/motion.html +53 -0
- package/guidelines/nav-model.cjs +113 -0
- package/guidelines/responsive-bilingual.html +75 -0
- package/guidelines/rtl-preview.html +115 -0
- package/guidelines/spacing-breakpoints.html +20 -0
- package/guidelines/spacing-radius.html +19 -0
- package/guidelines/spacing-scale.html +21 -0
- package/guidelines/surfaces-aurora.html +20 -0
- package/guidelines/surfaces-depth.html +27 -0
- package/guidelines/surfaces-glass.html +21 -0
- package/guidelines/surfaces-shadow.html +20 -0
- package/guidelines/type-families.html +25 -0
- package/guidelines/type-lineheight.html +16 -0
- package/guidelines/type-scale.html +21 -0
- package/guidelines/type-weights.html +20 -0
- package/llms.txt +70 -0
- package/package.json +88 -0
- package/styles.css +39 -0
- package/templates/_vendor/deck-stage.js +2584 -0
- package/templates/ai-cluster-demo.html +46 -0
- package/templates/app-shell/.thumbnail +0 -0
- package/templates/app-shell/AppShell.dc.html +80 -0
- package/templates/app-shell/content-schema.json +114 -0
- package/templates/app-shell/ds-base.js +23 -0
- package/templates/app-shell/support.js +1841 -0
- package/templates/article/.thumbnail +0 -0
- package/templates/article/Article.dc.html +67 -0
- package/templates/article/content-schema.json +80 -0
- package/templates/article/ds-base.js +23 -0
- package/templates/article/support.js +1841 -0
- package/templates/auth/.thumbnail +0 -0
- package/templates/auth/Auth.dc.html +72 -0
- package/templates/auth/content-schema.json +74 -0
- package/templates/auth/ds-base.js +23 -0
- package/templates/auth/support.js +1841 -0
- package/templates/bod-deck/.thumbnail +0 -0
- package/templates/bod-deck/BodDeck.dc.html +106 -0
- package/templates/bod-deck/content-schema.json +171 -0
- package/templates/bod-deck/ds-base.js +23 -0
- package/templates/bod-deck/support.js +1841 -0
- package/templates/bod-investor-update/.thumbnail +0 -0
- package/templates/bod-investor-update/BodInvestorUpdate.dc.html +81 -0
- package/templates/bod-investor-update/content-schema.json +105 -0
- package/templates/bod-investor-update/ds-base.js +23 -0
- package/templates/bod-investor-update/support.js +1841 -0
- package/templates/bod-memo/.thumbnail +0 -0
- package/templates/bod-memo/BodMemo.dc.html +87 -0
- package/templates/bod-memo/ds-base.js +23 -0
- package/templates/bod-memo/support.js +1841 -0
- package/templates/bod-minutes/.thumbnail +0 -0
- package/templates/bod-minutes/BodMinutes.dc.html +84 -0
- package/templates/bod-minutes/ds-base.js +23 -0
- package/templates/bod-minutes/support.js +1841 -0
- package/templates/bod-report/.thumbnail +0 -0
- package/templates/bod-report/BodReport.dc.html +106 -0
- package/templates/bod-report/content-schema.json +29 -0
- package/templates/bod-report/ds-base.js +23 -0
- package/templates/bod-report/support.js +1841 -0
- package/templates/bod-resolution/.thumbnail +0 -0
- package/templates/bod-resolution/BodResolution.dc.html +87 -0
- package/templates/bod-resolution/content-schema.json +123 -0
- package/templates/bod-resolution/ds-base.js +23 -0
- package/templates/bod-resolution/support.js +1841 -0
- package/templates/culture-event-invite/.thumbnail +0 -0
- package/templates/culture-event-invite/CultureEventInvite.dc.html +73 -0
- package/templates/culture-event-invite/ds-base.js +23 -0
- package/templates/culture-event-invite/support.js +1841 -0
- package/templates/dashboard/.thumbnail +0 -0
- package/templates/dashboard/Dashboard.dc.html +120 -0
- package/templates/dashboard/content-schema.json +97 -0
- package/templates/dashboard/ds-base.js +23 -0
- package/templates/dashboard/support.js +1841 -0
- package/templates/delivery-change-note/.thumbnail +0 -0
- package/templates/delivery-change-note/DeliveryChangeNote.dc.html +85 -0
- package/templates/delivery-change-note/content-schema.json +158 -0
- package/templates/delivery-change-note/ds-base.js +23 -0
- package/templates/delivery-change-note/support.js +1841 -0
- package/templates/delivery-kickoff/.thumbnail +0 -0
- package/templates/delivery-kickoff/DeliveryKickoff.dc.html +112 -0
- package/templates/delivery-kickoff/content-schema.json +223 -0
- package/templates/delivery-kickoff/ds-base.js +23 -0
- package/templates/delivery-kickoff/support.js +1841 -0
- package/templates/delivery-qbr-deck/.thumbnail +0 -0
- package/templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html +118 -0
- package/templates/delivery-qbr-deck/content-schema.json +177 -0
- package/templates/delivery-qbr-deck/ds-base.js +23 -0
- package/templates/delivery-qbr-deck/support.js +1841 -0
- package/templates/delivery-runbook/.thumbnail +0 -0
- package/templates/delivery-runbook/DeliveryRunbook.dc.html +91 -0
- package/templates/delivery-runbook/content-schema.json +211 -0
- package/templates/delivery-runbook/ds-base.js +23 -0
- package/templates/delivery-runbook/support.js +1841 -0
- package/templates/delivery-status-email/.thumbnail +0 -0
- package/templates/delivery-status-email/DeliveryStatusEmail.dc.html +78 -0
- package/templates/delivery-status-email/ds-base.js +23 -0
- package/templates/delivery-status-email/support.js +1841 -0
- package/templates/doc-style-guide/.thumbnail +0 -0
- package/templates/doc-style-guide/DocStyleGuide.dc.html +148 -0
- package/templates/doc-style-guide/ds-base.js +23 -0
- package/templates/doc-style-guide/support.js +1841 -0
- package/templates/doc-suite-index/.thumbnail +0 -0
- package/templates/doc-suite-index/DocSuiteIndex.dc.html +201 -0
- package/templates/doc-suite-index/content-schema.json +12 -0
- package/templates/doc-suite-index/ds-base.js +23 -0
- package/templates/doc-suite-index/support.js +1841 -0
- package/templates/doc-templates/.thumbnail +0 -0
- package/templates/doc-templates/DocTemplates.dc.html +118 -0
- package/templates/doc-templates/ds-base.js +23 -0
- package/templates/doc-templates/support.js +1841 -0
- package/templates/email/.thumbnail +0 -0
- package/templates/email/Email-VN-standalone.html +59 -0
- package/templates/email/Email.dc.html +67 -0
- package/templates/email/ds-base.js +23 -0
- package/templates/email/support.js +1841 -0
- package/templates/email-safe/README.md +28 -0
- package/templates/email-safe/email-announcement.html +88 -0
- package/templates/email-safe/email-dunning.html +59 -0
- package/templates/email-safe/email-investor.html +88 -0
- package/templates/email-safe/email-launch.html +88 -0
- package/templates/email-safe/email-newsletter.html +62 -0
- package/templates/email-safe/email-status.html +88 -0
- package/templates/email-safe/email-transactional.html +88 -0
- package/templates/finance-dunning-email/.thumbnail +0 -0
- package/templates/finance-dunning-email/FinanceDunningEmail.dc.html +58 -0
- package/templates/finance-dunning-email/ds-base.js +23 -0
- package/templates/finance-dunning-email/support.js +1841 -0
- package/templates/finance-expense-report/.thumbnail +0 -0
- package/templates/finance-expense-report/FinanceExpenseReport.dc.html +82 -0
- package/templates/finance-expense-report/ds-base.js +23 -0
- package/templates/finance-expense-report/support.js +1841 -0
- package/templates/finance-invoice/.thumbnail +0 -0
- package/templates/finance-invoice/FinanceInvoice.dc.html +92 -0
- package/templates/finance-invoice/ds-base.js +23 -0
- package/templates/finance-invoice/support.js +1841 -0
- package/templates/finance-quote/.thumbnail +0 -0
- package/templates/finance-quote/FinanceQuote.dc.html +86 -0
- package/templates/finance-quote/ds-base.js +23 -0
- package/templates/finance-quote/support.js +1841 -0
- package/templates/hr-announcement/.thumbnail +0 -0
- package/templates/hr-announcement/HrAnnouncement.dc.html +64 -0
- package/templates/hr-announcement/ds-base.js +23 -0
- package/templates/hr-announcement/support.js +1841 -0
- package/templates/hr-interview-kit/.thumbnail +0 -0
- package/templates/hr-interview-kit/HrInterviewKit.dc.html +102 -0
- package/templates/hr-interview-kit/ds-base.js +23 -0
- package/templates/hr-interview-kit/support.js +1841 -0
- package/templates/hr-offboarding/.thumbnail +0 -0
- package/templates/hr-offboarding/HrOffboarding.dc.html +86 -0
- package/templates/hr-offboarding/ds-base.js +23 -0
- package/templates/hr-offboarding/support.js +1841 -0
- package/templates/hr-performance-review/.thumbnail +0 -0
- package/templates/hr-performance-review/HrPerformanceReview.dc.html +95 -0
- package/templates/hr-performance-review/ds-base.js +23 -0
- package/templates/hr-performance-review/support.js +1841 -0
- package/templates/hr-pip/.thumbnail +0 -0
- package/templates/hr-pip/HrPip.dc.html +73 -0
- package/templates/hr-pip/ds-base.js +23 -0
- package/templates/hr-pip/support.js +1841 -0
- package/templates/image-slots-demo.html +57 -0
- package/templates/kitchen-sink.html +127 -0
- package/templates/legal-msa/.thumbnail +0 -0
- package/templates/legal-msa/LegalMsa.dc.html +85 -0
- package/templates/legal-msa/ds-base.js +23 -0
- package/templates/legal-msa/support.js +1841 -0
- package/templates/legal-sow/.thumbnail +0 -0
- package/templates/legal-sow/LegalSow.dc.html +125 -0
- package/templates/legal-sow/ds-base.js +23 -0
- package/templates/legal-sow/support.js +1841 -0
- package/templates/marketing-campaign-brief/.thumbnail +0 -0
- package/templates/marketing-campaign-brief/MarketingCampaignBrief.dc.html +86 -0
- package/templates/marketing-campaign-brief/content-schema.json +139 -0
- package/templates/marketing-campaign-brief/ds-base.js +23 -0
- package/templates/marketing-campaign-brief/support.js +1841 -0
- package/templates/marketing-case-study/.thumbnail +0 -0
- package/templates/marketing-case-study/MarketingCaseStudy.dc.html +82 -0
- package/templates/marketing-case-study/content-schema.json +103 -0
- package/templates/marketing-case-study/ds-base.js +23 -0
- package/templates/marketing-case-study/support.js +1841 -0
- package/templates/marketing-launch/.thumbnail +0 -0
- package/templates/marketing-launch/MarketingLaunch.dc.html +84 -0
- package/templates/marketing-launch/ds-base.js +23 -0
- package/templates/marketing-launch/support.js +1841 -0
- package/templates/marketing-newsletter/.thumbnail +0 -0
- package/templates/marketing-newsletter/MarketingNewsletter.dc.html +109 -0
- package/templates/marketing-newsletter/ds-base.js +23 -0
- package/templates/marketing-newsletter/support.js +1841 -0
- package/templates/marketing-page/.thumbnail +0 -0
- package/templates/marketing-page/MarketingPage.dc.html +132 -0
- package/templates/marketing-page/content-schema.json +33 -0
- package/templates/marketing-page/ds-base.js +23 -0
- package/templates/marketing-page/support.js +1841 -0
- package/templates/marketing-press-release/.thumbnail +0 -0
- package/templates/marketing-press-release/MarketingPressRelease.dc.html +84 -0
- package/templates/marketing-press-release/content-schema.json +116 -0
- package/templates/marketing-press-release/ds-base.js +23 -0
- package/templates/marketing-press-release/support.js +1841 -0
- package/templates/marketing-social-kit/.thumbnail +0 -0
- package/templates/marketing-social-kit/MarketingSocialKit.dc.html +77 -0
- package/templates/marketing-social-kit/content-schema.json +54 -0
- package/templates/marketing-social-kit/ds-base.js +23 -0
- package/templates/marketing-social-kit/support.js +1841 -0
- package/templates/playground.html +79 -0
- package/templates/sales-one-pager/.thumbnail +0 -0
- package/templates/sales-one-pager/SalesOnePager.dc.html +103 -0
- package/templates/sales-one-pager/content-schema.json +73 -0
- package/templates/sales-one-pager/ds-base.js +23 -0
- package/templates/sales-one-pager/support.js +1841 -0
- package/templates/sales-proposal-deck/.thumbnail +0 -0
- package/templates/sales-proposal-deck/SalesProposalDeck.dc.html +159 -0
- package/templates/sales-proposal-deck/content-schema.json +273 -0
- package/templates/sales-proposal-deck/ds-base.js +23 -0
- package/templates/sales-proposal-deck/support.js +1841 -0
- package/templates/schema/content-schema.schema.json +31 -0
- package/templates/settings/.thumbnail +0 -0
- package/templates/settings/Settings.dc.html +86 -0
- package/templates/settings/content-schema.json +131 -0
- package/templates/settings/ds-base.js +23 -0
- package/templates/settings/support.js +1841 -0
- package/templates/slide-deck/.thumbnail +0 -0
- package/templates/slide-deck/SlideDeck.dc.html +86 -0
- package/templates/slide-deck/content-schema.json +23 -0
- package/templates/slide-deck/ds-base.js +23 -0
- package/templates/slide-deck/support.js +1841 -0
- package/templates/team-meeting-agenda/.thumbnail +0 -0
- package/templates/team-meeting-agenda/TeamMeetingAgenda.dc.html +93 -0
- package/templates/team-meeting-agenda/ds-base.js +23 -0
- package/templates/team-meeting-agenda/support.js +1841 -0
- package/templates/tech-incident-report/.thumbnail +0 -0
- package/templates/tech-incident-report/TechIncidentReport.dc.html +111 -0
- package/templates/tech-incident-report/content-schema.json +25 -0
- package/templates/tech-incident-report/ds-base.js +23 -0
- package/templates/tech-incident-report/support.js +1841 -0
- package/templates/tech-release-notes/.thumbnail +0 -0
- package/templates/tech-release-notes/TechReleaseNotes.dc.html +79 -0
- package/templates/tech-release-notes/ds-base.js +23 -0
- package/templates/tech-release-notes/support.js +1841 -0
- package/templates/tech-retro/.thumbnail +0 -0
- package/templates/tech-retro/TechRetro.dc.html +84 -0
- package/templates/tech-retro/ds-base.js +23 -0
- package/templates/tech-retro/support.js +1841 -0
- package/templates/tech-rfc/.thumbnail +0 -0
- package/templates/tech-rfc/TechRfc.dc.html +87 -0
- package/templates/tech-rfc/content-schema.json +115 -0
- package/templates/tech-rfc/ds-base.js +23 -0
- package/templates/tech-rfc/support.js +1841 -0
- package/templates/vn-appointment-transfer/.thumbnail +0 -0
- package/templates/vn-appointment-transfer/VnAppointmentTransfer.dc.html +101 -0
- package/templates/vn-appointment-transfer/ds-base.js +23 -0
- package/templates/vn-appointment-transfer/support.js +1841 -0
- package/templates/vn-certificate-of-employment/.thumbnail +0 -0
- package/templates/vn-certificate-of-employment/VnCertificateOfEmployment.dc.html +84 -0
- package/templates/vn-certificate-of-employment/ds-base.js +23 -0
- package/templates/vn-certificate-of-employment/support.js +1841 -0
- package/templates/vn-code-of-conduct/.thumbnail +0 -0
- package/templates/vn-code-of-conduct/VnCodeOfConduct.dc.html +105 -0
- package/templates/vn-code-of-conduct/ds-base.js +23 -0
- package/templates/vn-code-of-conduct/support.js +1841 -0
- package/templates/vn-compensation-regulation/.thumbnail +0 -0
- package/templates/vn-compensation-regulation/VnCompensationRegulation.dc.html +122 -0
- package/templates/vn-compensation-regulation/ds-base.js +23 -0
- package/templates/vn-compensation-regulation/support.js +1841 -0
- package/templates/vn-contract-amendment/.thumbnail +0 -0
- package/templates/vn-contract-amendment/VnContractAmendment.dc.html +107 -0
- package/templates/vn-contract-amendment/ds-base.js +23 -0
- package/templates/vn-contract-amendment/support.js +1841 -0
- package/templates/vn-contractor-agreement/.thumbnail +0 -0
- package/templates/vn-contractor-agreement/VnContractorAgreement.dc.html +120 -0
- package/templates/vn-contractor-agreement/ds-base.js +23 -0
- package/templates/vn-contractor-agreement/support.js +1841 -0
- package/templates/vn-data-protection-policy/.thumbnail +0 -0
- package/templates/vn-data-protection-policy/VnDataProtectionPolicy.dc.html +116 -0
- package/templates/vn-data-protection-policy/ds-base.js +23 -0
- package/templates/vn-data-protection-policy/support.js +1841 -0
- package/templates/vn-disciplinary-case-file/.thumbnail +0 -0
- package/templates/vn-disciplinary-case-file/VnDisciplinaryCaseFile.dc.html +172 -0
- package/templates/vn-disciplinary-case-file/ds-base.js +23 -0
- package/templates/vn-disciplinary-case-file/support.js +1841 -0
- package/templates/vn-disciplinary-schedule/.thumbnail +0 -0
- package/templates/vn-disciplinary-schedule/VnDisciplinarySchedule.dc.html +91 -0
- package/templates/vn-disciplinary-schedule/ds-base.js +23 -0
- package/templates/vn-disciplinary-schedule/support.js +1841 -0
- package/templates/vn-employee-request/.thumbnail +0 -0
- package/templates/vn-employee-request/VnEmployeeRequest.dc.html +137 -0
- package/templates/vn-employee-request/ds-base.js +23 -0
- package/templates/vn-employee-request/support.js +1841 -0
- package/templates/vn-exit-handover/.thumbnail +0 -0
- package/templates/vn-exit-handover/VnExitHandover.dc.html +228 -0
- package/templates/vn-exit-handover/ds-base.js +23 -0
- package/templates/vn-exit-handover/support.js +1841 -0
- package/templates/vn-foreign-employee-pack/.thumbnail +0 -0
- package/templates/vn-foreign-employee-pack/VnForeignEmployeePack.dc.html +129 -0
- package/templates/vn-foreign-employee-pack/content-schema.json +22 -0
- package/templates/vn-foreign-employee-pack/ds-base.js +23 -0
- package/templates/vn-foreign-employee-pack/support.js +1841 -0
- package/templates/vn-grassroots-democracy/.thumbnail +0 -0
- package/templates/vn-grassroots-democracy/VnGrassrootsDemocracy.dc.html +117 -0
- package/templates/vn-grassroots-democracy/ds-base.js +23 -0
- package/templates/vn-grassroots-democracy/support.js +1841 -0
- package/templates/vn-infosec-policy/.thumbnail +0 -0
- package/templates/vn-infosec-policy/VnInfosecPolicy.dc.html +116 -0
- package/templates/vn-infosec-policy/ds-base.js +23 -0
- package/templates/vn-infosec-policy/support.js +1841 -0
- package/templates/vn-internal-labor-regulations/.thumbnail +0 -0
- package/templates/vn-internal-labor-regulations/VnInternalLaborRegulations.dc.html +155 -0
- package/templates/vn-internal-labor-regulations/ds-base.js +23 -0
- package/templates/vn-internal-labor-regulations/support.js +1841 -0
- package/templates/vn-internship-agreement/.thumbnail +0 -0
- package/templates/vn-internship-agreement/VnInternshipAgreement.dc.html +112 -0
- package/templates/vn-internship-agreement/ds-base.js +23 -0
- package/templates/vn-internship-agreement/support.js +1841 -0
- package/templates/vn-job-description/.thumbnail +0 -0
- package/templates/vn-job-description/VnJobDescription.dc.html +85 -0
- package/templates/vn-job-description/ds-base.js +23 -0
- package/templates/vn-job-description/support.js +1841 -0
- package/templates/vn-labor-contract/.thumbnail +0 -0
- package/templates/vn-labor-contract/VnLaborContract.dc.html +180 -0
- package/templates/vn-labor-contract/ds-base.js +23 -0
- package/templates/vn-labor-contract/support.js +1841 -0
- package/templates/vn-labour-management-book/.thumbnail +0 -0
- package/templates/vn-labour-management-book/VnLabourManagementBook.dc.html +115 -0
- package/templates/vn-labour-management-book/ds-base.js +23 -0
- package/templates/vn-labour-management-book/support.js +1841 -0
- package/templates/vn-mutual-nda/.thumbnail +0 -0
- package/templates/vn-mutual-nda/VnMutualNda.dc.html +114 -0
- package/templates/vn-mutual-nda/ds-base.js +23 -0
- package/templates/vn-mutual-nda/support.js +1841 -0
- package/templates/vn-ndnca-ip/.thumbnail +0 -0
- package/templates/vn-ndnca-ip/VnNdncaIp.dc.html +157 -0
- package/templates/vn-ndnca-ip/ds-base.js +23 -0
- package/templates/vn-ndnca-ip/support.js +1841 -0
- package/templates/vn-offer-letter/.thumbnail +0 -0
- package/templates/vn-offer-letter/VnOfferLetter.dc.html +84 -0
- package/templates/vn-offer-letter/ds-base.js +23 -0
- package/templates/vn-offer-letter/support.js +1841 -0
- package/templates/vn-onboarding-checklist/.thumbnail +0 -0
- package/templates/vn-onboarding-checklist/VnOnboardingChecklist.dc.html +98 -0
- package/templates/vn-onboarding-checklist/content-schema.json +12 -0
- package/templates/vn-onboarding-checklist/ds-base.js +23 -0
- package/templates/vn-onboarding-checklist/support.js +1841 -0
- package/templates/vn-pdpl-consent/.thumbnail +0 -0
- package/templates/vn-pdpl-consent/VnPdplConsent.dc.html +111 -0
- package/templates/vn-pdpl-consent/ds-base.js +23 -0
- package/templates/vn-pdpl-consent/support.js +1841 -0
- package/templates/vn-performance-evaluation-regulation/.thumbnail +0 -0
- package/templates/vn-performance-evaluation-regulation/VnPerformanceEvaluationRegulation.dc.html +135 -0
- package/templates/vn-performance-evaluation-regulation/ds-base.js +23 -0
- package/templates/vn-performance-evaluation-regulation/support.js +1841 -0
- package/templates/vn-performance-review-form/.thumbnail +0 -0
- package/templates/vn-performance-review-form/VnPerformanceReviewForm.dc.html +129 -0
- package/templates/vn-performance-review-form/ds-base.js +23 -0
- package/templates/vn-performance-review-form/support.js +1841 -0
- package/templates/vn-phantom-stock/.thumbnail +0 -0
- package/templates/vn-phantom-stock/VnPhantomStock.dc.html +184 -0
- package/templates/vn-phantom-stock/content-schema.json +17 -0
- package/templates/vn-phantom-stock/ds-base.js +23 -0
- package/templates/vn-phantom-stock/support.js +1841 -0
- package/templates/vn-probation-contract/.thumbnail +0 -0
- package/templates/vn-probation-contract/VnProbationContract.dc.html +126 -0
- package/templates/vn-probation-contract/ds-base.js +23 -0
- package/templates/vn-probation-contract/support.js +1841 -0
- package/templates/vn-receipt-acknowledgement/.thumbnail +0 -0
- package/templates/vn-receipt-acknowledgement/VnReceiptAcknowledgement.dc.html +106 -0
- package/templates/vn-receipt-acknowledgement/ds-base.js +23 -0
- package/templates/vn-receipt-acknowledgement/support.js +1841 -0
- package/templates/vn-remote-work-policy/.thumbnail +0 -0
- package/templates/vn-remote-work-policy/VnRemoteWorkPolicy.dc.html +103 -0
- package/templates/vn-remote-work-policy/ds-base.js +23 -0
- package/templates/vn-remote-work-policy/support.js +1841 -0
- package/templates/vn-resignation-letter/.thumbnail +0 -0
- package/templates/vn-resignation-letter/VnResignationLetter.dc.html +71 -0
- package/templates/vn-resignation-letter/ds-base.js +23 -0
- package/templates/vn-resignation-letter/support.js +1841 -0
- package/templates/vn-salary-scale/.thumbnail +0 -0
- package/templates/vn-salary-scale/VnSalaryScale.dc.html +110 -0
- package/templates/vn-salary-scale/ds-base.js +23 -0
- package/templates/vn-salary-scale/support.js +1841 -0
- package/templates/vn-sow-appendix/.thumbnail +0 -0
- package/templates/vn-sow-appendix/VnSowAppendix.dc.html +70 -0
- package/templates/vn-sow-appendix/ds-base.js +23 -0
- package/templates/vn-sow-appendix/support.js +1841 -0
- package/templates/vn-termination-decision/.thumbnail +0 -0
- package/templates/vn-termination-decision/VnTerminationDecision.dc.html +80 -0
- package/templates/vn-termination-decision/ds-base.js +23 -0
- package/templates/vn-termination-decision/support.js +1841 -0
- package/templates/vn-total-rewards-appendix/.thumbnail +0 -0
- package/templates/vn-total-rewards-appendix/VnTotalRewardsAppendix.dc.html +138 -0
- package/templates/vn-total-rewards-appendix/ds-base.js +23 -0
- package/templates/vn-total-rewards-appendix/support.js +1841 -0
- package/templates/vn-training-commitment/.thumbnail +0 -0
- package/templates/vn-training-commitment/VnTrainingCommitment.dc.html +105 -0
- package/templates/vn-training-commitment/ds-base.js +23 -0
- package/templates/vn-training-commitment/support.js +1841 -0
- package/templates/vn-travel-expense-policy/.thumbnail +0 -0
- package/templates/vn-travel-expense-policy/VnTravelExpensePolicy.dc.html +113 -0
- package/templates/vn-travel-expense-policy/ds-base.js +23 -0
- package/templates/vn-travel-expense-policy/support.js +1841 -0
- package/tokens/colors.css +77 -0
- package/tokens/component-tokens.css +46 -0
- package/tokens/elements.css +300 -0
- package/tokens/elevation.css +46 -0
- package/tokens/fonts.css +51 -0
- package/tokens/motion.css +25 -0
- package/tokens/native/CSTokens.kt +255 -0
- package/tokens/native/CSTokens.swift +257 -0
- package/tokens/native/cs_tokens.dart +253 -0
- package/tokens/provenance.json +52 -0
- package/tokens/spacing.css +34 -0
- package/tokens/tokens.dtcg.json +1222 -0
- package/tokens/tokens.js +436 -0
- package/tokens/tokens.json +434 -0
- package/tokens/typography.css +67 -0
- package/tokens/viewer.html +261 -0
- package/ui_kits/deck/README.md +21 -0
- package/ui_kits/deck/index.html +120 -0
- package/ui_kits/status-hub/README.md +40 -0
- package/ui_kits/status-hub/StatusHub.jsx +270 -0
- package/ui_kits/status-hub/data.js +57 -0
- package/ui_kits/status-hub/identity-lab.html +134 -0
- package/ui_kits/status-hub/index.html +24 -0
- package/ui_kits/status-hub/login.html +65 -0
- package/ui_kits/status-hub/project.html +137 -0
- package/ui_kits/status-hub/settings.html +88 -0
- package/ui_kits/status-hub/status.css +199 -0
- package/ui_kits/website/README.md +36 -0
- package/ui_kits/website/Website.jsx +167 -0
- package/ui_kits/website/careers.html +109 -0
- package/ui_kits/website/chat.html +133 -0
- package/ui_kits/website/copy.js +76 -0
- package/ui_kits/website/index.html +24 -0
- package/ui_kits/website/site.css +121 -0
- package/ui_kits/website/work.html +119 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* CyberSkill — colour tokens.
|
|
2
|
+
* Anchors are IMMUTABLE: Umber #45210E (primary brand), Ochre #F4BA17 (accent).
|
|
3
|
+
* Warm earth palette; every neutral is warmed toward umber, never cold grey.
|
|
4
|
+
* Light is the default theme; dark/system are opt-in via [data-theme]. */
|
|
5
|
+
:root {
|
|
6
|
+
color-scheme: light;
|
|
7
|
+
|
|
8
|
+
/* ---- Anchor brand (immutable) ---- */
|
|
9
|
+
--cs-color-brand-umber: #45210E; /* oklch(0.265 0.073 44.3) */
|
|
10
|
+
--cs-color-brand-ochre: #F4BA17; /* oklch(0.811 0.162 83.7) */
|
|
11
|
+
|
|
12
|
+
/* ---- Surfaces (warm paper → white → raised) ---- */
|
|
13
|
+
--cs-color-surface-page: #FFFDF8; /* default page background */
|
|
14
|
+
--cs-color-surface-panel: #FFFFFF; /* cards, panels */
|
|
15
|
+
--cs-color-surface-raised: #FBF4E9; /* hover / secondary fill */
|
|
16
|
+
|
|
17
|
+
/* ---- Text ---- */
|
|
18
|
+
--cs-color-text-primary: #45210E; /* = Umber */
|
|
19
|
+
--cs-color-text-inverse: #FFFFFF;
|
|
20
|
+
--cs-color-text-accent: #6E3B0E; /* accessible ochre-adjacent link/accent text */
|
|
21
|
+
--cs-color-text-muted: #6E5A4C; /* APCA-safe secondary text on page */
|
|
22
|
+
|
|
23
|
+
/* ---- Semantic foregrounds ---- */
|
|
24
|
+
--cs-color-semantic-success: #166534;
|
|
25
|
+
--cs-color-semantic-danger: #B42318;
|
|
26
|
+
--cs-color-semantic-warning: #92400E;
|
|
27
|
+
--cs-color-semantic-info: #1D4ED8;
|
|
28
|
+
|
|
29
|
+
/* ---- Accent alias + border ---- */
|
|
30
|
+
--cs-color-accent-ochre: #F4BA17; /* focus rings */
|
|
31
|
+
--cs-color-border-default: #E7D9C6; /* warm hairline */
|
|
32
|
+
|
|
33
|
+
/* ---- Link convention (add here so editor-added links inherit brand) ---- */
|
|
34
|
+
--cs-color-link: #6E3B0E;
|
|
35
|
+
--cs-color-link-hover: #45210E;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
a { color: var(--cs-color-link); text-underline-offset: 0.15em; }
|
|
39
|
+
a:hover { color: var(--cs-color-link-hover); }
|
|
40
|
+
|
|
41
|
+
/* ---- Theme layer: warm-dark (hue retained, never cold). Opt-in. ---- */
|
|
42
|
+
[data-theme="dark"] {
|
|
43
|
+
color-scheme: dark;
|
|
44
|
+
--cs-color-surface-page: #1a1108;
|
|
45
|
+
--cs-color-surface-panel: #221710;
|
|
46
|
+
--cs-color-surface-raised: #2b1e14;
|
|
47
|
+
--cs-color-text-primary: #f5ead9;
|
|
48
|
+
--cs-color-text-inverse: #1a1108;
|
|
49
|
+
--cs-color-text-accent: #f4ba17;
|
|
50
|
+
--cs-color-text-muted: #c9b7a3;
|
|
51
|
+
--cs-color-semantic-success: #4ADE80;
|
|
52
|
+
--cs-color-semantic-danger: #F87171;
|
|
53
|
+
--cs-color-semantic-warning: #FBBF24;
|
|
54
|
+
--cs-color-semantic-info: #7CB2FB;
|
|
55
|
+
--cs-color-border-default: #4a3a2c;
|
|
56
|
+
--cs-color-link: #f4ba17;
|
|
57
|
+
--cs-color-link-hover: #f5ead9;
|
|
58
|
+
}
|
|
59
|
+
@media (prefers-color-scheme: dark) {
|
|
60
|
+
[data-theme="system"] {
|
|
61
|
+
color-scheme: dark;
|
|
62
|
+
--cs-color-surface-page: #1a1108;
|
|
63
|
+
--cs-color-surface-panel: #221710;
|
|
64
|
+
--cs-color-surface-raised: #2b1e14;
|
|
65
|
+
--cs-color-text-primary: #f5ead9;
|
|
66
|
+
--cs-color-text-inverse: #1a1108;
|
|
67
|
+
--cs-color-text-accent: #f4ba17;
|
|
68
|
+
--cs-color-text-muted: #c9b7a3;
|
|
69
|
+
--cs-color-semantic-success: #4ADE80;
|
|
70
|
+
--cs-color-semantic-danger: #F87171;
|
|
71
|
+
--cs-color-semantic-warning: #FBBF24;
|
|
72
|
+
--cs-color-semantic-info: #7CB2FB;
|
|
73
|
+
--cs-color-border-default: #4a3a2c;
|
|
74
|
+
--cs-color-link: #f4ba17;
|
|
75
|
+
--cs-color-link-hover: #f5ead9;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* CyberSkill — component-level tokens (Button, TextField). File: component-tokens.css.
|
|
2
|
+
* Exact values from @cyberskill/tokens. Buttons carry a full size ramp with a
|
|
3
|
+
* 44px comfortable default touch target; TextField matches. */
|
|
4
|
+
:root {
|
|
5
|
+
/* Button */
|
|
6
|
+
--cs-component-button-primary-bg: #45210E;
|
|
7
|
+
--cs-component-button-primary-fg: #FFFFFF;
|
|
8
|
+
--cs-component-button-gap: 8px;
|
|
9
|
+
--cs-component-button-radius: 8px;
|
|
10
|
+
--cs-component-button-xs-paddingY: 4px;
|
|
11
|
+
--cs-component-button-xs-paddingX: 10px;
|
|
12
|
+
--cs-component-button-xs-minHeight: 28px;
|
|
13
|
+
--cs-component-button-xs-minWidth: 28px;
|
|
14
|
+
--cs-component-button-xs-minHeight-coarse: 36px;
|
|
15
|
+
--cs-component-button-sm-paddingY: 8px;
|
|
16
|
+
--cs-component-button-sm-paddingX: 14px;
|
|
17
|
+
--cs-component-button-sm-minHeight: 36px;
|
|
18
|
+
--cs-component-button-sm-minHeight-coarse: 40px;
|
|
19
|
+
--cs-component-button-md-paddingY: 12px;
|
|
20
|
+
--cs-component-button-md-paddingX: 20px;
|
|
21
|
+
--cs-component-button-md-minHeight: 44px;
|
|
22
|
+
--cs-component-button-md-minHeight-coarse: 44px;
|
|
23
|
+
--cs-component-button-lg-paddingY: 16px;
|
|
24
|
+
--cs-component-button-lg-paddingX: 28px;
|
|
25
|
+
--cs-component-button-lg-minHeight: 52px;
|
|
26
|
+
|
|
27
|
+
/* TextField */
|
|
28
|
+
--cs-component-textfield-border-default: #BFA58F;
|
|
29
|
+
--cs-component-textfield-paddingY: 10px;
|
|
30
|
+
--cs-component-textfield-paddingX: 12px;
|
|
31
|
+
--cs-component-textfield-minHeight: 44px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Dark theme: CTA becomes Ochre-on-dark; field border warms up. */
|
|
35
|
+
[data-theme="dark"] {
|
|
36
|
+
--cs-component-button-primary-bg: #f4ba17;
|
|
37
|
+
--cs-component-button-primary-fg: #1a1108;
|
|
38
|
+
--cs-component-textfield-border-default: #5a4636;
|
|
39
|
+
}
|
|
40
|
+
@media (prefers-color-scheme: dark) {
|
|
41
|
+
[data-theme="system"] {
|
|
42
|
+
--cs-component-button-primary-bg: #f4ba17;
|
|
43
|
+
--cs-component-button-primary-fg: #1a1108;
|
|
44
|
+
--cs-component-textfield-border-default: #5a4636;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
/* CyberSkill — Ngũ Hành elemental identity (the L1 product layer).
|
|
2
|
+
* Five elements: Kim (metal) · Mộc (wood) · Thủy (water) · Hỏa (fire) · Thổ (earth).
|
|
3
|
+
* The studio itself IS Thổ — Umber + Ochre — so :root defaults to it and every
|
|
4
|
+
* page without an element scope looks exactly as before.
|
|
5
|
+
*
|
|
6
|
+
* Contract — every element/variant sets exactly these 9 role tokens:
|
|
7
|
+
* --cs-accent hue anchor (CTAs, highlights)
|
|
8
|
+
* --cs-accent-strong pressed / deep / accessible accent text on light
|
|
9
|
+
* --cs-accent-bright accent for dark surfaces (headings on ink)
|
|
10
|
+
* --cs-accent-on text on accent / accent-bright
|
|
11
|
+
* --cs-accent-tint light wash surface
|
|
12
|
+
* --cs-accent-ink element-tinted near-black (dark surfaces)
|
|
13
|
+
* --cs-accent-glow aurora / glow rgba
|
|
14
|
+
* --cs-accent-grad-a/b wash gradient endpoints (b follows Tương sinh)
|
|
15
|
+
* Aurora washes ride on the .cs-aurora-wash class (bottom of this file) —
|
|
16
|
+
* relative url() cannot pass through a custom property (it re-resolves
|
|
17
|
+
* against each consuming DOCUMENT, not this stylesheet).
|
|
18
|
+
*
|
|
19
|
+
* Scope with data-cs-element="kim|moc|thuy|hoa|tho" (+ data-cs-variant).
|
|
20
|
+
* TEXT RULE: text sits on -bright or -tint only — never on the mid-tone -accent
|
|
21
|
+
* (-accent is for bars, borders, progress fills, and large non-text fills).
|
|
22
|
+
* Rules: semantic status tokens NEVER remap. --cs-color-accent-ochre (the 3px
|
|
23
|
+
* focus ring) is NEVER remapped — the Ochre ring is a studio-wide
|
|
24
|
+
* accessibility signature. One element per surface; a secondary element may
|
|
25
|
+
* appear only as a gradient endpoint, and only along the generative cycle
|
|
26
|
+
* (Mộc→Hỏa→Thổ→Kim→Thủy→Mộc). Overcoming (Tương khắc) pairs never mix. */
|
|
27
|
+
:root {
|
|
28
|
+
--cs-accent: #F4BA17;
|
|
29
|
+
--cs-accent-strong: #B98200;
|
|
30
|
+
--cs-accent-bright: #F4BA17;
|
|
31
|
+
--cs-accent-on: #45210E;
|
|
32
|
+
--cs-accent-tint: #FBF4E9;
|
|
33
|
+
--cs-accent-ink: #45210E;
|
|
34
|
+
--cs-accent-glow: rgba(244, 186, 23, 0.5);
|
|
35
|
+
--cs-accent-grad-a: #F4BA17;
|
|
36
|
+
--cs-accent-grad-b: #C77B4A;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* ---- Element reach beyond accent (v3 Batch-0 foundation, Jul 2026) ----
|
|
40
|
+
* Owner concern: switching Element barely changed the page because elements only
|
|
41
|
+
* remapped the 9 ACCENT tokens (a small % of pixels). Now every element scope also
|
|
42
|
+
* washes page + panel + raised surfaces + borders with its own accent, so the WHOLE
|
|
43
|
+
* surface reads as the element. Per-theme literal bases keep each elevation tier's
|
|
44
|
+
* hierarchy and contrast intact (tints capped low: text still sits ≥AA on every
|
|
45
|
+
* surface). Pages with NO element attribute are untouched (default Thổ look). */
|
|
46
|
+
[data-cs-element] {
|
|
47
|
+
--cs-color-surface-panel: color-mix(in oklab, var(--cs-accent) 4%, #FFFFFF);
|
|
48
|
+
--cs-color-surface-page: color-mix(in oklab, var(--cs-accent) 8%, #FFFDF8);
|
|
49
|
+
--cs-color-surface-raised: color-mix(in oklab, var(--cs-accent) 15%, #FBF4E9);
|
|
50
|
+
--cs-color-border-default: color-mix(in oklab, var(--cs-accent) 40%, #E7D9C6);
|
|
51
|
+
}
|
|
52
|
+
[data-theme="dark"] [data-cs-element], [data-cs-element][data-theme="dark"] {
|
|
53
|
+
--cs-color-surface-panel: color-mix(in oklab, var(--cs-accent) 10%, #221710);
|
|
54
|
+
--cs-color-surface-page: color-mix(in oklab, var(--cs-accent) 8%, #1a1108);
|
|
55
|
+
--cs-color-surface-raised: color-mix(in oklab, var(--cs-accent) 14%, #2b1e14);
|
|
56
|
+
--cs-color-border-default: color-mix(in oklab, var(--cs-accent) 40%, #4a3a2c);
|
|
57
|
+
}
|
|
58
|
+
@media (prefers-color-scheme: dark) {
|
|
59
|
+
[data-theme="system"] [data-cs-element], [data-cs-element][data-theme="system"] {
|
|
60
|
+
--cs-color-surface-panel: color-mix(in oklab, var(--cs-accent) 10%, #221710);
|
|
61
|
+
--cs-color-surface-page: color-mix(in oklab, var(--cs-accent) 8%, #1a1108);
|
|
62
|
+
--cs-color-surface-raised: color-mix(in oklab, var(--cs-accent) 14%, #2b1e14);
|
|
63
|
+
--cs-color-border-default: color-mix(in oklab, var(--cs-accent) 40%, #4a3a2c);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* ---- Thổ · Earth — the mother brand (explicit; equals the defaults) ---- */
|
|
68
|
+
[data-cs-element="tho"] {
|
|
69
|
+
--cs-accent: #F4BA17; --cs-accent-strong: #B98200; --cs-accent-bright: #F4BA17;
|
|
70
|
+
--cs-accent-on: #45210E; --cs-accent-tint: #FBF4E9; --cs-accent-ink: #45210E;
|
|
71
|
+
--cs-accent-glow: rgba(244, 186, 23, 0.5); --cs-accent-grad-a: #F4BA17; --cs-accent-grad-b: #C77B4A;
|
|
72
|
+
}
|
|
73
|
+
[data-cs-element="tho"][data-cs-variant="clay"] {
|
|
74
|
+
--cs-accent: #C77B4A; --cs-accent-strong: #8F5230; --cs-accent-bright: #EDBF9D;
|
|
75
|
+
--cs-accent-on: #2E1607; --cs-accent-tint: #F8EDE4; --cs-accent-ink: #2E1607;
|
|
76
|
+
--cs-accent-glow: rgba(199, 123, 74, 0.5); --cs-accent-grad-a: #C77B4A; --cs-accent-grad-b: #F4BA17;
|
|
77
|
+
--cs-color-text-accent: #8F5230; --cs-color-link: #8F5230;
|
|
78
|
+
}
|
|
79
|
+
[data-cs-element="tho"][data-cs-variant="sand"] {
|
|
80
|
+
--cs-accent: #E4C98F; --cs-accent-strong: #A98B4E; --cs-accent-bright: #EFDCB2;
|
|
81
|
+
--cs-accent-on: #3A2A10; --cs-accent-tint: #FAF3E3; --cs-accent-ink: #3A2A10;
|
|
82
|
+
--cs-accent-glow: rgba(228, 201, 143, 0.55); --cs-accent-grad-a: #E4C98F; --cs-accent-grad-b: #F4BA17;
|
|
83
|
+
--cs-color-text-accent: #8A6F3C; --cs-color-link: #8A6F3C;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* ---- Hỏa · Fire — energy. Variants: ember (default) · lava · plasma ---- */
|
|
87
|
+
[data-cs-element="hoa"] {
|
|
88
|
+
--cs-accent: #E0632B; --cs-accent-strong: #A93E14; --cs-accent-bright: #F6A26B;
|
|
89
|
+
--cs-accent-on: #231007; --cs-accent-tint: #FBEADF; --cs-accent-ink: #231007;
|
|
90
|
+
--cs-accent-glow: rgba(224, 99, 43, 0.5); --cs-accent-grad-a: #E0632B; --cs-accent-grad-b: #F4BA17;
|
|
91
|
+
--cs-color-text-accent: #A93E14; --cs-color-link: #A93E14;
|
|
92
|
+
}
|
|
93
|
+
[data-cs-element="hoa"][data-cs-variant="lava"] {
|
|
94
|
+
--cs-accent: #C43D1F; --cs-accent-strong: #7E1F0E; --cs-accent-bright: #F6AC85;
|
|
95
|
+
--cs-accent-on: #1D0B05; --cs-accent-tint: #FAE5DC; --cs-accent-ink: #1D0B05;
|
|
96
|
+
--cs-accent-glow: rgba(196, 61, 31, 0.55); --cs-accent-grad-a: #C43D1F; --cs-accent-grad-b: #E0632B;
|
|
97
|
+
--cs-color-text-accent: #9B2D14; --cs-color-link: #9B2D14;
|
|
98
|
+
}
|
|
99
|
+
[data-cs-element="hoa"][data-cs-variant="plasma"] {
|
|
100
|
+
--cs-accent: #E8506E; --cs-accent-strong: #B02348; --cs-accent-bright: #F7A8B8;
|
|
101
|
+
--cs-accent-on: #200812; --cs-accent-tint: #FBE6EB; --cs-accent-ink: #200812;
|
|
102
|
+
--cs-accent-glow: rgba(232, 80, 110, 0.5); --cs-accent-grad-a: #E8506E; --cs-accent-grad-b: #F08A52;
|
|
103
|
+
--cs-color-text-accent: #B02348; --cs-color-link: #B02348;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* ---- Thủy · Water — flow. Variants: river (default) · ocean · mist ---- */
|
|
107
|
+
[data-cs-element="thuy"] {
|
|
108
|
+
--cs-accent: #4E8E9B; --cs-accent-strong: #2F5E6B; --cs-accent-bright: #A6D0DA;
|
|
109
|
+
--cs-accent-on: #0E1D20; --cs-accent-tint: #E6F1F2; --cs-accent-ink: #0E1D20;
|
|
110
|
+
--cs-accent-glow: rgba(78, 142, 155, 0.5); --cs-accent-grad-a: #4E8E9B; --cs-accent-grad-b: #7A9B57;
|
|
111
|
+
--cs-color-text-accent: #2F5E6B; --cs-color-link: #2F5E6B;
|
|
112
|
+
}
|
|
113
|
+
[data-cs-element="thuy"][data-cs-variant="ocean"] {
|
|
114
|
+
--cs-accent: #2E5E7E; --cs-accent-strong: #1C3E56; --cs-accent-bright: #A9CCE0;
|
|
115
|
+
--cs-accent-on: #0B161E; --cs-accent-tint: #E4EEF4; --cs-accent-ink: #0B161E;
|
|
116
|
+
--cs-accent-glow: rgba(46, 94, 126, 0.55); --cs-accent-grad-a: #2E5E7E; --cs-accent-grad-b: #4E8E9B;
|
|
117
|
+
--cs-color-text-accent: #1C3E56; --cs-color-link: #1C3E56;
|
|
118
|
+
}
|
|
119
|
+
[data-cs-element="thuy"][data-cs-variant="mist"] {
|
|
120
|
+
--cs-accent: #A7C4C9; --cs-accent-strong: #5E7F85; --cs-accent-bright: #C4DADD;
|
|
121
|
+
--cs-accent-on: #16262A; --cs-accent-tint: #F0F6F7; --cs-accent-ink: #16262A;
|
|
122
|
+
--cs-accent-glow: rgba(167, 196, 201, 0.55); --cs-accent-grad-a: #A7C4C9; --cs-accent-grad-b: #4E8E9B;
|
|
123
|
+
--cs-color-text-accent: #4A686E; --cs-color-link: #4A686E;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* ---- Mộc · Wood — growth. Variants: leaf (default) · bamboo · forest ---- */
|
|
127
|
+
[data-cs-element="moc"] {
|
|
128
|
+
--cs-accent: #7A9B57; --cs-accent-strong: #4C6B35; --cs-accent-bright: #A9C177;
|
|
129
|
+
--cs-accent-on: #18200F; --cs-accent-tint: #EEF3E2; --cs-accent-ink: #18200F;
|
|
130
|
+
--cs-accent-glow: rgba(122, 155, 87, 0.5); --cs-accent-grad-a: #7A9B57; --cs-accent-grad-b: #E0632B;
|
|
131
|
+
--cs-color-text-accent: #4C6B35; --cs-color-link: #4C6B35;
|
|
132
|
+
}
|
|
133
|
+
[data-cs-element="moc"][data-cs-variant="bamboo"] {
|
|
134
|
+
--cs-accent: #A9C177; --cs-accent-strong: #6B8442; --cs-accent-bright: #C4D69B;
|
|
135
|
+
--cs-accent-on: #1C240F; --cs-accent-tint: #F3F7E8; --cs-accent-ink: #1C240F;
|
|
136
|
+
--cs-accent-glow: rgba(169, 193, 119, 0.55); --cs-accent-grad-a: #A9C177; --cs-accent-grad-b: #7A9B57;
|
|
137
|
+
--cs-color-text-accent: #5B7237; --cs-color-link: #5B7237;
|
|
138
|
+
}
|
|
139
|
+
[data-cs-element="moc"][data-cs-variant="forest"] {
|
|
140
|
+
--cs-accent: #3E5A2E; --cs-accent-strong: #263A1B; --cs-accent-bright: #B3CE9B;
|
|
141
|
+
--cs-accent-on: #101708; --cs-accent-tint: #E9EFE1; --cs-accent-ink: #101708;
|
|
142
|
+
--cs-accent-glow: rgba(62, 90, 46, 0.55); --cs-accent-grad-a: #3E5A2E; --cs-accent-grad-b: #7A9B57;
|
|
143
|
+
--cs-color-text-accent: #31481F; --cs-color-link: #31481F;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* ---- Kim · Metal — precision. Variants: champagne (default) · steel · titanium ---- */
|
|
147
|
+
[data-cs-element="kim"] {
|
|
148
|
+
--cs-accent: #BFB29B; --cs-accent-strong: #7E7160; --cs-accent-bright: #D8CCB6;
|
|
149
|
+
--cs-accent-on: #221C12; --cs-accent-tint: #F3EFE6; --cs-accent-ink: #221C12;
|
|
150
|
+
--cs-accent-glow: rgba(191, 178, 155, 0.5); --cs-accent-grad-a: #BFB29B; --cs-accent-grad-b: #4E8E9B;
|
|
151
|
+
--cs-color-text-accent: #6E6151; --cs-color-link: #6E6151;
|
|
152
|
+
}
|
|
153
|
+
[data-cs-element="kim"][data-cs-variant="steel"] {
|
|
154
|
+
--cs-accent: #9FA3A3; --cs-accent-strong: #63696B; --cs-accent-bright: #C2C6C6;
|
|
155
|
+
--cs-accent-on: #191D1E; --cs-accent-tint: #EFF1F1; --cs-accent-ink: #191D1E;
|
|
156
|
+
--cs-accent-glow: rgba(159, 163, 163, 0.5); --cs-accent-grad-a: #9FA3A3; --cs-accent-grad-b: #BFB29B;
|
|
157
|
+
--cs-color-text-accent: #565C5E; --cs-color-link: #565C5E;
|
|
158
|
+
}
|
|
159
|
+
[data-cs-element="kim"][data-cs-variant="titanium"] {
|
|
160
|
+
--cs-accent: #8A7F72; --cs-accent-strong: #56504A; --cs-accent-bright: #D9CFC0;
|
|
161
|
+
--cs-accent-on: #171310; --cs-accent-tint: #EFEBE5; --cs-accent-ink: #171310;
|
|
162
|
+
--cs-accent-glow: rgba(138, 127, 114, 0.5); --cs-accent-grad-a: #8A7F72; --cs-accent-grad-b: #BFB29B;
|
|
163
|
+
--cs-color-text-accent: #56504A; --cs-color-link: #56504A;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/* ---- Dark theme inside an element scope: the element takes the CTA role
|
|
167
|
+
* (exactly as Ochre does in core dark). Thổ resolves to today's values. ---- */
|
|
168
|
+
[data-theme="dark"] [data-cs-element], [data-cs-element][data-theme="dark"] {
|
|
169
|
+
--cs-component-button-primary-bg: var(--cs-accent-strong);
|
|
170
|
+
--cs-component-button-primary-fg: var(--cs-accent-on);
|
|
171
|
+
--cs-color-text-accent: var(--cs-accent-bright);
|
|
172
|
+
--cs-color-link: var(--cs-accent-bright);
|
|
173
|
+
--cs-color-link-hover: var(--cs-color-text-primary);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/* ---- Aurora washes (class-based: relative url() must live in a normal
|
|
177
|
+
* declaration so it resolves against THIS stylesheet, not the page). Overlay
|
|
178
|
+
* usage: <div class="cs-aurora-wash" style="position:absolute;inset:0;opacity:0.55"></div> ---- */
|
|
179
|
+
.cs-aurora-wash { background-image: url("../assets/aurora-gold.jpg"); background-size: cover; background-position: center; }
|
|
180
|
+
[data-cs-element="hoa"] .cs-aurora-wash { background-image: url("../assets/aurora-hoa.png"); }
|
|
181
|
+
[data-cs-element="thuy"] .cs-aurora-wash { background-image: url("../assets/aurora-thuy.png"); }
|
|
182
|
+
[data-cs-element="moc"] .cs-aurora-wash { background-image: url("../assets/aurora-moc.png"); }
|
|
183
|
+
[data-cs-element="kim"] .cs-aurora-wash { background-image: url("../assets/aurora-kim.png"); }
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
/* ---- APCA-derived DARK elemental packs (v4.0.0, owner-approved Jul 2026) ----
|
|
187
|
+
* Generated by the algorithm in _audit/apca-dark-preview.html (SAPC-4g, oklch lightness-solve):
|
|
188
|
+
* bright ≥ Lc 75 on dark panel · accent ≥ 60 · button ink ≥ 75 on strong (mid-tones re-solved) ·
|
|
189
|
+
* ink ≥ 75 on dark-native tint. The preview page doubles as the regression gate (currentFail must be 0).
|
|
190
|
+
* Note (v5.0.0 contrast triage): accent-ink has zero foreground consumers in the codebase — every real
|
|
191
|
+
* consumer is a `background:var(--cs-accent-ink);color:#fff` banner/CTA-strip, which this override broke
|
|
192
|
+
* (ink flips light here, for a theoretical ink-on-tint text role). Fixed by repointing every banner consumer
|
|
193
|
+
* to `--cs-accent-strong` instead (already APCA-solved as a dark, white-text-safe fill) rather than touching
|
|
194
|
+
* this gate-checked pack. Themeable filled CTAs follow the same rule: `background:var(--cs-accent-strong);
|
|
195
|
+
* color:var(--cs-accent-on)` — never bright+on in dark (cream-on-bright fails WCAG). ---- */
|
|
196
|
+
[data-theme="dark"][data-cs-element="tho"] {
|
|
197
|
+
--cs-accent-bright: #FEC42C;
|
|
198
|
+
--cs-accent-strong: #795507;
|
|
199
|
+
--cs-accent-on: #f5ead9;
|
|
200
|
+
--cs-accent-tint: #2F2203;
|
|
201
|
+
--cs-accent-ink: #FEC849;
|
|
202
|
+
}
|
|
203
|
+
[data-theme="dark"][data-cs-element="tho"][data-cs-variant="clay"] {
|
|
204
|
+
--cs-accent: #F3A372;
|
|
205
|
+
--cs-accent-bright: #F4C5A3;
|
|
206
|
+
--cs-accent-strong: #864927;
|
|
207
|
+
--cs-accent-on: #f5ead9;
|
|
208
|
+
--cs-accent-tint: #371C0B;
|
|
209
|
+
--cs-accent-ink: #F7C8A6;
|
|
210
|
+
}
|
|
211
|
+
[data-theme="dark"][data-cs-element="tho"][data-cs-variant="sand"] {
|
|
212
|
+
--cs-accent-strong: #725615;
|
|
213
|
+
--cs-accent-on: #f5ead9;
|
|
214
|
+
--cs-accent-tint: #2F2203;
|
|
215
|
+
--cs-accent-ink: #EFDCB2;
|
|
216
|
+
}
|
|
217
|
+
[data-theme="dark"][data-cs-element="hoa"] {
|
|
218
|
+
--cs-accent: #FB9E7A;
|
|
219
|
+
--cs-accent-bright: #FEC099;
|
|
220
|
+
--cs-accent-strong: #9F3405;
|
|
221
|
+
--cs-accent-on: #f5ead9;
|
|
222
|
+
--cs-accent-tint: #381B10;
|
|
223
|
+
--cs-accent-ink: #FEC5A1;
|
|
224
|
+
}
|
|
225
|
+
[data-theme="dark"][data-cs-element="hoa"][data-cs-variant="lava"] {
|
|
226
|
+
--cs-accent: #FE9982;
|
|
227
|
+
--cs-accent-bright: #FFBF9E;
|
|
228
|
+
--cs-accent-on: #f5ead9;
|
|
229
|
+
--cs-accent-tint: #391A13;
|
|
230
|
+
--cs-accent-ink: #FFC4A5;
|
|
231
|
+
}
|
|
232
|
+
[data-theme="dark"][data-cs-element="hoa"][data-cs-variant="plasma"] {
|
|
233
|
+
--cs-accent: #FD97A3;
|
|
234
|
+
--cs-accent-bright: #FDBECA;
|
|
235
|
+
--cs-accent-strong: #A91A43;
|
|
236
|
+
--cs-accent-on: #f5ead9;
|
|
237
|
+
--cs-accent-tint: #38191D;
|
|
238
|
+
--cs-accent-ink: #FDC3CE;
|
|
239
|
+
}
|
|
240
|
+
[data-theme="dark"][data-cs-element="thuy"] {
|
|
241
|
+
--cs-accent: #7FC0CE;
|
|
242
|
+
--cs-accent-bright: #ACD7E1;
|
|
243
|
+
--cs-accent-on: #f5ead9;
|
|
244
|
+
--cs-accent-tint: #042930;
|
|
245
|
+
--cs-accent-ink: #AFDAE4;
|
|
246
|
+
}
|
|
247
|
+
[data-theme="dark"][data-cs-element="thuy"][data-cs-variant="ocean"] {
|
|
248
|
+
--cs-accent: #87B9DD;
|
|
249
|
+
--cs-accent-bright: #B2D6EA;
|
|
250
|
+
--cs-accent-on: #f5ead9;
|
|
251
|
+
--cs-accent-tint: #08273A;
|
|
252
|
+
--cs-accent-ink: #B2D6EA;
|
|
253
|
+
}
|
|
254
|
+
[data-theme="dark"][data-cs-element="thuy"][data-cs-variant="mist"] {
|
|
255
|
+
--cs-accent-strong: #3F5F65;
|
|
256
|
+
--cs-accent-on: #f5ead9;
|
|
257
|
+
--cs-accent-tint: #0F282C;
|
|
258
|
+
--cs-accent-ink: #C4DADD;
|
|
259
|
+
}
|
|
260
|
+
[data-theme="dark"][data-cs-element="moc"] {
|
|
261
|
+
--cs-accent: #9BBE78;
|
|
262
|
+
--cs-accent-bright: #BFD88D;
|
|
263
|
+
--cs-accent-strong: #44622D;
|
|
264
|
+
--cs-accent-on: #f5ead9;
|
|
265
|
+
--cs-accent-tint: #1C290D;
|
|
266
|
+
--cs-accent-ink: #C2DB90;
|
|
267
|
+
}
|
|
268
|
+
[data-theme="dark"][data-cs-element="moc"][data-cs-variant="bamboo"] {
|
|
269
|
+
--cs-accent-strong: #4C6421;
|
|
270
|
+
--cs-accent-on: #f5ead9;
|
|
271
|
+
--cs-accent-tint: #1F280A;
|
|
272
|
+
--cs-accent-ink: #C7D99E;
|
|
273
|
+
}
|
|
274
|
+
[data-theme="dark"][data-cs-element="moc"][data-cs-variant="forest"] {
|
|
275
|
+
--cs-accent: #9EBE8D;
|
|
276
|
+
--cs-accent-bright: #BDD8A4;
|
|
277
|
+
--cs-accent-on: #f5ead9;
|
|
278
|
+
--cs-accent-tint: #19290F;
|
|
279
|
+
--cs-accent-ink: #C0DBA7;
|
|
280
|
+
}
|
|
281
|
+
[data-theme="dark"][data-cs-element="kim"] {
|
|
282
|
+
--cs-accent-strong: #675A4A;
|
|
283
|
+
--cs-accent-on: #f5ead9;
|
|
284
|
+
--cs-accent-tint: #2D220F;
|
|
285
|
+
--cs-accent-ink: #DBCFB9;
|
|
286
|
+
}
|
|
287
|
+
[data-theme="dark"][data-cs-element="kim"][data-cs-variant="steel"] {
|
|
288
|
+
--cs-accent: #B2B6B6;
|
|
289
|
+
--cs-accent-bright: #CCD0D0;
|
|
290
|
+
--cs-accent-strong: #555B5D;
|
|
291
|
+
--cs-accent-on: #f5ead9;
|
|
292
|
+
--cs-accent-tint: #222525;
|
|
293
|
+
--cs-accent-ink: #CFD3D3;
|
|
294
|
+
}
|
|
295
|
+
[data-theme="dark"][data-cs-element="kim"][data-cs-variant="titanium"] {
|
|
296
|
+
--cs-accent: #BFB3A5;
|
|
297
|
+
--cs-accent-on: #f5ead9;
|
|
298
|
+
--cs-accent-tint: #2B2217;
|
|
299
|
+
--cs-accent-ink: #D9CFC0;
|
|
300
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* CyberSkill — elevation: depth (z), Liquid Glass material scalars, shadows.
|
|
2
|
+
* Liquid Glass (DESIGN.md Part 21) is the default surface treatment — five
|
|
3
|
+
* materials (Whisper / Light / Standard / Heavy / Solid). Scalars live here;
|
|
4
|
+
* the material composition + classes live in base/glass.css.
|
|
5
|
+
* Shadow values are warm (umber-tinted), taken from the shipped surfaces. */
|
|
6
|
+
:root {
|
|
7
|
+
/* ---- Depth (z-index) ---- */
|
|
8
|
+
--cs-depth-bg: 0; /* @kind other */ /* page background / hero washes */
|
|
9
|
+
--cs-depth-section: 5; /* @kind other */ /* major sections (matte, no glass) */
|
|
10
|
+
--cs-depth-card: 10; /* @kind other */ /* cards/panels (Standard Glass) */
|
|
11
|
+
--cs-depth-nav: 50; /* @kind other */ /* sticky nav (Light Glass) */
|
|
12
|
+
--cs-depth-modal: 100; /* @kind other */ /* modals, command palette (Heavy Glass) */
|
|
13
|
+
--cs-depth-toast: 200; /* @kind other */ /* toasts, popovers, dropdowns (Heavy Glass) */
|
|
14
|
+
|
|
15
|
+
/* ---- Glass material scalars (blur / saturate / surface opacity) ---- */
|
|
16
|
+
--cs-glass-whisper-blur: 8px; --cs-glass-whisper-saturate: 110%; --cs-glass-whisper-opacity: 60%;
|
|
17
|
+
--cs-glass-light-blur: 12px; --cs-glass-light-saturate: 130%; --cs-glass-light-opacity: 70%;
|
|
18
|
+
--cs-glass-standard-blur: 16px; --cs-glass-standard-saturate: 150%; --cs-glass-standard-opacity: 80%;
|
|
19
|
+
--cs-glass-heavy-blur: 24px; --cs-glass-heavy-saturate: 180%; --cs-glass-heavy-opacity: 90%;
|
|
20
|
+
|
|
21
|
+
/* ---- Shadow scale (warm; umber-tinted) ---- */
|
|
22
|
+
--cs-shadow-xs: 0 1px 2px rgba(69, 33, 14, 0.06);
|
|
23
|
+
--cs-shadow-sm: 0 1px 3px rgba(69, 33, 14, 0.04), 0 8px 24px rgba(69, 33, 14, 0.06); /* standard glass card */
|
|
24
|
+
--cs-shadow-md: 0 12px 30px rgba(31, 19, 11, 0.18); /* popover / AI panel */
|
|
25
|
+
--cs-shadow-lg: 0 20px 60px rgba(69, 33, 14, 0.18); /* heavy glass */
|
|
26
|
+
--cs-shadow-xl: 0 24px 80px rgba(31, 19, 11, 0.26); /* dialog */
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* Dark theme: warm-umber shadows vanish on dark surfaces, so switch to deeper
|
|
30
|
+
* near-black shadows that actually read as elevation. Opt-in with the light ones. */
|
|
31
|
+
[data-theme="dark"] {
|
|
32
|
+
--cs-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.40);
|
|
33
|
+
--cs-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.34), 0 8px 24px rgba(0, 0, 0, 0.42);
|
|
34
|
+
--cs-shadow-md: 0 12px 30px rgba(0, 0, 0, 0.50);
|
|
35
|
+
--cs-shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.55);
|
|
36
|
+
--cs-shadow-xl: 0 24px 80px rgba(0, 0, 0, 0.62);
|
|
37
|
+
}
|
|
38
|
+
@media (prefers-color-scheme: dark) {
|
|
39
|
+
[data-theme="system"] {
|
|
40
|
+
--cs-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.40);
|
|
41
|
+
--cs-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.34), 0 8px 24px rgba(0, 0, 0, 0.42);
|
|
42
|
+
--cs-shadow-md: 0 12px 30px rgba(0, 0, 0, 0.50);
|
|
43
|
+
--cs-shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.55);
|
|
44
|
+
--cs-shadow-xl: 0 24px 80px rgba(0, 0, 0, 0.62);
|
|
45
|
+
}
|
|
46
|
+
}
|
package/tokens/fonts.css
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/* CyberSkill — self-hosted webfonts.
|
|
2
|
+
* Be Vietnam Pro (UI/display, 300-800 + italics) and JetBrains Mono (code/data,
|
|
3
|
+
* 400/500/700) are self-hosted from fonts/ as subset-split woff2 (latin,
|
|
4
|
+
* latin-ext, vietnamese). Vietnamese subset coverage is a brand anchor.
|
|
5
|
+
* Files fetched from Google Fonts and committed locally; no CDN dependency. */
|
|
6
|
+
|
|
7
|
+
/* Be Vietnam Pro */
|
|
8
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/bevietnampro-400i-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
9
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/bevietnampro-400i-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
10
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/bevietnampro-400i-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
11
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:italic;font-weight:600;font-display:swap;src:url("../fonts/bevietnampro-600i-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
12
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:italic;font-weight:600;font-display:swap;src:url("../fonts/bevietnampro-600i-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
13
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:italic;font-weight:600;font-display:swap;src:url("../fonts/bevietnampro-600i-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
14
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/bevietnampro-300-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
15
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/bevietnampro-300-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
16
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/bevietnampro-300-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
17
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/bevietnampro-400-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
18
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/bevietnampro-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
19
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/bevietnampro-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
20
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/bevietnampro-500-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
21
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/bevietnampro-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
22
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/bevietnampro-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
23
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/bevietnampro-600-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
24
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/bevietnampro-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
25
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/bevietnampro-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
26
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/bevietnampro-700-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
27
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/bevietnampro-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
28
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/bevietnampro-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
29
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/bevietnampro-800-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
30
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/bevietnampro-800-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
31
|
+
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/bevietnampro-800-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
32
|
+
|
|
33
|
+
/* JetBrains Mono */
|
|
34
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jetbrainsmono-400-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
|
|
35
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jetbrainsmono-400-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
|
|
36
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jetbrainsmono-400-greek.woff2") format("woff2");unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}
|
|
37
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jetbrainsmono-400-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
38
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jetbrainsmono-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
39
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jetbrainsmono-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
40
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jetbrainsmono-500-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
|
|
41
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jetbrainsmono-500-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
|
|
42
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jetbrainsmono-500-greek.woff2") format("woff2");unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}
|
|
43
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jetbrainsmono-500-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
44
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jetbrainsmono-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
45
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jetbrainsmono-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
46
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrainsmono-700-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
|
|
47
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrainsmono-700-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
|
|
48
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrainsmono-700-greek.woff2") format("woff2");unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}
|
|
49
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrainsmono-700-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
50
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrainsmono-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
51
|
+
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrainsmono-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/* CyberSkill — motion tokens (convention).
|
|
2
|
+
* The system favours calm, purposeful motion and always honours
|
|
3
|
+
* prefers-reduced-motion. Durations are short; easing is a soft
|
|
4
|
+
* decelerate. These are conventions layered on the doctrine, not raw
|
|
5
|
+
* source tokens — keep motion subtle (fades, small translate/scale). */
|
|
6
|
+
:root {
|
|
7
|
+
--cs-duration-instant: 80ms; /* @kind other */
|
|
8
|
+
--cs-duration-fast: 120ms; /* @kind other */
|
|
9
|
+
--cs-duration-base: 200ms; /* @kind other */
|
|
10
|
+
--cs-duration-slow: 320ms; /* @kind other */
|
|
11
|
+
|
|
12
|
+
--cs-ease-standard: cubic-bezier(0.2, 0, 0, 1); /* @kind other */ /* decelerate — most transitions */
|
|
13
|
+
--cs-ease-entrance: cubic-bezier(0, 0, 0, 1); /* @kind other */ /* enter */
|
|
14
|
+
--cs-ease-exit: cubic-bezier(0.4, 0, 1, 1); /* @kind other */ /* exit */
|
|
15
|
+
--cs-ease-emphasized: cubic-bezier(0.2, 0, 0, 1); /* @kind other */
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@media (prefers-reduced-motion: reduce) {
|
|
19
|
+
:root {
|
|
20
|
+
--cs-duration-instant: 0ms; /* @kind other */
|
|
21
|
+
--cs-duration-fast: 0ms; /* @kind other */
|
|
22
|
+
--cs-duration-base: 0ms; /* @kind other */
|
|
23
|
+
--cs-duration-slow: 0ms; /* @kind other */
|
|
24
|
+
}
|
|
25
|
+
}
|