@cyberskill/design 1.0.0 → 1.1.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 +10 -9
- package/README.md +31 -28
- package/SKILL.md +13 -9
- package/VERSION +1 -1
- package/_ds_bundle.js +660 -202
- package/_ds_manifest.json +1 -1
- package/_esm/cs.mjs +14 -8
- package/_esm/react.d.ts +216 -0
- package/_esm/react.mjs +114 -0
- package/base/collections.css +31 -0
- package/base/components.css +3 -0
- package/base/data.css +33 -0
- package/base/forms.css +8 -0
- package/base/interaction.css +1 -0
- package/base/typography.css +6 -0
- package/components/_i18n/strings.js +8 -4
- package/components/ai/ai-conversation.card.html +2 -2
- package/components/ai/ai-lumi.card.html +2 -2
- package/components/ai/ai.card.html +2 -2
- package/components/brand/brand.card.html +2 -2
- package/components/button/buttons.card.html +2 -2
- package/components/data/AspectRatio.d.ts +16 -0
- package/components/data/AspectRatio.figma.tsx +12 -0
- package/components/data/AspectRatio.jsx +16 -0
- package/components/data/AspectRatio.prompt.md +7 -0
- package/components/data/Collapsible.d.ts +21 -0
- package/components/data/Collapsible.figma.tsx +12 -0
- package/components/data/Collapsible.jsx +49 -0
- package/components/data/Collapsible.prompt.md +7 -0
- package/components/data/Image.d.ts +4 -0
- package/components/data/Image.prompt.md +2 -2
- package/components/data/Item.d.ts +26 -0
- package/components/data/Item.figma.tsx +12 -0
- package/components/data/Item.jsx +63 -0
- package/components/data/Item.prompt.md +10 -0
- package/components/data/ScrollArea.d.ts +16 -0
- package/components/data/ScrollArea.figma.tsx +12 -0
- package/components/data/ScrollArea.jsx +25 -0
- package/components/data/ScrollArea.prompt.md +7 -0
- package/components/data/collections.card.html +15 -4
- package/components/data/data.card.html +15 -4
- package/components/datatable/datatable.card.html +2 -2
- package/components/dialog/dialog.card.html +2 -2
- package/components/feedback/feedback-2.card.html +2 -2
- package/components/feedback/feedback.card.html +2 -2
- package/components/forms/Cascader.jsx +5 -3
- package/components/forms/Editor.prompt.md +1 -1
- package/components/forms/InputGroup.d.ts +4 -0
- package/components/forms/InputGroup.jsx +38 -8
- package/components/forms/InputGroup.prompt.md +3 -3
- package/components/forms/NativeSelect.d.ts +22 -0
- package/components/forms/NativeSelect.figma.tsx +12 -0
- package/components/forms/NativeSelect.jsx +56 -0
- package/components/forms/NativeSelect.prompt.md +10 -0
- package/components/forms/NumberField.d.ts +5 -0
- package/components/forms/NumberField.jsx +51 -7
- package/components/forms/NumberField.prompt.md +2 -2
- package/components/forms/SegmentedControl.jsx +1 -1
- package/components/forms/TagInput.d.ts +3 -0
- package/components/forms/TagInput.jsx +62 -20
- package/components/forms/TagInput.prompt.md +2 -2
- package/components/forms/forms-2.card.html +2 -2
- package/components/forms/forms.card.html +5 -4
- package/components/icon/Icon.prompt.md +1 -1
- package/components/icon/icon.card.html +2 -2
- package/components/logo/Logo.jsx +2 -1
- package/components/logo/logo.card.html +2 -2
- package/components/navigation/Menu.jsx +14 -1
- package/components/navigation/navigation.card.html +2 -2
- package/components/navigation/shell.card.html +2 -2
- package/components/overlays/AlertDialog.d.ts +29 -0
- package/components/overlays/AlertDialog.figma.tsx +12 -0
- package/components/overlays/AlertDialog.jsx +142 -0
- package/components/overlays/AlertDialog.prompt.md +12 -0
- package/components/overlays/Drawer.jsx +1 -1
- package/components/overlays/Popconfirm.jsx +14 -1
- package/components/overlays/Popover.jsx +14 -1
- package/components/overlays/alertdialog.card.html +42 -0
- package/components/overlays/overlays.card.html +2 -2
- package/components/textfield/textfield.card.html +2 -2
- package/docs/benchmark-rubric.md +46 -0
- package/docs/ci-cd.md +17 -11
- package/docs/consumer-grant.md +37 -0
- package/docs/consuming.md +45 -16
- package/docs/contrast-report.md +91 -103
- package/docs/conventions.md +12 -9
- package/docs/decisions.md +33 -10
- package/docs/deploy.md +1 -1
- package/docs/design-styles.md +26 -8
- package/docs/figma.md +3 -3
- package/docs/live-hub.md +5 -3
- package/docs/products.md +13 -11
- package/docs/quality-gates.md +35 -21
- package/docs/release-notes.md +13 -3
- package/docs/status/assets/favicon.svg +5 -0
- package/docs/status/assets/status-legacy.css +399 -0
- package/docs/status/assets/status-legacy.js +505 -0
- package/docs/status/assets/status.css +644 -0
- package/docs/status/assets/status.js +1308 -0
- package/docs/status/data/status-feed.json +1 -0
- package/docs/status/data/task/TASK-REL-001.js +1 -0
- package/docs/status/index.html +45 -0
- package/docs/status/roadmap.html +4 -0
- package/docs/status/status-legacy.html +121 -0
- package/docs/storybook.md +5 -4
- package/docs/sync.md +3 -2
- package/docs/tasks/BACKLOG.md +25 -0
- package/docs/tasks/release/TASK-REL-001-launch-1-1-0/spec.md +55 -0
- package/docs/template-schema-v2.md +15 -3
- package/docs/vi/benchmark-rubric.md +46 -0
- package/docs/vi/ci-cd.md +17 -11
- package/docs/vi/consumer-grant.md +37 -0
- package/docs/vi/consuming.md +45 -16
- package/docs/vi/contrast-report.md +94 -106
- package/docs/vi/conventions.md +12 -9
- package/docs/vi/decisions.md +33 -10
- package/docs/vi/deploy.md +1 -1
- package/docs/vi/design-styles.md +26 -8
- package/docs/vi/figma.md +3 -3
- package/docs/vi/live-hub.md +5 -3
- package/docs/vi/products.md +13 -11
- package/docs/vi/quality-gates.md +35 -21
- package/docs/vi/release-notes.md +18 -8
- package/docs/vi/storybook.md +5 -4
- package/docs/vi/sync.md +3 -2
- package/docs/vi/template-schema-v2.md +15 -3
- package/docs/viewer.html +2 -2
- package/fonts/spacegrotesk-var-latin-ext.woff2 +0 -0
- package/fonts/spacegrotesk-var-latin.woff2 +0 -0
- package/fonts/spacegrotesk-var-vietnamese.woff2 +0 -0
- package/guidelines/atomic-view.html +40 -27
- package/guidelines/elements-geometry.html +69 -0
- package/guidelines/elements-variants.html +17 -17
- package/guidelines/type-families.html +16 -10
- package/llms.txt +17 -11
- package/package.json +38 -16
- package/styles.css +1 -0
- package/templates/ai-cluster-demo.html +29 -14
- package/templates/app-shell/support.js +4 -4
- package/templates/article/content-schema.json +6 -0
- package/templates/article/support.js +4 -4
- package/templates/auth/support.js +4 -4
- package/templates/bod-deck/support.js +4 -4
- package/templates/bod-investor-update/support.js +4 -4
- package/templates/bod-memo/support.js +4 -4
- package/templates/bod-minutes/content-schema.json +12 -0
- package/templates/bod-minutes/support.js +4 -4
- package/templates/bod-report/support.js +4 -4
- package/templates/bod-resolution/support.js +4 -4
- package/templates/culture-event-invite/support.js +4 -4
- package/templates/dashboard/support.js +4 -4
- package/templates/delivery-change-note/support.js +4 -4
- package/templates/delivery-kickoff/support.js +4 -4
- package/templates/delivery-qbr-deck/support.js +4 -4
- package/templates/delivery-runbook/content-schema.json +6 -0
- package/templates/delivery-runbook/support.js +4 -4
- package/templates/delivery-status-email/support.js +4 -4
- package/templates/doc-style-guide/DocStyleGuide.dc.html +2 -2
- package/templates/doc-style-guide/support.js +4 -4
- package/templates/doc-suite-index/support.js +4 -4
- package/templates/doc-templates/DocTemplates.dc.html +1 -1
- package/templates/doc-templates/support.js +4 -4
- package/templates/email/support.js +4 -4
- package/templates/email-safe/README.md +17 -4
- package/templates/email-safe/email-launch.html +3 -3
- package/templates/email-safe/email-newsletter.html +1 -1
- package/templates/finance-dunning-email/support.js +4 -4
- package/templates/finance-expense-report/support.js +4 -4
- package/templates/finance-invoice/support.js +4 -4
- package/templates/finance-quote/support.js +4 -4
- package/templates/hr-announcement/support.js +4 -4
- package/templates/hr-interview-kit/content-schema.json +12 -0
- package/templates/hr-interview-kit/support.js +4 -4
- package/templates/hr-offboarding/content-schema.json +12 -0
- package/templates/hr-offboarding/support.js +4 -4
- package/templates/hr-performance-review/content-schema.json +12 -0
- package/templates/hr-performance-review/support.js +4 -4
- package/templates/hr-pip/content-schema.json +12 -0
- package/templates/hr-pip/support.js +4 -4
- package/templates/legal-msa/content-schema.json +16 -0
- package/templates/legal-msa/support.js +4 -4
- package/templates/legal-sow/support.js +4 -4
- package/templates/marketing-campaign-brief/support.js +4 -4
- package/templates/marketing-case-study/support.js +4 -4
- package/templates/marketing-launch/support.js +4 -4
- package/templates/marketing-newsletter/support.js +4 -4
- package/templates/marketing-page/content-schema.json +0 -1
- package/templates/marketing-page/support.js +4 -4
- package/templates/marketing-press-release/support.js +4 -4
- package/templates/marketing-social-kit/support.js +4 -4
- package/templates/playground.html +8 -4
- package/templates/sales-one-pager/support.js +4 -4
- package/templates/sales-proposal-deck/support.js +4 -4
- package/templates/settings/Settings.dc.html +26 -14
- package/templates/settings/content-schema.json +36 -0
- package/templates/settings/support.js +4 -4
- package/templates/slide-deck/support.js +4 -4
- package/templates/team-meeting-agenda/content-schema.json +16 -0
- package/templates/team-meeting-agenda/support.js +4 -4
- package/templates/tech-incident-report/support.js +4 -4
- package/templates/tech-release-notes/support.js +4 -4
- package/templates/tech-retro/content-schema.json +12 -0
- package/templates/tech-retro/support.js +4 -4
- package/templates/tech-rfc/content-schema.json +6 -0
- package/templates/tech-rfc/support.js +4 -4
- package/templates/vn-appointment-transfer/support.js +4 -4
- package/templates/vn-certificate-of-employment/support.js +4 -4
- package/templates/vn-code-of-conduct/support.js +4 -4
- package/templates/vn-compensation-regulation/support.js +4 -4
- package/templates/vn-contract-amendment/support.js +4 -4
- package/templates/vn-contractor-agreement/support.js +4 -4
- package/templates/vn-data-protection-policy/support.js +4 -4
- package/templates/vn-disciplinary-case-file/support.js +4 -4
- package/templates/vn-disciplinary-schedule/content-schema.json +15 -0
- package/templates/vn-disciplinary-schedule/support.js +4 -4
- package/templates/vn-employee-request/support.js +4 -4
- package/templates/vn-exit-handover/support.js +4 -4
- package/templates/vn-foreign-employee-pack/support.js +4 -4
- package/templates/vn-grassroots-democracy/support.js +4 -4
- package/templates/vn-infosec-policy/support.js +4 -4
- package/templates/vn-internal-labor-regulations/support.js +4 -4
- package/templates/vn-internship-agreement/support.js +4 -4
- package/templates/vn-job-description/support.js +4 -4
- package/templates/vn-labor-contract/support.js +4 -4
- package/templates/vn-labour-management-book/content-schema.json +15 -0
- package/templates/vn-labour-management-book/support.js +4 -4
- package/templates/vn-mutual-nda/support.js +4 -4
- package/templates/vn-ndnca-ip/support.js +4 -4
- package/templates/vn-offer-letter/support.js +4 -4
- package/templates/vn-onboarding-checklist/support.js +4 -4
- package/templates/vn-pdpl-consent/support.js +4 -4
- package/templates/vn-performance-evaluation-regulation/support.js +4 -4
- package/templates/vn-performance-review-form/support.js +4 -4
- package/templates/vn-phantom-stock/support.js +4 -4
- package/templates/vn-probation-contract/support.js +4 -4
- package/templates/vn-receipt-acknowledgement/content-schema.json +15 -0
- package/templates/vn-receipt-acknowledgement/support.js +4 -4
- package/templates/vn-remote-work-policy/support.js +4 -4
- package/templates/vn-resignation-letter/support.js +4 -4
- package/templates/vn-salary-scale/content-schema.json +15 -0
- package/templates/vn-salary-scale/support.js +4 -4
- package/templates/vn-sow-appendix/support.js +4 -4
- package/templates/vn-termination-decision/support.js +4 -4
- package/templates/vn-total-rewards-appendix/support.js +4 -4
- package/templates/vn-training-commitment/support.js +4 -4
- package/templates/vn-travel-expense-policy/support.js +4 -4
- package/tokens/element-seeds.json +112 -0
- package/tokens/elements.css +274 -187
- package/tokens/fonts.css +12 -3
- package/tokens/native/CSTokens.kt +84 -68
- package/tokens/native/CSTokens.swift +84 -68
- package/tokens/native/cs_tokens.dart +84 -68
- package/tokens/provenance.json +9 -9
- package/tokens/styles.css +15 -0
- package/tokens/tokens.dtcg.json +258 -233
- package/tokens/tokens.js +168 -167
- package/tokens/tokens.json +167 -166
- package/tokens/typography.css +9 -1
- package/ui_kits/status-hub/README.md +1 -2
- package/ui_kits/status-hub/index.html +2 -2
- package/ui_kits/status-hub/settings.html +6 -3
- package/ui_kits/website/chat.html +2 -2
- package/ui_kits/website/index.html +2 -2
- package/ui_kits/status-hub/identity-lab.html +0 -134
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</head>
|
|
8
8
|
<body>
|
|
9
9
|
<x-dc>
|
|
10
|
-
<!-- @template name="Settings" description="CyberSkill settings page — Tabs, form fields,
|
|
10
|
+
<!-- @template name="Settings" description="CyberSkill settings page — Tabs, form fields, NativeSelect, Item rows, ScrollArea, Collapsible, AlertDialog danger zone. Bilingual (English · Tiếng Việt)." -->
|
|
11
11
|
<helmet>
|
|
12
12
|
<script src="./ds-base.js"></script>
|
|
13
13
|
</helmet>
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
<x-import component-from-global-scope="CyberSkillDS.TextField" label="{{ nameL }}" default-value="Nguyễn Hoàng An" hint-size="100%,74px"></x-import>
|
|
27
27
|
<x-import component-from-global-scope="CyberSkillDS.TextField" label="{{ emailL }}" type="email" default-value="an@cyberskill.world" hint-size="100%,74px"></x-import>
|
|
28
28
|
<x-import component-from-global-scope="CyberSkillDS.Select" label="{{ squadL }}" options="{{ squads }}" hint-size="100%,74px"></x-import>
|
|
29
|
-
<x-import component-from-global-scope="CyberSkillDS.
|
|
29
|
+
<x-import component-from-global-scope="CyberSkillDS.NativeSelect" label="{{ ifaceL }}" options="{{ langs }}" size="md" hint-size="100%,74px"></x-import>
|
|
30
30
|
</div>
|
|
31
31
|
</section>
|
|
32
32
|
</sc-if>
|
|
@@ -34,21 +34,29 @@
|
|
|
34
34
|
<sc-if value="{{ isNotifications }}">
|
|
35
35
|
<section style="background:var(--cs-color-surface-panel);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);padding:24px;margin-top:22px;display:grid;gap:16px">
|
|
36
36
|
<div><h3 style="margin:0 0 4px;font-size:18px">{{ notifH }}</h3><p style="margin:0;color:var(--cs-color-text-muted);font-size:14px">{{ notifP }}</p></div>
|
|
37
|
-
<
|
|
38
|
-
<div
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
<x-import component-from-global-scope="CyberSkillDS.ScrollArea" max-height="180" aria-label="{{ notifH }}" hint-size="100%,180px">
|
|
38
|
+
<div style="display:grid;gap:8px;padding:2px 4px 8px 0">
|
|
39
|
+
<x-import component-from-global-scope="CyberSkillDS.Item" title="{{ n3t }}" description="{{ n3d }}" hint-size="100%,56px"></x-import>
|
|
40
|
+
<x-import component-from-global-scope="CyberSkillDS.Item" title="{{ n4t }}" description="{{ n4d }}" hint-size="100%,56px"></x-import>
|
|
41
|
+
</div>
|
|
42
|
+
</x-import>
|
|
43
|
+
<x-import component-from-global-scope="CyberSkillDS.Item" title="{{ n1t }}" description="{{ n1d }}" hint-size="100%,56px">
|
|
44
|
+
<x-import component-from-global-scope="CyberSkillDS.Switch" aria-label="{{ n1t }}" hint-size="46px,26px"></x-import>
|
|
45
|
+
</x-import>
|
|
46
|
+
<x-import component-from-global-scope="CyberSkillDS.Item" title="{{ n2t }}" description="{{ n2d }}" hint-size="100%,56px">
|
|
47
|
+
<x-import component-from-global-scope="CyberSkillDS.Switch" aria-label="{{ n2t }}" hint-size="46px,26px"></x-import>
|
|
48
|
+
</x-import>
|
|
49
|
+
<x-import component-from-global-scope="CyberSkillDS.Collapsible" title="{{ advT }}" hint-size="100%,48px">
|
|
50
|
+
<p style="margin:0">{{ advD }}</p>
|
|
51
|
+
</x-import>
|
|
45
52
|
</section>
|
|
46
53
|
</sc-if>
|
|
47
54
|
|
|
48
55
|
<section style="border:1px solid var(--cs-color-semantic-danger);border-radius:var(--cs-radius-lg);padding:18px 20px;margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:color-mix(in oklab,var(--cs-color-semantic-danger) 5%,var(--cs-color-surface-panel))">
|
|
49
56
|
<div><div style="font-weight:700">{{ dangerT }}</div><div style="color:var(--cs-color-text-muted);font-size:13.5px">{{ dangerD }}</div></div>
|
|
50
|
-
<x-import component-from-global-scope="CyberSkillDS.Button" variant="danger-ghost" hint-size="150px,44px">{{ dangerBtn }}</x-import>
|
|
57
|
+
<x-import component-from-global-scope="CyberSkillDS.Button" variant="danger-ghost" on-click="{{ openDanger }}" hint-size="150px,44px">{{ dangerBtn }}</x-import>
|
|
51
58
|
</section>
|
|
59
|
+
<x-import component-from-global-scope="CyberSkillDS.AlertDialog" open="{{ dangerOpen }}" on-open-change="{{ setDangerOpen }}" title="{{ dangerT }}" description="{{ dangerD }}" tone="destructive" confirm-label="{{ dangerBtn }}" on-confirm="{{ closeDanger }}" hint-size="0,0"></x-import>
|
|
52
60
|
|
|
53
61
|
<div style="display:flex;gap:10px;justify-content:flex-end;margin-top:22px">
|
|
54
62
|
<x-import component-from-global-scope="CyberSkillDS.Button" variant="ghost" hint-size="90px,44px">{{ cancelBtn }}</x-import>
|
|
@@ -64,19 +72,23 @@
|
|
|
64
72
|
"defaultTab": {"editor":"enum","options":["profile","notifications"],"default":"profile","tsType":"string","section":"Behavior"}
|
|
65
73
|
}">
|
|
66
74
|
class Component extends DCLogic {
|
|
67
|
-
state = { tab: null };
|
|
75
|
+
state = { tab: null, dangerOpen: false };
|
|
68
76
|
get tab() { return this.state.tab ?? (this.props.defaultTab || "profile"); }
|
|
69
77
|
renderVals() {
|
|
70
78
|
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"]};
|
|
71
79
|
const [elAttr, vaAttr] = EL[this.props.element] || EL["Thổ · studio"];
|
|
72
80
|
const tab = this.tab;
|
|
73
81
|
const vn = this.props.language === "Tiếng Việt";
|
|
74
|
-
const en = { title:"Settings", sub:"Workspace & preferences · an@cyberskill.world", pfL:"Profile", ntL:"Notifications", profileH:"Profile", profileP:"This is how you appear across the workspace.", nameL:"Full name", emailL:"Work email", squadL:"Squad", ifaceL:"Interface language", notifH:"Notifications", notifP:"We keep it quiet — only what you ask for.", n1t:"Release notes", n1d:"A summary each time a project ships. Bilingual.", n2t:"Blocked-project alerts", n2d:"Get pinged when a project is blocked.", dangerT:"Delete workspace", dangerD:"Removes every project and release. This cannot be undone.", dangerBtn:"Delete workspace", cancelBtn:"Cancel", saveBtn:"Save changes" };
|
|
75
|
-
const vi = { title:"Cài đặt", sub:"Không gian làm việc & tuỳ chọn · an@cyberskill.world", pfL:"Hồ sơ", ntL:"Thông báo", profileH:"Hồ sơ", profileP:"Đây là cách bạn hiển thị trong không gian làm việc.", nameL:"Họ và tên", emailL:"Email công việc", squadL:"Nhóm", ifaceL:"Ngôn ngữ giao diện", notifH:"Thông báo", notifP:"Chúng tôi giữ yên tĩnh — chỉ gửi thứ bạn yêu cầu.", n1t:"Ghi chú phát hành", n1d:"Bản tóm tắt mỗi khi một dự án ra mắt. Song ngữ.", n2t:"Cảnh báo dự án bị chặn", n2d:"Được báo khi một dự án bị chặn.", dangerT:"Xoá không gian làm việc", dangerD:"Xoá mọi dự án và bản phát hành. Không thể hoàn tác.", dangerBtn:"Xoá không gian làm việc", cancelBtn:"Huỷ", saveBtn:"Lưu thay đổi" };
|
|
82
|
+
const en = { title:"Settings", sub:"Workspace & preferences · an@cyberskill.world", pfL:"Profile", ntL:"Notifications", profileH:"Profile", profileP:"This is how you appear across the workspace.", nameL:"Full name", emailL:"Work email", squadL:"Squad", ifaceL:"Interface language", notifH:"Notifications", notifP:"We keep it quiet — only what you ask for.", n1t:"Release notes", n1d:"A summary each time a project ships. Bilingual.", n2t:"Blocked-project alerts", n2d:"Get pinged when a project is blocked.", n3t:"Weekly velocity digest", n3d:"Tasks shipped per week, every Monday morning.", n4t:"Quiet hours", n4d:"No pings between 22:00 and 07:00 local time.", advT:"Advanced preferences", advD:"Digest timing and quiet hours stay here — expand only when you need them.", dangerT:"Delete workspace", dangerD:"Removes every project and release. This cannot be undone.", dangerBtn:"Delete workspace", cancelBtn:"Cancel", saveBtn:"Save changes" };
|
|
83
|
+
const vi = { title:"Cài đặt", sub:"Không gian làm việc & tuỳ chọn · an@cyberskill.world", pfL:"Hồ sơ", ntL:"Thông báo", profileH:"Hồ sơ", profileP:"Đây là cách bạn hiển thị trong không gian làm việc.", nameL:"Họ và tên", emailL:"Email công việc", squadL:"Nhóm", ifaceL:"Ngôn ngữ giao diện", notifH:"Thông báo", notifP:"Chúng tôi giữ yên tĩnh — chỉ gửi thứ bạn yêu cầu.", n1t:"Ghi chú phát hành", n1d:"Bản tóm tắt mỗi khi một dự án ra mắt. Song ngữ.", n2t:"Cảnh báo dự án bị chặn", n2d:"Được báo khi một dự án bị chặn.", n3t:"Tóm tắt tốc độ tuần", n3d:"Số task giao mỗi tuần, sáng thứ Hai.", n4t:"Giờ yên tĩnh", n4d:"Không ping từ 22:00 đến 07:00 theo giờ địa phương.", advT:"Tuỳ chọn nâng cao", advD:"Thời gian tóm tắt và giờ yên tĩnh nằm ở đây — chỉ mở khi bạn cần.", dangerT:"Xoá không gian làm việc", dangerD:"Xoá mọi dự án và bản phát hành. Không thể hoàn tác.", dangerBtn:"Xoá không gian làm việc", cancelBtn:"Huỷ", saveBtn:"Lưu thay đổi" };
|
|
76
84
|
const t = vn ? vi : en;
|
|
77
85
|
return Object.assign({ langAttr: (this.props.language ?? "English") === "Tiếng Việt" ? "vi" : "en", elAttr, vaAttr, rootTheme: this.props.theme === "dark" ? "dark" : "", tab, isProfile: tab === "profile", isNotifications: tab === "notifications",
|
|
78
86
|
tabs: [{ value: "profile", label: t.pfL }, { value: "notifications", label: t.ntL }],
|
|
79
87
|
setTab: (v) => this.setState({ tab: v }),
|
|
88
|
+
dangerOpen: this.state.dangerOpen,
|
|
89
|
+
openDanger: () => this.setState({ dangerOpen: true }),
|
|
90
|
+
setDangerOpen: (v) => this.setState({ dangerOpen: !!v }),
|
|
91
|
+
closeDanger: () => this.setState({ dangerOpen: false }),
|
|
80
92
|
squads: [{ value: "platform", label: "Platform" }, { value: "ai", label: "AI" }, { value: "growth", label: "Growth" }],
|
|
81
93
|
langs: [{ value: "en", label: "English" }, { value: "vi", label: "Tiếng Việt" }]}, t);
|
|
82
94
|
}
|
|
@@ -97,6 +97,42 @@
|
|
|
97
97
|
"label": "Notification 2 description",
|
|
98
98
|
"maxLength": 80
|
|
99
99
|
},
|
|
100
|
+
{
|
|
101
|
+
"id": "n3t",
|
|
102
|
+
"type": "text",
|
|
103
|
+
"label": "Notification 3 title",
|
|
104
|
+
"maxLength": 30
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"id": "n3d",
|
|
108
|
+
"type": "text",
|
|
109
|
+
"label": "Notification 3 description",
|
|
110
|
+
"maxLength": 80
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "n4t",
|
|
114
|
+
"type": "text",
|
|
115
|
+
"label": "Notification 4 title",
|
|
116
|
+
"maxLength": 30
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"id": "n4d",
|
|
120
|
+
"type": "text",
|
|
121
|
+
"label": "Notification 4 description",
|
|
122
|
+
"maxLength": 80
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"id": "advT",
|
|
126
|
+
"type": "text",
|
|
127
|
+
"label": "Advanced preferences collapsible title",
|
|
128
|
+
"maxLength": 40
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "advD",
|
|
132
|
+
"type": "text",
|
|
133
|
+
"label": "Advanced preferences collapsible body",
|
|
134
|
+
"maxLength": 100
|
|
135
|
+
},
|
|
100
136
|
{
|
|
101
137
|
"id": "dangerT",
|
|
102
138
|
"type": "text",
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schemaVersion": "2.0",
|
|
3
|
+
"template": "team-meeting-agenda",
|
|
4
|
+
"slots": [
|
|
5
|
+
{
|
|
6
|
+
"id": "hdrLabel",
|
|
7
|
+
"type": "text",
|
|
8
|
+
"label": "Header agenda label",
|
|
9
|
+
"maxLength": 28,
|
|
10
|
+
"i18n": {
|
|
11
|
+
"en": "Header agenda label",
|
|
12
|
+
"vi": "Nhãn chương trình họp phần đầu"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schemaVersion": "2.0",
|
|
3
|
+
"template": "vn-disciplinary-schedule",
|
|
4
|
+
"slots": [
|
|
5
|
+
{
|
|
6
|
+
"id": "rows",
|
|
7
|
+
"type": "list",
|
|
8
|
+
"label": "Disciplinary schedule rows",
|
|
9
|
+
"i18n": {
|
|
10
|
+
"en": "Ordered schedule entries (columns per template table)",
|
|
11
|
+
"vi": "Các dòng lịch kỷ luật (theo cột bảng mẫu)"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|