@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
|
Binary file
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<meta name="omelette-owns-print" content="1">
|
|
7
|
+
<script src="./support.js"></script>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<x-dc>
|
|
11
|
+
<!-- @template name="HR Suite · Thỏa thuận Cổ phần ảo — Phantom Stock Agreement" description="Lawyer-validated CyberSkill phantom stock master agreement (independent civil transaction, Civil Code & Enterprise Law) — 12 articles, cash-settled SP, vesting, put option, VIAC arbitration, Schedule A grant notice. A4, VN·EN, print-ready. Content verbatim." -->
|
|
12
|
+
<helmet>
|
|
13
|
+
<script src="./ds-base.js"></script>
|
|
14
|
+
<style>@page{size:A4;margin:23mm 20mm 20mm 20mm}@media print{html,body{background:#fff!important}.cs-desk{background:#fff!important;padding:0!important;min-height:0!important}.cs-sheet{box-shadow:none!important;border:none!important;max-width:none!important;border-radius:0!important;padding:0!important}.cs-avoid{break-inside:avoid}}</style>
|
|
15
|
+
</helmet>
|
|
16
|
+
<div lang="vi" data-cs-element="{{ elAttr }}" data-cs-variant="{{ vaAttr }}" class="cs-desk" style="background:#efe6d8;min-height:100vh;padding:40px 16px;font-family:var(--cs-font-family-ui);color:#1A1614">
|
|
17
|
+
<div class="cs-sheet" style="max-width:794px;margin:0 auto;background:#fff;border:1px solid var(--cs-color-border-default);border-radius:12px;box-shadow:var(--cs-shadow-md);padding:56px 60px;text-align:left">
|
|
18
|
+
<div style="display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--cs-color-text-muted);padding-bottom:6px;border-bottom:1px solid var(--cs-color-border-default);margin-bottom:14px">
|
|
19
|
+
<x-import component-from-global-scope="CyberSkillDS.Logo" size="18" hint-size="18px,18px"></x-import>
|
|
20
|
+
<b style="color:var(--cs-color-brand-umber)">CyberSkill</b><span>· Thỏa thuận Cổ phần ảo</span><span style="margin-left:auto;font-family:var(--cs-font-family-mono)">Số/No. 02/2026/TTCPA-CYBERSKILL</span>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="cs-avoid" style="display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-bottom:18px">
|
|
23
|
+
<div><div style="font-weight:800;font-size:11.5px;line-height:1.45">CÔNG TY CỔ PHẦN TƯ VẤN VÀ PHÁT TRIỂN GIẢI PHÁP PHẦN MỀM CYBERSKILL</div><div style="font-size:10px;color:#3F4C55;font-style:italic;line-height:1.45;margin-top:2px">CYBERSKILL SOFTWARE SOLUTIONS CONSULTANCY AND DEVELOPMENT JOINT STOCK COMPANY</div></div>
|
|
24
|
+
<div style="text-align:center"><div style="font-weight:800;font-size:11.5px;line-height:1.5">CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM</div><div style="font-weight:700;font-size:11px">Độc lập - Tự do - Hạnh phúc</div><div style="letter-spacing:0.1em;font-size:10px;margin:1px 0">———————————</div><div style="font-size:9.5px;color:#3F4C55;font-style:italic;line-height:1.4">THE SOCIALIST REPUBLIC OF VIETNAM · Independence - Freedom - Happiness</div></div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="cs-avoid" style="text-align:center;margin-bottom:14px">
|
|
27
|
+
<h1 style="font-size:24px;font-weight:800;color:var(--cs-color-brand-umber);letter-spacing:-0.01em;margin:0 0 3px;line-height:1.25">THỎA THUẬN CỔ PHẦN ẢO</h1>
|
|
28
|
+
<div style="font-size:13.5px;color:#3F4C55;font-style:italic">Phantom Stock Agreement</div>
|
|
29
|
+
<div style="font-size:11.5px;margin-top:3px">(Thỏa thuận khung · <span style="color:#3F4C55;font-style:italic">Master Agreement</span>)</div>
|
|
30
|
+
<div style="font-size:11.5px;margin-top:2px">Hiện Thực Hoá Ý Chí · <span style="color:#3F4C55;font-style:italic">Turn Your Will Into Real</span></div>
|
|
31
|
+
<div style="color:var(--cs-accent);font-size:13px;letter-spacing:0.5em;margin-top:8px">◆ ◆ ◆</div>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<div class="cs-avoid" style="margin-bottom:12px">
|
|
35
|
+
<div style="font-weight:800;font-size:12px;color:var(--cs-color-brand-umber);margin-bottom:4px">CĂN CỨ <span style="font-weight:400;color:#3F4C55;font-style:italic">WHEREAS</span></div>
|
|
36
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">- Căn cứ Bộ luật Dân sự số 91/2015/QH13 và nguyên tắc tự do, tự nguyện cam kết, thỏa thuận;</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 3px">- Pursuant to the Civil Code No. 91/2015/QH13 and the principle of freedom and voluntariness of commitment and agreement;</p>
|
|
37
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">- Căn cứ Luật Doanh nghiệp số 59/2020/QH14 và Luật Trọng tài Thương mại số 54/2010/QH12;</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 3px">- Pursuant to the Law on Enterprises No. 59/2020/QH14 and the Law on Commercial Arbitration No. 54/2010/QH12;</p>
|
|
38
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">- Căn cứ Nghị quyết Hội đồng Quản trị số <span style="background:#FDE68A;padding:0 3px">[__]</span>/NQ-HĐQT ngày <span style="background:#FDE68A;padding:0 3px">[__]</span> của Công ty về việc phê duyệt Chương trình Cổ phần ảo và mẫu Thỏa thuận khung này;</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 3px">- Pursuant to Board of Directors Resolution No. <span style="background:#FDE68A;padding:0 3px">[__]</span>/NQ-HĐQT dated <span style="background:#FDE68A;padding:0 3px">[__]</span> of the Company approving the Phantom Stock Program and this Master Agreement template;</p>
|
|
39
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">- Xét rằng Thỏa thuận này là một giao dịch dân sự độc lập, được xác lập tách biệt và không phải là một bộ phận của bất kỳ hợp đồng lao động nào giữa hai Bên; quyền và nghĩa vụ tại đây phát sinh từ quan hệ hợp đồng dân sự, không phát sinh từ quan hệ lao động;</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 3px">- Whereas this Agreement is an independent civil transaction, established separately from, and not forming part of, any labor contract between the Parties, the rights and obligations herein arise from a civil contractual relationship, not from the employment relationship;</p>
|
|
40
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">- Xét rằng Cổ phần ảo theo Thỏa thuận này là quyền tài sản theo hợp đồng được thanh toán bằng tiền, không phải là cổ phần hay chứng khoán; không có bất kỳ đợt phát hành hay chào bán chứng khoán nào theo Luật Chứng khoán số 54/2019/QH14 phát sinh từ Thỏa thuận này;</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 3px">- Whereas Phantom Stock under this Agreement is a cash-settled contractual property right, not a share or a security; no issuance or offering of securities under the Securities Law No. 54/2019/QH14 arises from this Agreement;</p>
|
|
41
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">- Xét rằng Thỏa thuận này cụ thể hóa cơ chế được tóm tắt tại Điều 5 Phụ lục Đãi ngộ Toàn diện & Lộ trình Phát triển số 01/2026/PLĐN-CYBERSKILL;</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 6px">- Whereas this Agreement gives full effect to the mechanism summarized in Article 5 of the Total Rewards & Career Path Appendix No. 01/2026/PLĐN-CYBERSKILL;</p>
|
|
42
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">Hai Bên được xác định tại Thông báo Cấp phát (mẫu kèm theo) thống nhất ký kết Thỏa thuận Cổ phần ảo này (“Thỏa thuận”) với các điều khoản sau:</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0">The two Parties identified in the Grant Notice (form attached) agree to enter into this Phantom Stock Agreement (the “Agreement”) on the following terms:</p>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div style="display:grid;gap:12px">
|
|
46
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px;padding-bottom:3px;border-bottom:1px solid var(--cs-color-border-default)">Điều 1. Định nghĩa <span style="font-weight:400;font-size:11px;color:#3F4C55;font-style:italic">Article 1. Definitions</span></h2>
|
|
47
|
+
<sc-for list="{{ defs }}" as="d" hint-placeholder-count="9">
|
|
48
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px"><b>{{ d.term }}</b> {{ d.vi }}</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 4px">{{ d.en }}</p>
|
|
49
|
+
</sc-for></div>
|
|
50
|
+
|
|
51
|
+
<sc-for list="{{ articles }}" as="a" hint-placeholder-count="11">
|
|
52
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px;padding-bottom:3px;border-bottom:1px solid var(--cs-color-border-default)">{{ a.vi }} <span style="font-weight:400;font-size:11px;color:#3F4C55;font-style:italic">{{ a.en }}</span></h2>
|
|
53
|
+
<sc-for list="{{ a.paras }}" as="p" hint-placeholder-count="4">
|
|
54
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">{{ p.vi }}</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 4px">{{ p.en }}</p>
|
|
55
|
+
</sc-for></div>
|
|
56
|
+
</sc-for>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div class="cs-avoid" style="margin-top:18px">
|
|
60
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">Thành phố Hồ Chí Minh, ngày <span style="background:#FDE68A;padding:0 3px">[__]</span> tháng <span style="background:#FDE68A;padding:0 3px">[__]</span> năm 2026</p>
|
|
61
|
+
<p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 12px">Ho Chi Minh City, <span style="background:#FDE68A;padding:0 3px">[date]</span> 2026</p>
|
|
62
|
+
<div style="display:grid;grid-template-columns:1fr 1fr;gap:44px">
|
|
63
|
+
<div style="text-align:center"><div style="font-weight:700;font-size:12.5px">THÀNH VIÊN</div><div style="font-size:11px;color:#3F4C55;font-style:italic">The Member</div><div style="font-size:11px;margin-top:3px;line-height:1.4">Tôi xác nhận đã đọc, hiểu rõ, tự nguyện đồng ý và chịu sự ràng buộc bởi toàn bộ các điều khoản của Thỏa thuận này.</div><div style="font-size:10px;color:#3F4C55;font-style:italic;line-height:1.4">I confirm that I have read, fully understood, voluntarily agreed to, and am bound by all terms of this Agreement.</div><div style="font-size:10.5px;margin-top:3px">Ký, ghi rõ họ tên / <i style="color:#3F4C55">Sign and state full name</i></div><div style="height:52px"></div><div style="border-top:1px solid #1A1614;width:75%;margin:0 auto"></div><div style="font-size:11px;color:var(--cs-color-text-muted);margin-top:3px"><span style="background:#FDE68A;padding:0 3px">[Họ và tên / Full name]</span></div></div>
|
|
64
|
+
<div style="text-align:center"><div style="font-weight:700;font-size:12.5px">CÔNG TY</div><div style="font-size:11px;color:#3F4C55;font-style:italic">The Company</div><div style="font-size:11px;margin-top:3px;line-height:1.4">Người đại diện có thẩm quyền ký theo Nghị quyết HĐQT dẫn chiếu tại Thông báo Cấp phát.</div><div style="font-size:10px;color:#3F4C55;font-style:italic;line-height:1.4">Authorized representative signing per the Board Resolution referenced in the Grant Notice.</div><div style="font-size:10.5px;margin-top:3px">Ký, ghi rõ họ tên và đóng dấu / <i style="color:#3F4C55">Sign, state your full name, and stamp</i></div><div style="height:52px"></div><div style="border-top:1px solid #1A1614;width:75%;margin:0 auto"></div><div style="font-size:11px;color:var(--cs-color-text-muted);margin-top:3px"><span style="background:#FDE68A;padding:0 3px">[Họ và tên / Full name]</span></div></div>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<div class="cs-avoid" style="margin-top:24px;border-top:2px solid var(--cs-color-brand-umber);padding-top:12px">
|
|
69
|
+
<h2 style="font-size:14px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 2px">PHỤ LỤC A - THÔNG BÁO CẤP PHÁT CỔ PHẦN ẢO</h2>
|
|
70
|
+
<div style="font-size:12px;color:#3F4C55;font-style:italic;margin-bottom:2px">Schedule A - Phantom Stock Grant Notice</div>
|
|
71
|
+
<div style="font-size:12px;margin-bottom:2px">Số / No.: 02.<span style="background:#FDE68A;padding:0 3px">[__]</span>/2026/TBCP-CYBERSKILL</div>
|
|
72
|
+
<div style="font-size:12px;margin-bottom:8px">Phiên bản / Version 1.0 · Hiệu lực từ / Effective from: <span style="background:#FDE68A;padding:0 3px">......</span> / <span style="background:#FDE68A;padding:0 3px">......</span> / <span style="background:#FDE68A;padding:0 3px">......</span></div>
|
|
73
|
+
<p style="font-size:12.5px;line-height:1.5;margin:0 0 1px">Thông báo Cấp phát này được lập theo và là bộ phận không tách rời của Thỏa thuận Cổ phần ảo khung số 02/2026/TTCPA-CYBERSKILL (“Thỏa thuận khung”). Thành viên xác nhận đã nhận, đọc và đồng ý chịu sự ràng buộc của Thỏa thuận khung.</p><p style="font-size:11.5px;line-height:1.4;color:#3F4C55;font-style:italic;margin:0 0 8px">This Grant Notice is made under, and forms an integral part of, Master Phantom Stock Agreement No. 02/2026/TTCPA-CYBERSKILL (the “Master Agreement”). The Member confirms receipt of, and agreement to be bound by, the Master Agreement.</p>
|
|
74
|
+
<table style="width:100%;border-collapse:collapse;font-size:12px">
|
|
75
|
+
<thead><tr style="background:var(--cs-color-brand-umber);color:#fff"><th colspan="2" style="text-align:left;padding:5px 9px;font-size:10.5px">THÔNG TIN CẤP PHÁT <i style="font-weight:400">Grant details</i></th></tr></thead>
|
|
76
|
+
<tbody>
|
|
77
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 9px;width:230px;vertical-align:top">Thành viên<div style="color:#3F4C55;font-style:italic;font-size:10.5px">Member (full name)</div></td><td style="padding:5px 9px"><span style="background:#FDE68A;padding:0 3px">[Họ và tên]</span></td></tr>
|
|
78
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 9px;vertical-align:top">Số CCCD<div style="color:#3F4C55;font-style:italic;font-size:10.5px">ID card no.</div></td><td style="padding:5px 9px"><span style="background:#FDE68A;padding:0 3px">[Số CCCD]</span></td></tr>
|
|
79
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 9px;vertical-align:top">Địa chỉ / Email nhận thông báo<div style="color:#3F4C55;font-style:italic;font-size:10.5px">Notice address/email</div></td><td style="padding:5px 9px"><span style="background:#FDE68A;padding:0 3px">[Địa chỉ]</span> / <span style="background:#FDE68A;padding:0 3px">[Email]</span></td></tr>
|
|
80
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 9px;vertical-align:top">Số lượng SP được cấp<div style="color:#3F4C55;font-style:italic;font-size:10.5px">Number of SP granted</div></td><td style="padding:5px 9px"><span style="background:#FDE68A;padding:0 3px">[Số lượng]</span> SP</td></tr>
|
|
81
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 9px;vertical-align:top">Ngày cấp<div style="color:#3F4C55;font-style:italic;font-size:10.5px">Grant date</div></td><td style="padding:5px 9px"><span style="background:#FDE68A;padding:0 3px">[Ngày/tháng/năm]</span></td></tr>
|
|
82
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 9px;vertical-align:top">Ngày bắt đầu tính mở khóa<div style="color:#3F4C55;font-style:italic;font-size:10.5px">Vesting commencement date</div></td><td style="padding:5px 9px"><span style="background:#FDE68A;padding:0 3px">[Ngày/tháng/năm]</span></td></tr>
|
|
83
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 9px;vertical-align:top">Lộ trình mở khóa<div style="color:#3F4C55;font-style:italic;font-size:10.5px">Vesting schedule</div></td><td style="padding:5px 9px">25%/năm trong 4 năm; thời gian chờ 12 tháng cho đợt đầu (Điều 4 Thỏa thuận khung)<div style="color:#3F4C55;font-style:italic;font-size:10.5px">25%/year over 4 years; 12-month cliff for the first tranche (Article 4, Master Agreement)</div></td></tr>
|
|
84
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 9px;vertical-align:top">Nghị quyết HĐQT chấp thuận<div style="color:#3F4C55;font-style:italic;font-size:10.5px">Approving Board Resolution</div></td><td style="padding:5px 9px">Số <span style="background:#FDE68A;padding:0 3px">[__]</span>/NQ-HĐQT ngày <span style="background:#FDE68A;padding:0 3px">[__]</span> (thành viên có lợi ích liên quan không biểu quyết / <i style="color:#3F4C55">interested member abstaining</i>)</td></tr>
|
|
85
|
+
<tr><td style="padding:5px 9px;vertical-align:top">Người ký bên Công ty<div style="color:#3F4C55;font-style:italic;font-size:10.5px">Company signatory</div></td><td style="padding:5px 9px"><span style="background:#FDE68A;padding:0 3px">[Họ tên, chức danh; theo ủy quyền tại Nghị quyết nêu trên nếu Thành viên là người đại diện theo pháp luật]</span></td></tr>
|
|
86
|
+
</tbody>
|
|
87
|
+
</table>
|
|
88
|
+
<div style="display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:16px">
|
|
89
|
+
<div style="text-align:center"><div style="font-weight:700;font-size:12px">THÀNH VIÊN</div><div style="font-size:10.5px;color:#3F4C55;font-style:italic">The Member</div><div style="font-size:10.5px;margin-top:2px;line-height:1.4">Tôi xác nhận các thông tin trên và đồng ý chịu sự ràng buộc của Thỏa thuận khung.</div><div style="font-size:10px;color:#3F4C55;font-style:italic;line-height:1.4">I confirm the details above and agree to be bound by the Master Agreement.</div><div style="height:48px"></div><div style="border-top:1px solid #1A1614;width:75%;margin:0 auto"></div></div>
|
|
90
|
+
<div style="text-align:center"><div style="font-weight:700;font-size:12px">CÔNG TY</div><div style="font-size:10.5px;color:#3F4C55;font-style:italic">The Company</div><div style="font-size:10.5px;margin-top:2px;line-height:1.4">Người đại diện có thẩm quyền theo Nghị quyết HĐQT nêu trên.</div><div style="font-size:10px;color:#3F4C55;font-style:italic;line-height:1.4">Authorized representative per the Board Resolution above.</div><div style="height:48px"></div><div style="border-top:1px solid #1A1614;width:75%;margin:0 auto"></div></div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
|
|
94
|
+
<div style="border-top:1px solid var(--cs-color-border-default);padding-top:8px;margin-top:20px;display:flex;gap:10px;font-size:10.5px;color:var(--cs-color-text-muted);flex-wrap:wrap">Hiện Thực Hoá Ý Chí · <i style="color:#3F4C55">Turn Your Will Into Real</i><span>·</span>MST: 0316475200<span>·</span>info@cyberskill.world<span>·</span>(+84) 906 878 091</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</x-dc>
|
|
98
|
+
<script type="text/x-dc" data-dc-script data-props="{
|
|
99
|
+
"element": {"editor":"enum","options":["Thổ · studio","Thổ · clay","Thổ · sand","Hỏa · ember","Hỏa · lava","Hỏa · plasma","Thủy · river","Thủy · ocean","Thủy · mist","Mộc · leaf","Mộc · bamboo","Mộc · forest","Kim · champagne","Kim · steel","Kim · titanium"],"default":"Thổ · studio","tsType":"string","section":"Element (Ngũ Hành)"}
|
|
100
|
+
}">
|
|
101
|
+
class Component extends DCLogic {
|
|
102
|
+
renderVals() {
|
|
103
|
+
const EL = {"Thổ · studio":["tho",""],"Thổ · clay":["tho","clay"],"Thổ · sand":["tho","sand"],"Hỏa · ember":["hoa",""],"Hỏa · lava":["hoa","lava"],"Hỏa · plasma":["hoa","plasma"],"Thủy · river":["thuy",""],"Thủy · ocean":["thuy","ocean"],"Thủy · mist":["thuy","mist"],"Mộc · leaf":["moc",""],"Mộc · bamboo":["moc","bamboo"],"Mộc · forest":["moc","forest"],"Kim · champagne":["kim",""],"Kim · steel":["kim","steel"],"Kim · titanium":["kim","titanium"]};
|
|
104
|
+
const [elAttr, vaAttr] = EL[this.props.element] || EL["Thổ · studio"];
|
|
105
|
+
const defs = [
|
|
106
|
+
{ term:"Cổ phần ảo (SP) / Phantom Stock (SP):", vi:"quyền tài sản theo hợp đồng do Công ty cấp cho Thành viên, cho phép Thành viên nhận thanh toán bằng tiền theo công thức định giá tại Điều 3, không phải là cổ phần và không mang bất kỳ quyền cổ đông nào.", en:"A contractual property right granted by the Company to the Member, entitling the Member to cash payments under the valuation formula in Article 3; SP is not a share and carries no shareholder rights." },
|
|
107
|
+
{ term:"Thông báo Cấp phát / Grant Notice:", vi:"văn bản theo mẫu tại Phụ lục A, xác định danh tính Thành viên, số lượng SP, ngày cấp, ngày bắt đầu tính mở khóa và số Nghị quyết HĐQT phê duyệt lần cấp đó.", en:"The instrument in the form of Schedule A identifies the Member, the number of SP, the grant date, the vesting commencement date, and the Board Resolution number approving that grant." },
|
|
108
|
+
{ term:"Mở khóa (Vesting):", vi:"việc SP trở thành SP đã mở khóa theo lộ trình và điều kiện tại Điều 4; SP chưa đạt điều kiện là SP chưa mở khóa.", en:"The process by which SP becomes Vested SP under the schedule and conditions in Article 4; SP not yet satisfying those conditions is Unvested SP." },
|
|
109
|
+
{ term:"CFO:", vi:"dòng tiền thuần từ hoạt động kinh doanh của Công ty theo báo cáo tài chính năm đã được kiểm toán (hoặc, khi chưa có kiểm toán, báo cáo tài chính năm đã được HĐQT phê duyệt).", en:"The Company's net cash flow from operating activities per the audited annual financial statements (or, where unaudited, the annual financial statements approved by the Board)." },
|
|
110
|
+
{ term:"Hệ số Định giá Ngành / Industry Multiplier:", vi:"hệ số do HĐQT công bố bằng văn bản trong 90 ngày đầu mỗi năm tài chính, áp dụng thống nhất cho mọi Thành viên trong năm đó.", en:"The multiplier is announced in writing by the Board within the first 90 days of each fiscal year and is applied uniformly to all Members for that year." },
|
|
111
|
+
{ term:"Ngày định giá / Valuation Date:", vi:"ngày kết thúc năm tài chính gần nhất trước sự kiện thanh toán liên quan.", en:"The last day of the most recent fiscal year preceding the relevant payment event." },
|
|
112
|
+
{ term:"Sự kiện Thay đổi Kiểm soát / Change of Control:", vi:"bất kỳ giao dịch hoặc chuỗi giao dịch nào dẫn đến: (i) chuyển nhượng trên 51% tổng số cổ phần có quyền biểu quyết của Công ty, trực tiếp hoặc gián tiếp thông qua thay đổi kiểm soát của tổ chức nắm giữ; (ii) sáp nhập, hợp nhất mà cổ đông hiện hữu không còn nắm đa số quyền biểu quyết của pháp nhân sau giao dịch; hoặc (iii) bán, chuyển nhượng từ 75% tổng giá trị tài sản của Công ty trở lên.", en:"any transaction or series of transactions resulting in: (i) a transfer of more than 51% of the Company's total voting shares, directly or indirectly through a change of control of a holding entity; (ii) a merger or consolidation after which existing shareholders no longer hold a majority of the voting power of the surviving entity; or (iii) a sale or transfer of 75% or more of the total value of the Company's assets." },
|
|
113
|
+
{ term:"Người nghỉ việc hợp lệ / Good Leaver:", vi:"Thành viên chấm dứt hợp đồng lao động đúng pháp luật (bao gồm tuân thủ thời gian báo trước), hoặc chấm dứt do qua đời, mất khả năng lao động vĩnh viễn, nghỉ hưu theo luật định, hoặc do Công ty cắt giảm nhân sự vì thay đổi cơ cấu, công nghệ hoặc lý do kinh tế.", en:"a Member whose labor contract terminates lawfully (including compliance with the notice period), or by reason of death, permanent incapacity, statutory retirement, or redundancy due to restructuring, technology change, or economic reasons on the Company's side." },
|
|
114
|
+
{ term:"Người nghỉ việc vi phạm / Bad Leaver:", vi:"Thành viên đơn phương chấm dứt hợp đồng lao động trái pháp luật hoặc bị sa thải do vi phạm kỷ luật nghiêm trọng theo Điều 125 Bộ luật Lao động.", en:"A Member who unlawfully terminates the labor contract unilaterally, or is dismissed for a severe disciplinary violation under Article 125 of the Labor Code." },
|
|
115
|
+
{ term:"Lãi suất Tham chiếu ACB / ACB Reference Rate:", vi:"lãi suất tiền gửi tiết kiệm VNĐ kỳ hạn 12 tháng, trả lãi cuối kỳ, do Ngân hàng TMCP Á Châu (ACB) công bố tại thời điểm áp dụng.", en:"The 12-month term VND savings deposit rate, interest paid at maturity, was published by Asia Commercial Joint Stock Bank (ACB) at the time of application." },
|
|
116
|
+
];
|
|
117
|
+
const P = (vi, en) => ({ vi, en });
|
|
118
|
+
const articles = [
|
|
119
|
+
{ vi:"Điều 2. Bản chất pháp lý của Cổ phần ảo", en:"Article 2. Legal Nature of Phantom Stock", paras:[
|
|
120
|
+
P("a) SP là quyền tài sản theo hợp đồng được thanh toán bằng tiền. SP không phải là cổ phần, cổ phiếu hay chứng khoán dưới bất kỳ hình thức nào; không tạo ra quyền biểu quyết, quyền nhận cổ tức, quyền ưu tiên mua, quyền tiếp cận sổ sách hay bất kỳ quyền cổ đông nào theo Luật Doanh nghiệp; không được ghi nhận vào sổ đăng ký cổ đông; và không làm thay đổi vốn điều lệ của Công ty.","a) SP is a cash-settled contractual property right. SP is not a share, stock, or security in any form; it creates no voting rights, dividend rights, pre-emptive rights, inspection rights, or any other shareholder rights under the Law on Enterprises; it is not recorded in the shareholder register; and it does not alter the Company's charter capital."),
|
|
121
|
+
P("b) Việc cấp, mở khóa và thanh toán SP không cấu thành đợt phát hành hay chào bán chứng khoán theo Luật Chứng khoán số 54/2019/QH14 và không phát sinh nghĩa vụ đăng ký với Ủy ban Chứng khoán Nhà nước.","b) The grant, vesting, and settlement of SP do not constitute an issuance or offering of securities under the Securities Law No. 54/2019/QH14 and create no registration obligation with the State Securities Commission."),
|
|
122
|
+
P("c) Mọi khoản thanh toán theo Thỏa thuận này là nghĩa vụ thanh toán theo hợp đồng dân sự, được thực hiện ngoài hệ thống trả lương và không phải là tiền lương, phụ cấp lương hay khoản khấu trừ lương theo Bộ luật Lao động.","c) All payments under this Agreement are civil contractual payment obligations, performed outside the payroll system, and are not wages, wage allowances, or wage deductions within the meaning of the Labor Code."),
|
|
123
|
+
]},
|
|
124
|
+
{ vi:"Điều 3. Cấp phát và định giá", en:"Article 3. Grants and valuation", paras:[
|
|
125
|
+
P("a) Cấp phát: SP chỉ được cấp thông qua Thông báo Cấp phát được ký hợp lệ theo mẫu tại Phụ lục A. Thỏa thuận khung này điều chỉnh mọi lần cấp; Thông báo Cấp phát xác định số lượng, ngày cấp và ngày bắt đầu tính mở khóa của từng lần cấp. Trường hợp có mâu thuẫn, Thỏa thuận khung được ưu tiên áp dụng, trừ khi Thông báo Cấp phát dẫn chiếu rõ điều khoản được sửa đổi.","a) Grants: SP is granted only by a duly executed Grant Notice in the form of Schedule A. This Master Agreement governs every grant; the Grant Notice fixes the number of SP, the grant date, and the vesting commencement date of each grant. In case of conflict, this Master Agreement prevails unless the Grant Notice expressly identifies the provision being varied."),
|
|
126
|
+
P("b) Điều kiện tiên quyết: Mỗi lần cấp chỉ có hiệu lực khi và kể từ khi: (i) Hội đồng Quản trị đã ban hành Nghị quyết chấp thuận lần cấp đó theo Điều 167 Luật Doanh nghiệp 2020, với thành viên có lợi ích liên quan không tham gia biểu quyết, và số Nghị quyết được ghi tại Thông báo Cấp phát; và (ii) trường hợp Thành viên đồng thời là người đại diện theo pháp luật của Công ty, Thông báo Cấp phát được ký bên phía Công ty bởi một người đại diện theo ủy quyền khác do HĐQT chỉ định, phù hợp khoản 3 Điều 141 Bộ luật Dân sự 2015.","b) Conditions precedent: Each grant takes effect only when and from the time that: (i) the Board of Directors has passed a Resolution approving that grant under Article 167 of the Law on Enterprises 2020, with the interested member abstaining from voting, and the Resolution number is recorded in the Grant Notice; and (ii) where the Member is concurrently the Company's legal representative, the Grant Notice is signed on the Company's side by a different authorized representative appointed by the Board, consistent with Article 141.3 of the Civil Code 2015."),
|
|
127
|
+
P("c) Công thức định giá: Giá trị 1 SP = (Tổng CFO x Hệ số Định giá Ngành) / Tổng số SP đang lưu hành tại Ngày Định giá. Trường hợp Tổng CFO của năm tài chính bằng 0 hoặc âm do hoạt động đầu tư hoặc đóng băng dòng tiền, giá trị 1 SP của năm đó được bảo lưu bằng mức định giá của năm liền kề trước đó.","c) Valuation formula: Value of 1 SP = (Total CFO x Industry Multiplier) / Total outstanding SP as at the Valuation Date. If the total CFO for a fiscal year is zero or negative due to investment activities or cash freezes, the SP value for that year is retained at the immediately preceding year's valuation."),
|
|
128
|
+
P("d) Tranh chấp định giá: Nếu Thành viên không đồng ý với giá trị SP được tính, Thành viên có quyền yêu cầu bằng văn bản trong 30 ngày kể từ khi nhận thông báo định giá; hai Bên sẽ trao đổi thiện chí trong 30 ngày tiếp theo, và nếu không đạt thống nhất, tranh chấp được giải quyết theo Điều 12.","d) Valuation disputes: If the Member disagrees with a computed SP value, the Member may object in writing within 30 days of receiving the valuation notice; the Parties will negotiate in good faith for a further 30 days, failing which the dispute is resolved under Article 12."),
|
|
129
|
+
P("e) Hạn mức Quỹ và Cấp phát Bổ sung: Tổng số SP lưu hành tại mọi thời điểm không vượt quá mức tương đương 15% tổng số cổ phần thực đang lưu hành của Công ty. Sau khi hoàn tất chu kỳ mở khóa 4 năm đầu tiên, thành viên duy trì hiệu suất xuất sắc được xem xét cấp phát bổ sung bằng thông báo cấp phát mới.","e) Pool cap and Refresh Grants: Total outstanding SP shall at no time exceed the equivalent of 15% of the Company's total outstanding actual shares. Upon completing the initial 4-year vesting cycle, Members maintaining outstanding performance are considered for Refresh Grants by a new Grant Notice."),
|
|
130
|
+
]},
|
|
131
|
+
{ vi:"Điều 4. Lộ trình mở khóa", en:"Article 4. Vesting", paras:[
|
|
132
|
+
P("a) Lộ trình: SP được mở khóa 25% mỗi năm trong 4 năm kể từ ngày bắt đầu tính mở khóa ghi tại Thông báo Cấp phát. Đợt mở khóa đầu tiên chỉ diễn ra khi thành viên hoàn thành đủ 12 tháng làm việc liên tục kể từ ngày bắt đầu tính mở khóa (thời gian chờ tối thiểu); các đợt tiếp theo mở khóa vào mỗi ngày tròn năm tiếp theo.","a) Schedule: SP vests at 25% per year over 4 years from the vesting commencement date stated in the Grant Notice. The first tranche vests only upon the Member completing 12 months of continuous service from the vesting commencement date (a 12-month cliff); subsequent tranches vest on each following anniversary."),
|
|
133
|
+
P("b) Điều kiện hiệu suất: Mỗi đợt mở khóa có điều kiện là thành viên đạt đánh giá hiệu suất năm liền trước từ mức \u201CĐáp ứng kỳ vọng\u201D (hoàn thành >= 100% KPI cá nhân) trở lên. Kết quả đánh giá do quản lý trực tiếp cùng bộ phận nhân sự xác lập và được Tổng Giám đốc (hoặc HĐQT, đối với Thành viên là người quản lý) phê chuẩn. Công ty không áp dụng loại trừ chéo (stack-ranking) giữa các thành viên.","b) Performance condition: Each tranche vests on condition that the Member achieves a rating of at least \u201CMeets Expectations\u201D (completing >= 100% of individual KPIs) for the immediately preceding annual review. The rating is established by the line manager together with HR and ratified by the General Director (or the Board, for Members who are managers). The Company does not apply cross-elimination (stack-ranking) among Members."),
|
|
134
|
+
P("c) Khiếu nại kết quả đánh giá: Thành viên không đồng ý với kết quả đánh giá có quyền khiếu nại bằng văn bản trong 15 ngày; Hội đồng Chuyên môn xem xét và trả lời trong 30 ngày. Đợt mở khóa liên quan được treo cho đến khi có kết quả cuối cùng và nếu khiếu nại được chấp nhận, có hiệu lực hồi tố về đúng ngày mở khóa theo lộ trình.","c) Rating appeals: A Member who disagrees with a rating may appeal in writing within 15 days; the Professional Council reviews and responds within 30 days. The affected tranche is suspended pending the final outcome and, if the appeal succeeds, vests retroactively to the scheduled vesting date."),
|
|
135
|
+
P("d) Bản chất có điều kiện: Quyền nhận thanh toán đối với mỗi SP chỉ phát sinh khi toàn bộ các điều kiện tại Thỏa thuận này được đáp ứng tại thời điểm thanh toán, bao gồm điều kiện không xảy ra sự kiện Người Nghỉ việc, Vi phạm theo Điều 7. Trước thời điểm đó, SP (kể cả SP đã mở khóa) là quyền có điều kiện, chưa phải là khoản nợ đến hạn của Công ty.","d) Conditional nature: The right to payment for each SP accrues only when all conditions of this Agreement are satisfied at the time of payment, including the condition that no Bad Leaver event under Article 7 has occurred. Until then, SP (including Vested SP) is a conditional right and not yet a due debt of the Company."),
|
|
136
|
+
]},
|
|
137
|
+
{ vi:"Điều 5. Quyền yêu cầu thanh khoản", en:"Article 5. Put option (liquidity rights)", paras:[
|
|
138
|
+
P("a) Từ năm thứ 3 kể từ ngày cấp, Thành viên có quyền yêu cầu Công ty mua lại tối đa 25% số SP Đã mở khóa mỗi năm bằng tiền. Yêu cầu được lập bằng văn bản theo mẫu của Công ty (\u201CLệnh Thanh khoản\u201D).","a) From the 3rd year after the grant date, the Member may require the Company to repurchase up to 25% of Vested SP per year for cash. The request is made in writing in the Company's form (a \u201CLiquidity Order\u201D)."),
|
|
139
|
+
P("b) Giá thanh toán là giá trị 1 SP tại Ngày Định giá gần nhất trước ngày Lệnh Thanh khoản hợp lệ. Công ty thanh toán trong 60 ngày kể từ ngày nhận Lệnh thanh khoản hợp lệ.","b) The settlement price is the SP value as at the most recent Valuation Date preceding a valid Liquidity Order. The Company pays within 60 days of receipt of a valid Liquidity Order."),
|
|
140
|
+
P("c) Ngân sách mua lại SP hàng năm của Công ty không vượt quá 15% CFO. Nếu tổng giá trị các Lệnh Thanh khoản hợp lệ trong năm vượt hạn mức, phần vượt được: (i) phân bổ công bằng theo tỷ lệ giữa các Thành viên; và (ii) cấu trúc thành thanh toán trả góp từ 6 đến 12 tháng, cộng Lãi suất Tham chiếu ACB tính trên dư nợ.","c) The Company's annual SP repurchase budget shall not exceed 15% of CFO. If the total value of valid Liquidity Orders in a year exceeds the cap, the excess is: (i) allocated pro rata among Members; and (ii) structured into installment payments over 6 to 12 months, plus the ACB Reference Rate on the outstanding balance."),
|
|
141
|
+
P("d) Mọi khoản thanh toán tại Điều này là nghĩa vụ dân sự của Công ty, thực hiện bằng chuyển khoản ngoài kỳ trả lương.","d) All payments under this Article are civil obligations of the Company, made by bank transfer outside payroll cycles."),
|
|
142
|
+
]},
|
|
143
|
+
{ vi:"Điều 6. Sự kiện thanh khoản lớn", en:"Article 6. Major liquidity events", paras:[
|
|
144
|
+
P("a) Khi xảy ra Sự kiện Thay đổi Kiểm soát hoặc khi Công ty chào bán cổ phần lần đầu ra công chúng (IPO), toàn bộ SP Chưa mở khóa của Thành viên được mở khóa cấp tốc 100% ngay trước thời điểm hoàn tất giao dịch.","a) Upon a Change of Control or an Initial Public Offering (IPO) by the Company, all of the Member's Unvested SP vests on an accelerated 100% basis immediately prior to completion of the transaction."),
|
|
145
|
+
P("b) Thành viên có quyền lựa chọn: (i) nhận thanh toán toàn bộ SP bằng tiền theo định giá thương vụ (giá trị trên một cổ phần thực áp dụng cho giao dịch, nhân với số SP); hoặc (ii) nếu pháp nhân nhận sáp nhập/mua lại chấp thuận, chuyển đổi SP thành cổ phần thực (ESOP) của pháp nhân đó theo tỷ lệ tương đương, với điều kiện việc phát hành tuân thủ pháp luật chứng khoán và doanh nghiệp tại thời điểm đó. Trường hợp phương án (ii) không khả thi về pháp lý, phương án (i) được áp dụng.","b) The Member may elect: (i) full cash settlement of the SP at the transaction valuation (the per-actual-share deal value multiplied by the number of SP); or (ii) if the surviving/acquiring entity consents, conversion of the SP into actual shares (ESOP) of that entity at an equivalent ratio, provided the issuance complies with securities and enterprise law then in force. Where option (ii) is legally unavailable, option (i) applies."),
|
|
146
|
+
P("c) Công ty thông báo cho Thành viên về Sự kiện Thay đổi Kiểm soát hoặc IPO dự kiến trong thời gian sớm nhất hợp lý, phù hợp với nghĩa vụ bảo mật của giao dịch, và trong mọi trường hợp trước thời điểm hoàn tất.","c) The Company notifies the Member of a prospective Change of Control or IPO as early as reasonably practicable, consistent with transaction confidentiality obligations, and in any event before completion."),
|
|
147
|
+
]},
|
|
148
|
+
{ vi:"Điều 7. Chấm dứt quan hệ lao động", en:"Article 7. Leaver provisions", paras:[
|
|
149
|
+
P("a) Người nghỉ việc hợp lệ: Toàn bộ SP chưa mở khóa chấm dứt hiệu lực vào ngày chấm dứt hợp đồng lao động. Đối với SP đã mở khóa: Công ty có quyền ưu tiên mua lại toàn bộ hoặc một phần trong 12 tháng kể từ ngày chấm dứt, theo giá trị tại Ngày Định giá gần nhất trước ngày chấm dứt, thanh toán trong 60 ngày kể từ ngày thông báo thực hiện quyền. Hết thời hạn 12 tháng mà Công ty không thực hiện quyền, Thành viên giữ nguyên quyền thanh khoản theo Điều 5 như thể quan hệ lao động còn tiếp diễn.","a) Good Leaver: All Unvested SP lapses on the labor contract termination date. For Vested SP: the Company holds a right of first refusal to repurchase all or part within 12 months of termination, at the value as at the most recent Valuation Date before termination, payable within 60 days of the exercise notice. If the Company does not exercise within the 12-month window, the Member retains liquidity rights under Article 5 as if employment had continued."),
|
|
150
|
+
P("b) Nghỉ chờ việc (garden leave): thời gian thành viên vẫn duy trì quan hệ lao động nhưng được miễn làm việc theo thỏa thuận được tính là thời gian làm việc liên tục cho mục đích mở khóa.","b) Garden leave: any period during which the Member remains employed but is released from duties by agreement counts as continuous service for vesting purposes."),
|
|
151
|
+
P("c) Người Nghỉ việc Vi phạm: Việc không xảy ra sự kiện Người Nghỉ việc Vi phạm trước thời điểm thanh toán là điều kiện phát sinh quyền nhận thanh toán đối với mọi SP theo Điều 4(d). Khi sự kiện Người Nghỉ việc Vi phạm xảy ra, điều kiện này không được đáp ứng và quyền nhận thanh toán đối với toàn bộ SP (Đã mở khóa và Chưa mở khóa) không phát sinh; toàn bộ SP chấm dứt hiệu lực mà không có bồi hoàn. Hai Bên xác nhận đây là điều kiện thiết yếu của việc cấp SP không thu tiền, đã được giải thích đầy đủ và chấp nhận tự nguyện trước khi ký.","c) Bad Leaver: The non-occurrence of a Bad Leaver event before the time of payment is a condition for the right to payment to accrue for any SP under Article 4(d). Upon a Bad Leaver event, that condition fails, and the right to payment for all SP (Vested and Unvested) does not accrue; all SP lapses without compensation. The Parties confirm this is an essential condition of the free-of-charge grant of SP, fully explained and voluntarily accepted before signing."),
|
|
152
|
+
P("d) Giảm trừ theo mức độ: Trường hợp cơ quan giải quyết tranh chấp xác định việc chấm dứt hiệu lực toàn bộ tại điểm (c) là quá mức đối với hoàn cảnh cụ thể, hai Bên thống nhất rằng cơ quan đó có thẩm quyền điều chỉnh phạm vi chấm dứt xuống mức tương xứng thay vì vô hiệu toàn bộ điều khoản, phù hợp với Điều 8(b) dưới đây.","d) Proportionality fallback: If the dispute-resolution body determines that the full lapse under paragraph (c) is excessive in the specific circumstances, the Parties agree that the body may reduce the scope of the lapse to a proportionate level rather than invalidating the clause entirely, consistent with Article 8(b) below."),
|
|
153
|
+
]},
|
|
154
|
+
{ vi:"Điều 8. Thuế, thu hồi và cam kết chung", en:"Article 8. Tax, clawback, and general commitments", paras:[
|
|
155
|
+
P("a) Thuế: Mọi giá trị SP là giá trị trước thuế. Khoản thanh toán bằng tiền theo Thỏa thuận này là thu nhập chịu thuế thu nhập cá nhân của Thành viên theo Luật Thuế TNCN số 109/2025/QH15; Công ty khấu trừ và nộp thay tại thời điểm chi trả theo biểu thuế lũy tiến hiện hành và chi trả phần còn lại cho Thành viên.","a) Tax: All SP values are gross of tax. Cash payments under this Agreement are personal-income-taxable income of the Member under the PIT Law No. 109/2025/QH15; the Company withholds and remits at the time of payment under the prevailing progressive schedule and pays the balance to the Member."),
|
|
156
|
+
P("b) Thu hồi (clawback): Nếu trong 24 tháng sau một khoản thanh toán, báo cáo tài chính làm căn cứ định giá bị điều chỉnh trọng yếu, hoặc phát hiện Thành viên có hành vi gian lận, vi phạm nghiêm trọng ảnh hưởng đến căn cứ thanh toán, Công ty có quyền yêu cầu hoàn trả phần chênh lệch đã thanh toán vượt so với giá trị đúng, như một nghĩa vụ hoàn trả dân sự. Công ty không khấu trừ khoản này vào tiền lương.","b) Clawback: If, within 24 months after a payment, the financial statements underlying the valuation are materially restated, or fraud or serious misconduct by the Member affecting the payment basis is discovered, the Company may require repayment of the overpaid difference as a civil restitution obligation. The Company shall not set this off against wages."),
|
|
157
|
+
P("c) Bảo mật và không phát ngôn bất lợi: Thành viên giữ bí mật các điều khoản cấp phát của mình và thông tin định giá nội bộ, trừ khi tiết lộ cho cố vấn pháp lý, thuế hoặc theo yêu cầu của cơ quan có thẩm quyền. Hai Bên không phát ngôn bất lợi về nhau liên quan đến Thỏa thuận này.","c) Confidentiality and non-disparagement: The Member keeps their grant terms and internal valuation information confidential, except for disclosure to legal or tax advisors or as required by a competent authority. Neither Party makes disparaging statements about the other in connection with this Agreement."),
|
|
158
|
+
P("d) Không chuyển nhượng: SP không được chuyển nhượng, cầm cố hay dùng bảo đảm nghĩa vụ dưới bất kỳ hình thức nào, trừ trường hợp thừa kế theo pháp luật; người thừa kế kế thừa quyền của Người Nghỉ việc Hợp lệ.","d) No transfer: SP may not be transferred, pledged, or used as security in any form, except by inheritance under law; heirs succeed to Good Leaver rights."),
|
|
159
|
+
P("e) Kế thừa khi tái cấu trúc: Thỏa thuận này ràng buộc và có hiệu lực đối với các bên kế thừa hợp pháp. Khi Công ty sáp nhập, hợp nhất hoặc chuyển đổi loại hình, pháp nhân tiếp nhận đương nhiên kế thừa quyền và nghĩa vụ theo Thỏa thuận này theo Luật Doanh nghiệp.","e) Succession on restructuring: This Agreement binds and benefits lawful successors. Upon merger, consolidation, or conversion of the Company, the surviving entity succeeds by operation of law to the rights and obligations under this Agreement pursuant to the Law on Enterprises."),
|
|
160
|
+
]},
|
|
161
|
+
{ vi:"Điều 9. Cam đoan và bảo đảm", en:"Article 9. Representations and warranties", paras:[
|
|
162
|
+
P("Mỗi Bên cam đoan: (i) có đầy đủ năng lực và thẩm quyền để ký kết, thực hiện Thỏa thuận này; (ii) việc ký kết không vi phạm bất kỳ nghĩa vụ nào với bên thứ ba; và (iii) đã đọc, hiểu và tự nguyện chấp nhận toàn bộ điều khoản. Thành viên xác nhận hiểu rõ rằng SP không phải là cổ phần, không bảo đảm giá trị tối thiểu và giá trị SP có thể tăng hoặc giảm theo kết quả kinh doanh.","Each Party represents that: (i) it has full capacity and authority to execute and perform this Agreement; (ii) execution does not breach any obligation to a third party; and (iii) it has read, understood, and voluntarily accepted all terms. The Member acknowledges that SP is not a share, carries no minimum-value guarantee, and may rise or fall in value with business performance."),
|
|
163
|
+
]},
|
|
164
|
+
{ vi:"Điều 10. Vi phạm và chấm dứt", en:"Article 10. Default and termination", paras:[
|
|
165
|
+
P("a) Sự kiện vi phạm bao gồm: không thanh toán đến hạn quá 30 ngày sau thông báo; vi phạm nghĩa vụ bảo mật; hoặc vi phạm cam đoan trọng yếu. Bên bị vi phạm có quyền yêu cầu thực hiện đúng, bồi thường thiệt hại theo Bộ luật Dân sự và các biện pháp tại Điều 12.","a) Events of default include: non-payment overdue by more than 30 days after notice; breach of confidentiality; or breach of a material representation. The non-defaulting Party may require specific performance, claim damages under the Civil Code, and pursue remedies under Article 12."),
|
|
166
|
+
P("b) Thỏa thuận này chấm dứt khi: (i) toàn bộ SP đã được thanh toán hoặc chấm dứt hiệu lực theo Thỏa thuận; hoặc (ii) hai Bên thỏa thuận chấm dứt bằng văn bản. Các điều khoản về thuế, bảo mật, thu hồi và giải quyết tranh chấp tiếp tục có hiệu lực sau chấm dứt.","b) This Agreement terminates when: (i) all SPs have been settled or have lapsed under this Agreement; or (ii) the Parties agree in writing to terminate. Tax, confidentiality, clawback, and dispute-resolution provisions survive termination."),
|
|
167
|
+
]},
|
|
168
|
+
{ vi:"Điều 11. Điều khoản chung", en:"Article 11. General provisions", paras:[
|
|
169
|
+
P("a) Thông báo: bằng văn bản, giao trực tiếp, gửi bảo đảm hoặc thư điện tử tới địa chỉ tại Thông báo Cấp phát; có hiệu lực khi nhận được hoặc khi thư điện tử được gửi không báo lỗi.","a) Notices: in writing, by hand, registered mail, or email to the addresses in the Grant Notice; effective on receipt or, for email, on transmission without error message."),
|
|
170
|
+
P("b) Sửa đổi và toàn bộ thỏa thuận: mọi sửa đổi phải bằng văn bản do hai Bên ký. Thỏa thuận này cùng các Thông báo Cấp phát là toàn bộ thỏa thuận về SP, thay thế mọi trao đổi trước đó về cùng nội dung.","b) Amendment and entire agreement: any amendment must be in writing and signed by both Parties. This Agreement and the Grant Notices are the entire agreement on SP and supersede all prior communications on the same subject."),
|
|
171
|
+
P("c) Tính tách biệt: nếu một điều khoản bị tuyên vô hiệu hoặc không thể thi hành, điều khoản đó được điều chỉnh ở mức tối thiểu cần thiết để có hiệu lực; các điều khoản còn lại giữ nguyên hiệu lực.","c) Severability: if any provision is held invalid or unenforceable, it is modified to the minimum extent necessary to be effective; the remaining provisions remain in full force."),
|
|
172
|
+
P("d) Luật áp dụng: pháp luật Việt Nam.","d) Governing law: the laws of Vietnam."),
|
|
173
|
+
P("e) Ngôn ngữ: Thỏa thuận được lập song ngữ tiếng Việt và tiếng Anh; trường hợp có khác biệt, bản tiếng Việt được ưu tiên áp dụng.","e) Language: this Agreement is made bilingually in Vietnamese and English; in case of discrepancy, the Vietnamese version prevails."),
|
|
174
|
+
]},
|
|
175
|
+
{ vi:"Điều 12. Giải quyết tranh chấp", en:"Article 12. Dispute resolution", paras:[
|
|
176
|
+
P("Mọi tranh chấp phát sinh từ hoặc liên quan đến Thỏa thuận này sẽ được giải quyết chung thẩm bằng trọng tài tại Trung tâm Trọng tài Quốc tế Việt Nam (VIAC) theo Quy tắc tố tụng trọng tài của VIAC có hiệu lực tại thời điểm phát sinh tranh chấp. Địa điểm trọng tài là Thành phố Hồ Chí Minh, Việt Nam. Hội đồng trọng tài gồm một trọng tài viên duy nhất. Luật áp dụng cho nội dung tranh chấp là pháp luật Việt Nam. Ngôn ngữ trọng tài là tiếng Việt; tài liệu bằng tiếng Anh được nộp không cần bản dịch, trừ khi Hội đồng trọng tài yêu cầu khác. Trường hợp tranh chấp có yếu tố nước ngoài hoặc có một bên là doanh nghiệp có vốn đầu tư nước ngoài, các bên có thể thỏa thuận tiến hành tố tụng bằng tiếng Việt và tiếng Anh. Trước khi Hội đồng trọng tài được thành lập, mỗi Bên có quyền yêu cầu Tòa án có thẩm quyền áp dụng biện pháp khẩn cấp tạm thời theo Điều 48, Điều 53 Luật Trọng tài Thương mại 2010 mà không bị coi là từ bỏ thỏa thuận trọng tài.","Any dispute arising out of or in relation to this Agreement shall be finally resolved by arbitration at the Vietnam International Arbitration Centre (VIAC) in accordance with its Rules of Arbitration in force at the time of the dispute. The place of arbitration is Ho Chi Minh City, Vietnam. The arbitral tribunal comprises a sole arbitrator. The law governing the merits is the law of Vietnam. The language of the arbitration is Vietnamese; documents in English may be submitted without translation unless the Arbitral Tribunal directs otherwise. Where the dispute involves a foreign element or a party that is a foreign-invested enterprise, the parties may agree to conduct the proceedings in Vietnamese and English. Before the tribunal is constituted, either Party may apply to the competent Court for interim urgent measures under Articles 48 and 53 of the Law on Commercial Arbitration 2010 without being deemed to have waived the arbitration agreement."),
|
|
177
|
+
]},
|
|
178
|
+
];
|
|
179
|
+
return { elAttr, vaAttr, defs, articles };
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
</script>
|
|
183
|
+
</body>
|
|
184
|
+
</html>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schemaVersion": "2.0",
|
|
3
|
+
"template": "vn-phantom-stock",
|
|
4
|
+
"slots": [
|
|
5
|
+
{
|
|
6
|
+
"id": "articles",
|
|
7
|
+
"type": "list",
|
|
8
|
+
"label": "Articles",
|
|
9
|
+
"required": true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"id": "defs",
|
|
13
|
+
"type": "list",
|
|
14
|
+
"label": "Definitions"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Loads this design system into the template. In a consuming project, point
|
|
2
|
+
// base at the bound DS folder relative to this file (e.g. '_ds/<folder>' at
|
|
3
|
+
// the project root, '../_ds/<folder>' one level down) — one line to edit.
|
|
4
|
+
(() => {
|
|
5
|
+
const base = '../..';
|
|
6
|
+
for (const p of ['styles.css']) {
|
|
7
|
+
const l = document.createElement('link');
|
|
8
|
+
l.rel = 'stylesheet'; l.href = base + '/' + p;
|
|
9
|
+
document.head.appendChild(l);
|
|
10
|
+
}
|
|
11
|
+
const s = document.createElement('script');
|
|
12
|
+
s.src = base + '/_ds_bundle.js';
|
|
13
|
+
s.onload = () => {
|
|
14
|
+
// Expose a STABLE, project-id-independent alias. The compiler names the bundle
|
|
15
|
+
// global CyberSkillDesignSystem_<6-hex-project-id>, which changes whenever this
|
|
16
|
+
// system is re-imported into another project. Templates/cards read window.CyberSkillDS
|
|
17
|
+
// so no file ever has to be rewritten on re-import.
|
|
18
|
+
const k = Object.keys(window).find((k) => /^CyberSkillDesignSystem_[0-9a-f]{6}$/.test(k));
|
|
19
|
+
if (k) window.CyberSkillDS = window[k];
|
|
20
|
+
};
|
|
21
|
+
s.onerror = () => console.error('ds-base.js: failed to load ' + s.src + ' — if this is a consuming project, point the base line in ds-base.js at the bound _ds/<folder> tree relative to this page (e.g. _ds/<folder> at the project root, ../_ds/<folder> one level down); in a fresh design system this can just mean the bundle is not compiled yet');
|
|
22
|
+
document.head.appendChild(s);
|
|
23
|
+
})();
|