├── .husky └── pre-commit ├── apps ├── docs │ ├── README.md │ ├── content │ │ └── docs │ │ │ ├── meta.json │ │ │ ├── design │ │ │ └── (components) │ │ │ │ ├── backlink.mdx │ │ │ │ ├── backlink.ms.mdx │ │ │ │ └── pill.mdx │ │ │ └── develop │ │ │ └── (components) │ │ │ └── input-otp.client.tsx │ ├── app │ │ ├── icon.ico │ │ ├── [lang] │ │ │ ├── source.ts │ │ │ └── (home) │ │ │ │ └── layout.tsx │ │ ├── api │ │ │ └── search │ │ │ │ └── route.ts │ │ └── layout.tsx │ ├── .eslintrc.json │ ├── public │ │ ├── assets │ │ │ ├── hero │ │ │ │ └── image.webp │ │ │ ├── jata-negara.png │ │ │ ├── content1 │ │ │ │ └── image.webp │ │ │ ├── content2 │ │ │ │ └── image.webp │ │ │ ├── content3 │ │ │ │ └── image.webp │ │ │ ├── og │ │ │ │ └── images │ │ │ │ │ ├── en-MY.png │ │ │ │ │ └── ms-MY.png │ │ │ └── icons │ │ │ │ ├── about-icon3.svg │ │ │ │ └── about-icon1.svg │ │ └── sitemap.xml │ ├── postcss.config.js │ ├── i18n.ts │ ├── env.d.ts │ ├── lib │ │ ├── s3-loader.ts │ │ └── constant.ts │ ├── locales │ │ └── _server.ts │ ├── middleware.ts │ ├── .gitignore │ ├── components │ │ ├── preview.tsx │ │ ├── analytics.tsx │ │ ├── Paragraph.tsx │ │ ├── Tag.tsx │ │ └── section.tsx │ ├── icons │ │ ├── direction.tsx │ │ ├── chevron-down.tsx │ │ ├── chevron-up.tsx │ │ ├── chevron-left.tsx │ │ ├── chevron-right.tsx │ │ ├── arrow-back.tsx │ │ ├── cross-x.tsx │ │ ├── arrow-forward.tsx │ │ ├── arrow-outgoing.tsx │ │ ├── bolt.tsx │ │ ├── hamburger-menu.tsx │ │ ├── checkmark.tsx │ │ ├── gov.tsx │ │ ├── star.tsx │ │ ├── map.tsx │ │ ├── flag.tsx │ │ ├── search.tsx │ │ ├── mail-white.tsx │ │ ├── file-document-paper.tsx │ │ ├── new-tab.tsx │ │ ├── envelope.tsx │ │ ├── check-circle.tsx │ │ ├── globe.tsx │ │ └── checkmark-shield.tsx │ ├── next.config.mjs │ ├── source.config.ts │ └── tsconfig.json ├── standard │ ├── README.md │ ├── app │ │ ├── icon.ico │ │ ├── source.ts │ │ ├── (home) │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ └── api │ │ │ └── search │ │ │ └── route.ts │ ├── content │ │ └── docs │ │ │ ├── meta.json │ │ │ ├── arkitektur-perkhidmatan │ │ │ └── meta.json │ │ │ └── prinsip │ │ │ └── meta.json │ ├── public │ │ ├── images │ │ │ └── docs │ │ │ │ ├── sso1.png │ │ │ │ ├── cia_triad.png │ │ │ │ ├── interoperability.png │ │ │ │ └── rajah_arkitektur_perkhidmatan_new.png │ │ └── assets │ │ │ └── jata-negara.png │ ├── postcss.config.js │ ├── source.config.ts │ ├── next.config.mjs │ ├── .gitignore │ ├── components │ │ ├── preview.tsx │ │ ├── Paragraph.tsx │ │ ├── Tag.tsx │ │ ├── myds.tsx │ │ └── section.tsx │ ├── lib │ │ └── constant.ts │ ├── icons │ │ ├── direction.tsx │ │ ├── chevron-down.tsx │ │ ├── chevron-up.tsx │ │ ├── chevron-left.tsx │ │ ├── chevron-right.tsx │ │ ├── arrow-back.tsx │ │ ├── cross-x.tsx │ │ ├── arrow-forward.tsx │ │ ├── arrow-outgoing.tsx │ │ ├── bolt.tsx │ │ ├── hamburger-menu.tsx │ │ ├── checkmark.tsx │ │ ├── gov.tsx │ │ ├── star.tsx │ │ ├── map.tsx │ │ ├── flag.tsx │ │ ├── search.tsx │ │ ├── mail-white.tsx │ │ ├── file-document-paper.tsx │ │ ├── new-tab.tsx │ │ ├── envelope.tsx │ │ ├── check-circle.tsx │ │ ├── globe.tsx │ │ └── checkmark-shield.tsx │ └── tsconfig.json └── storybook │ ├── README.md │ ├── stories │ ├── assets │ │ ├── docs.png │ │ ├── share.png │ │ ├── assets.png │ │ ├── context.png │ │ ├── styling.png │ │ ├── testing.png │ │ ├── theming.png │ │ ├── figma-plugin.png │ │ ├── accessibility.png │ │ ├── addon-library.png │ │ ├── avif-test-image.avif │ │ └── youtube.svg │ ├── article.stories.tsx │ └── header.css │ ├── postcss.config.js │ ├── vite.config.ts │ ├── tailwind.config.ts │ ├── .storybook │ ├── preview.ts │ └── test-runner.ts │ ├── react │ ├── arrow-back.jsx │ └── arrow-forward.jsx │ ├── tsconfig.json │ └── utils │ └── index.ts ├── .prettierrc ├── pnpm-workspace.yaml ├── packages ├── _eslint │ ├── README.md │ ├── CHANGELOG.md │ ├── package.json │ └── library.js ├── style │ ├── tsconfig.json │ └── postcss.config.js ├── react │ ├── tsconfig.json │ ├── src │ │ ├── svg │ │ │ └── icons │ │ │ │ ├── filter-asc.svg │ │ │ │ ├── filter-desc.svg │ │ │ │ ├── filter.svg │ │ │ │ ├── minus.svg │ │ │ │ ├── align-left.svg │ │ │ │ ├── plus.svg │ │ │ │ ├── align-center.svg │ │ │ │ ├── align-justify.svg │ │ │ │ ├── align-right.svg │ │ │ │ ├── direction.svg │ │ │ │ ├── chevron-down.svg │ │ │ │ ├── chevron-left.svg │ │ │ │ ├── chevron-up.svg │ │ │ │ ├── chevron-right.svg │ │ │ │ ├── arrow-incoming.svg │ │ │ │ ├── cross.svg │ │ │ │ ├── arrow-up.svg │ │ │ │ ├── bolt.svg │ │ │ │ ├── hamburger-menu.svg │ │ │ │ ├── arrow-back.svg │ │ │ │ ├── arrow-outgoing.svg │ │ │ │ ├── italic.svg │ │ │ │ ├── arrow-down.svg │ │ │ │ ├── arrow-forward.svg │ │ │ │ ├── cursor.svg │ │ │ │ ├── check.svg │ │ │ │ ├── govt-office.svg │ │ │ │ ├── arrow-forward-close.svg │ │ │ │ ├── text.svg │ │ │ │ ├── arrow-back-close.svg │ │ │ │ ├── drop-arrow-down.svg │ │ │ │ ├── star.svg │ │ │ │ ├── chevron-down-fill.svg │ │ │ │ ├── section.svg │ │ │ │ ├── chevron-right-fill.svg │ │ │ │ ├── clock.svg │ │ │ │ ├── undo.svg │ │ │ │ ├── redo.svg │ │ │ │ ├── upload.svg │ │ │ │ ├── flag.svg │ │ │ │ ├── map.svg │ │ │ │ ├── play.svg │ │ │ │ ├── logout.svg │ │ │ │ ├── printer.svg │ │ │ │ ├── bell.svg │ │ │ │ ├── chevron-left-fill.svg │ │ │ │ ├── chevron-up-fill.svg │ │ │ │ ├── star-fill.svg │ │ │ │ ├── download.svg │ │ │ │ ├── info.svg │ │ │ │ ├── minus-circle.svg │ │ │ │ ├── reload.svg │ │ │ │ ├── search.svg │ │ │ │ ├── document.svg │ │ │ │ ├── email.svg │ │ │ │ ├── plus-circle.svg │ │ │ │ ├── twitter-x.svg │ │ │ │ ├── cross-circle.svg │ │ │ │ ├── warning-circle.svg │ │ │ │ ├── zoom-out.svg │ │ │ │ ├── expand.svg │ │ │ │ ├── document-minus.svg │ │ │ │ ├── zoom-in.svg │ │ │ │ ├── document-add.svg │ │ │ │ ├── document-filled.svg │ │ │ │ ├── input-field.svg │ │ │ │ ├── lock.svg │ │ │ │ ├── swap.svg │ │ │ │ ├── warning.svg │ │ │ │ ├── button.svg │ │ │ │ ├── calendar.svg │ │ │ │ ├── folder.svg │ │ │ │ ├── legacy-mini-ambulance-mers.svg │ │ │ │ ├── check-circle.svg │ │ │ │ ├── check-shield.svg │ │ │ │ ├── lock-2.svg │ │ │ │ ├── copy.svg │ │ │ │ ├── folder-minus.svg │ │ │ │ ├── edit.svg │ │ │ │ ├── folder-plus.svg │ │ │ │ ├── trash.svg │ │ │ │ ├── home.svg │ │ │ │ ├── placeholder.svg │ │ │ │ ├── warning-diamond.svg │ │ │ │ ├── duplicate.svg │ │ │ │ ├── desktop.svg │ │ │ │ ├── heart.svg │ │ │ │ ├── trophy.svg │ │ │ │ ├── link-diagonal.svg │ │ │ │ ├── globe.svg │ │ │ │ ├── pause.svg │ │ │ │ ├── attachment.svg │ │ │ │ ├── eye-show.svg │ │ │ │ ├── money.svg │ │ │ │ ├── moon.svg │ │ │ │ ├── pin.svg │ │ │ │ ├── reset-style.svg │ │ │ │ ├── book.svg │ │ │ │ ├── share.svg │ │ │ │ ├── phone.svg │ │ │ │ ├── question-circle.svg │ │ │ │ ├── column-expand.svg │ │ │ │ ├── column-collapse.svg │ │ │ │ ├── underline.svg │ │ │ │ ├── user.svg │ │ │ │ ├── legacy-ambulance-mers.svg │ │ │ │ ├── mobile.svg │ │ │ │ ├── sun.svg │ │ │ │ ├── gallery.svg │ │ │ │ ├── tablet.svg │ │ │ │ ├── check-circle-fill.svg │ │ │ │ ├── component.svg │ │ │ │ ├── accessible.svg │ │ │ │ ├── facebook.svg │ │ │ │ ├── lock-fill.svg │ │ │ │ ├── warning-fill.svg │ │ │ │ ├── eye-hide.svg │ │ │ │ ├── forms.svg │ │ │ │ ├── tiktok.svg │ │ │ │ └── legacy-mini-hospital-moh.svg │ │ ├── hooks │ │ │ ├── index.ts │ │ │ └── use-callback-ref.ts │ │ ├── utils │ │ │ └── events.ts │ │ └── icons │ │ │ ├── filter-asc.tsx │ │ │ ├── filter-desc.tsx │ │ │ ├── filter.tsx │ │ │ ├── minus.tsx │ │ │ ├── plus.tsx │ │ │ ├── align-left.tsx │ │ │ ├── align-right.tsx │ │ │ ├── align-center.tsx │ │ │ ├── direction.tsx │ │ │ ├── align-justify.tsx │ │ │ ├── chevron-up.tsx │ │ │ ├── chevron-down.tsx │ │ │ ├── chevron-left.tsx │ │ │ ├── cross.tsx │ │ │ ├── bolt.tsx │ │ │ ├── chevron-right.tsx │ │ │ ├── arrow-up.tsx │ │ │ ├── italic.tsx │ │ │ ├── arrow-back.tsx │ │ │ ├── arrow-down.tsx │ │ │ ├── arrow-incoming.tsx │ │ │ ├── cursor.tsx │ │ │ ├── check.tsx │ │ │ ├── hamburger-menu.tsx │ │ │ ├── arrow-outgoing.tsx │ │ │ ├── arrow-forward.tsx │ │ │ ├── text.tsx │ │ │ ├── govt-office.tsx │ │ │ ├── star.tsx │ │ │ ├── arrow-back-close.tsx │ │ │ ├── arrow-forward-close.tsx │ │ │ ├── drop-arrow-down.tsx │ │ │ ├── clock.tsx │ │ │ ├── undo.tsx │ │ │ ├── map.tsx │ │ │ ├── redo.tsx │ │ │ ├── section.tsx │ │ │ ├── flag.tsx │ │ │ ├── play.tsx │ │ │ ├── upload.tsx │ │ │ ├── bell.tsx │ │ │ ├── logout.tsx │ │ │ ├── printer.tsx │ │ │ ├── chevron-down-fill.tsx │ │ │ ├── info.tsx │ │ │ ├── reload.tsx │ │ │ ├── search.tsx │ │ │ ├── download.tsx │ │ │ ├── star-fill.tsx │ │ │ ├── chevron-right-fill.tsx │ │ │ ├── chevron-up-fill.tsx │ │ │ ├── document.tsx │ │ │ ├── email.tsx │ │ │ ├── expand.tsx │ │ │ ├── minus-circle.tsx │ │ │ ├── twitter-x.tsx │ │ │ ├── chevron-left-fill.tsx │ │ │ ├── plus-circle.tsx │ │ │ ├── zoom-out.tsx │ │ │ ├── zoom-in.tsx │ │ │ ├── cross-circle.tsx │ │ │ ├── swap.tsx │ │ │ ├── lock.tsx │ │ │ ├── warning-circle.tsx │ │ │ ├── document-add.tsx │ │ │ ├── document-minus.tsx │ │ │ ├── warning.tsx │ │ │ ├── button.tsx │ │ │ ├── input-field.tsx │ │ │ ├── folder.tsx │ │ │ └── calendar.tsx │ ├── tsup.config.ts │ └── .eslintrc.js └── _typescript │ ├── package.json │ ├── react-library.json │ ├── nextjs.json │ └── base.json ├── turbo └── generators │ ├── templates │ ├── docs-mdx.hbs │ ├── react-hook.hbs │ └── react-component.hbs │ ├── scripts │ └── util.ts │ └── package.json ├── .changeset ├── witty-pianos-invite.md ├── config.json └── README.md ├── .lintstagedrc ├── turbo.json └── .gitignore /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npx lint-staged -------------------------------------------------------------------------------- /apps/docs/README.md: -------------------------------------------------------------------------------- 1 | # docs 2 | -------------------------------------------------------------------------------- /apps/standard/README.md: -------------------------------------------------------------------------------- 1 | # standard 2 | -------------------------------------------------------------------------------- /apps/storybook/README.md: -------------------------------------------------------------------------------- 1 | # `storybook` -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["prettier-plugin-tailwindcss"] 3 | } 4 | -------------------------------------------------------------------------------- /apps/docs/content/docs/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": ["design", "develop"] 3 | } 4 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - "apps/*" 3 | - "packages/*" 4 | - "turbo/*" 5 | -------------------------------------------------------------------------------- /apps/docs/app/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/docs/app/icon.ico -------------------------------------------------------------------------------- /apps/standard/app/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/standard/app/icon.ico -------------------------------------------------------------------------------- /apps/standard/content/docs/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": ["prinsip", "arkitektur-perkhidmatan"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/_eslint/README.md: -------------------------------------------------------------------------------- 1 | # `@turbo/eslint-config` 2 | 3 | Collection of internal eslint configurations. 4 | -------------------------------------------------------------------------------- /turbo/generators/templates/docs-mdx.hbs: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | description: {{ title}} 4 | --- 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "next/core-web-vitals", 4 | "next/typescript" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /apps/docs/public/assets/hero/image.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/docs/public/assets/hero/image.webp -------------------------------------------------------------------------------- /apps/docs/public/assets/jata-negara.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/docs/public/assets/jata-negara.png -------------------------------------------------------------------------------- /apps/storybook/stories/assets/docs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/docs.png -------------------------------------------------------------------------------- /apps/storybook/stories/assets/share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/share.png -------------------------------------------------------------------------------- /turbo/generators/scripts/util.ts: -------------------------------------------------------------------------------- 1 | export const icon_directory = { 2 | react: "../../../packages/react/src/icons", 3 | }; 4 | -------------------------------------------------------------------------------- /apps/standard/public/images/docs/sso1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/standard/public/images/docs/sso1.png -------------------------------------------------------------------------------- /apps/storybook/stories/assets/assets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/assets.png -------------------------------------------------------------------------------- /apps/storybook/stories/assets/context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/context.png -------------------------------------------------------------------------------- /apps/storybook/stories/assets/styling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/styling.png -------------------------------------------------------------------------------- /apps/storybook/stories/assets/testing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/testing.png -------------------------------------------------------------------------------- /apps/storybook/stories/assets/theming.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/theming.png -------------------------------------------------------------------------------- /apps/docs/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /apps/docs/public/assets/content1/image.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/docs/public/assets/content1/image.webp -------------------------------------------------------------------------------- /apps/docs/public/assets/content2/image.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/docs/public/assets/content2/image.webp -------------------------------------------------------------------------------- /apps/docs/public/assets/content3/image.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/docs/public/assets/content3/image.webp -------------------------------------------------------------------------------- /apps/docs/public/assets/og/images/en-MY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/docs/public/assets/og/images/en-MY.png -------------------------------------------------------------------------------- /apps/docs/public/assets/og/images/ms-MY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/docs/public/assets/og/images/ms-MY.png -------------------------------------------------------------------------------- /apps/standard/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /apps/standard/public/assets/jata-negara.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/standard/public/assets/jata-negara.png -------------------------------------------------------------------------------- /apps/standard/public/images/docs/cia_triad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/standard/public/images/docs/cia_triad.png -------------------------------------------------------------------------------- /apps/storybook/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /apps/storybook/stories/assets/figma-plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/figma-plugin.png -------------------------------------------------------------------------------- /.changeset/witty-pianos-invite.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@govtechmy/myds-react": patch 3 | --- 4 | 5 | Maximize available width for p tag before truncating 6 | -------------------------------------------------------------------------------- /apps/storybook/stories/assets/accessibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/accessibility.png -------------------------------------------------------------------------------- /apps/storybook/stories/assets/addon-library.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/addon-library.png -------------------------------------------------------------------------------- /apps/storybook/stories/assets/avif-test-image.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/storybook/stories/assets/avif-test-image.avif -------------------------------------------------------------------------------- /apps/standard/public/images/docs/interoperability.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/standard/public/images/docs/interoperability.png -------------------------------------------------------------------------------- /.lintstagedrc: -------------------------------------------------------------------------------- 1 | { 2 | "apps/docs/**/*.{js,ts,tsx,jsx}": ["pnpm exec eslint --fix"], 3 | "packages/react/**/*.{js,ts,tsx,jsx}": ["pnpm exec eslint --fix"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/style/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../_typescript/base.json", 3 | "include": ["../react/src/**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/_eslint/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @myds/eslint-config 2 | 3 | ## 0.0.1 4 | 5 | ### Patch Changes 6 | 7 | - d92931f: Added jsx-a11y and typescript parser in react lint 8 | -------------------------------------------------------------------------------- /packages/react/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../_typescript/react-library.json", 3 | "include": ["src"], 4 | "exclude": ["dist", "build", "node_modules"] 5 | } 6 | -------------------------------------------------------------------------------- /apps/docs/i18n.ts: -------------------------------------------------------------------------------- 1 | import type { I18nConfig } from "fumadocs-core/i18n"; 2 | 3 | export const i18n: I18nConfig = { 4 | defaultLanguage: "en", 5 | languages: ["en", "ms"], 6 | }; 7 | -------------------------------------------------------------------------------- /apps/storybook/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import react from "@vitejs/plugin-react"; 3 | 4 | export default defineConfig({ 5 | plugins: [react()], 6 | }); -------------------------------------------------------------------------------- /apps/standard/public/images/docs/rajah_arkitektur_perkhidmatan_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/salimi-my/myds/main/apps/standard/public/images/docs/rajah_arkitektur_perkhidmatan_new.png -------------------------------------------------------------------------------- /turbo/generators/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@govtechmy/myds-cli", 3 | "private": true, 4 | "version": "0.0.0", 5 | "devDependencies": { 6 | "@turbo/gen": "^2.1.3" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/_typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@myds/typescript-config", 3 | "version": "0.0.0", 4 | "private": true, 5 | "license": "MIT", 6 | "publishConfig": { 7 | "access": "public" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apps/docs/env.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace NodeJS { 2 | export interface ProcessEnv { 3 | readonly APP_ENV: "development" | "production"; 4 | readonly TINYBIRD_HOST: string; 5 | readonly TINYBIRD_TOKEN: string; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/standard/source.config.ts: -------------------------------------------------------------------------------- 1 | import { remarkImage } from "fumadocs-core/mdx-plugins"; 2 | import { defineDocs, defineConfig } from "fumadocs-mdx/config"; 3 | 4 | export const { docs, meta } = defineDocs(); 5 | 6 | export default defineConfig({}); 7 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/filter-asc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/filter-desc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/style/postcss.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | "postcss-import": {}, 5 | tailwindcss: {}, 6 | autoprefixer: {}, 7 | }, 8 | }; 9 | 10 | export default config; 11 | -------------------------------------------------------------------------------- /apps/docs/lib/s3-loader.ts: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | interface S3LoaderProps { 4 | src: string; 5 | } 6 | 7 | const s3Loader = ({ src }: S3LoaderProps) => { 8 | return `https://d2391uizq0pg2.cloudfront.net${src}`; 9 | }; 10 | 11 | export default s3Loader; 12 | -------------------------------------------------------------------------------- /apps/standard/next.config.mjs: -------------------------------------------------------------------------------- 1 | import { createMDX } from "fumadocs-mdx/next"; 2 | 3 | const withMDX = createMDX(); 4 | 5 | /** @type {import('next').NextConfig} */ 6 | const config = { 7 | reactStrictMode: true, 8 | }; 9 | 10 | export default withMDX(config); 11 | -------------------------------------------------------------------------------- /apps/standard/app/source.ts: -------------------------------------------------------------------------------- 1 | import { docs, meta } from "@/.source"; 2 | import { createMDXSource } from "fumadocs-mdx"; 3 | import { loader } from "fumadocs-core/source"; 4 | 5 | export const source = loader({ 6 | baseUrl: "/docs", 7 | source: createMDXSource(docs, meta), 8 | }); 9 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/filter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/minus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/locales/_server.ts: -------------------------------------------------------------------------------- 1 | import rosetta from "rosetta"; 2 | import en from "./en"; 3 | import ms from "./ms"; 4 | 5 | const getRosetta = (lang: "en" | "ms") => { 6 | const i18n = rosetta({ en, ms }); 7 | i18n.locale(lang); 8 | 9 | return i18n; 10 | }; 11 | export { getRosetta }; 12 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/align-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/align-center.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/align-justify.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/align-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/direction.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/_typescript/react-library.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "display": "React Library", 4 | "extends": "./base.json", 5 | "compilerOptions": { 6 | "jsx": "react-jsx", 7 | "module": "NodeNext", 8 | "target": "es6", 9 | "noEmit": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export { useCallbackRef } from "./use-callback-ref"; 2 | export { useControllableState } from "./use-controllable-state"; 3 | export { default as useToast } from "./use-toast"; 4 | export { usePagination } from "./use-pagination"; 5 | export { ThemeProvider, ThemeContext, useTheme } from "./use-theme"; 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/arrow-incoming.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/cross.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/app/[lang]/source.ts: -------------------------------------------------------------------------------- 1 | import { i18n } from "@/i18n"; 2 | import { docs, meta } from "@/.source"; 3 | import { createMDXSource } from "fumadocs-mdx"; 4 | import { loader } from "fumadocs-core/source"; 5 | 6 | export const source = loader({ 7 | i18n, 8 | baseUrl: "/docs", 9 | source: createMDXSource(docs, meta), 10 | }); 11 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/bolt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/hamburger-menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/_typescript/nextjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "display": "Next.js", 4 | "extends": "./base.json", 5 | "compilerOptions": { 6 | "plugins": [{ "name": "next" }], 7 | "module": "ESNext", 8 | "allowJs": true, 9 | "jsx": "preserve", 10 | "noEmit": true 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/arrow-back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/arrow-outgoing.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/italic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/arrow-forward.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/cursor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/utils/events.ts: -------------------------------------------------------------------------------- 1 | import mitt from "mitt"; 2 | import type { ToastEvent } from "../components/toast"; 3 | /*========================================================================================================================*/ 4 | 5 | type Events = { 6 | "toast.add": ToastEvent; 7 | }; 8 | 9 | export const emitter = mitt(); 10 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/middleware.ts: -------------------------------------------------------------------------------- 1 | import { createI18nMiddleware } from "fumadocs-core/i18n"; 2 | import { i18n } from "@/i18n"; 3 | 4 | export default createI18nMiddleware(i18n); 5 | 6 | export const config = { 7 | // Matcher ignoring `/_next/` and `/api/` 8 | matcher: [ 9 | "/((?!api|_next/static|_next/image|favicon.ico|icon.ico|sitemap.xml|assets).*)", 10 | ], 11 | }; 12 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/govt-office.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/arrow-forward-close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@3.0.5/schema.json", 3 | "changelog": "@changesets/cli/changelog", 4 | "commit": false, 5 | "fixed": [], 6 | "linked": [], 7 | "access": "public", 8 | "baseBranch": "main", 9 | "updateInternalDependencies": "patch", 10 | "ignore": ["@govtechmy/myds-cli", "@myds/typescript-config"] 11 | } 12 | -------------------------------------------------------------------------------- /apps/storybook/tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import { Config } from "tailwindcss"; 2 | import { preset } from "@govtechmy/myds-style"; 3 | 4 | const config: Config = { 5 | content: [ 6 | "./stories/**/*.{ts,tsx,js,jsx}", 7 | "./react/**/*.{ts,tsx,js,jsx}", 8 | "../../packages/react/src/**/*.{ts,tsx}", 9 | ], 10 | presets: [preset], 11 | }; 12 | 13 | export default config; 14 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/arrow-back-close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/drop-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/star.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/.gitignore: -------------------------------------------------------------------------------- 1 | # deps 2 | /node_modules 3 | 4 | # generated content 5 | .contentlayer 6 | .content-collections 7 | .source 8 | 9 | # test & build 10 | /coverage 11 | /.next/ 12 | /out/ 13 | /build 14 | *.tsbuildinfo 15 | 16 | # misc 17 | .DS_Store 18 | *.pem 19 | /.pnp 20 | .pnp.js 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | 25 | # others 26 | .env*.local 27 | .vercel 28 | next-env.d.ts -------------------------------------------------------------------------------- /packages/react/src/svg/icons/chevron-down-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/section.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/standard/.gitignore: -------------------------------------------------------------------------------- 1 | # deps 2 | /node_modules 3 | 4 | # generated content 5 | .contentlayer 6 | .content-collections 7 | .source 8 | 9 | # test & build 10 | /coverage 11 | /.next/ 12 | /out/ 13 | /build 14 | *.tsbuildinfo 15 | 16 | # misc 17 | .DS_Store 18 | *.pem 19 | /.pnp 20 | .pnp.js 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | 25 | # others 26 | .env*.local 27 | .vercel 28 | next-env.d.ts -------------------------------------------------------------------------------- /apps/storybook/.storybook/preview.ts: -------------------------------------------------------------------------------- 1 | import { Preview } from "@storybook/react"; 2 | import "./global.css"; 3 | 4 | const preview: Preview = { 5 | tags: ["autodocs"], 6 | parameters: { 7 | deepControls: { enabled: true }, 8 | controls: { 9 | matchers: { 10 | color: /(background|color)$/i, 11 | date: /Date$/i, 12 | }, 13 | }, 14 | }, 15 | }; 16 | 17 | export default preview; 18 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/chevron-right-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/clock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/undo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/redo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/upload.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/components/preview.tsx: -------------------------------------------------------------------------------- 1 | import React, { FunctionComponent, ReactNode } from "react"; 2 | 3 | interface PreviewProps { 4 | children: ReactNode; 5 | } 6 | const Preview: FunctionComponent = ({ children }) => { 7 | return ( 8 |
9 | {children} 10 |
11 | ); 12 | }; 13 | 14 | export default Preview; 15 | -------------------------------------------------------------------------------- /apps/standard/app/(home)/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { ReactNode } from "react"; 2 | import { HomeLayout } from "fumadocs-ui/home-layout"; 3 | import { getDocsConfig } from "@/app/layout.config"; 4 | 5 | export default function Layout({ 6 | children, 7 | }: { 8 | children: ReactNode; 9 | }): React.ReactElement { 10 | const { config } = getDocsConfig(); 11 | 12 | return {children}; 13 | } 14 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/flag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/map.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/standard/components/preview.tsx: -------------------------------------------------------------------------------- 1 | import React, { FunctionComponent, ReactNode } from "react"; 2 | 3 | interface PreviewProps { 4 | children: ReactNode; 5 | } 6 | const Preview: FunctionComponent = ({ children }) => { 7 | return ( 8 |
9 | {children} 10 |
11 | ); 12 | }; 13 | 14 | export default Preview; 15 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/logout.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/printer.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/bell.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/chevron-left-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/chevron-up-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/star-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/standard/app/api/search/route.ts: -------------------------------------------------------------------------------- 1 | import { source } from "@/app/source"; 2 | import { createSearchAPI } from "fumadocs-core/search/server"; 3 | 4 | export const { GET } = createSearchAPI("advanced", { 5 | indexes: source.getPages().map((page) => ({ 6 | title: page.data.title, 7 | description: page.data.description, 8 | structuredData: page.data.structuredData, 9 | id: page.url, 10 | url: page.url, 11 | })), 12 | }); 13 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/download.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/info.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "tsup"; 2 | 3 | export default defineConfig((options) => ({ 4 | ...options, 5 | entryPoints: [ 6 | "src/components/**/*.tsx", 7 | "src/hooks/index.ts", 8 | "src/utils/index.ts", 9 | "src/icons/index.ts", 10 | ], 11 | format: ["cjs", "esm"], 12 | clean: true, 13 | dts: true, 14 | sourcemap: true, 15 | external: ["react"], 16 | minify: true, 17 | })); 18 | -------------------------------------------------------------------------------- /apps/docs/app/api/search/route.ts: -------------------------------------------------------------------------------- 1 | import { source } from "@/app/[lang]/source"; 2 | import { createSearchAPI } from "fumadocs-core/search/server"; 3 | 4 | export const { GET } = createSearchAPI("advanced", { 5 | indexes: source.getPages().map((page) => ({ 6 | title: page.data.title, 7 | description: page.data.description, 8 | structuredData: page.data.structuredData, 9 | id: page.url, 10 | url: page.url, 11 | })), 12 | }); 13 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/reload.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/standard/lib/constant.ts: -------------------------------------------------------------------------------- 1 | export const links = { 2 | figma: 3 | "https://www.figma.com/design/svmWSPZarzWrJ116CQ8zpV/MYDS-(Beta)?node-id=7-20696", 4 | standard: "https://standard.digital.gov.my/", 5 | github: "https://github.com/govtechmy/myds", 6 | github_issue: "https://github.com/govtechmy/myds/issues", 7 | }; 8 | 9 | export const s3 = (path: string) => { 10 | return `https://gnu-myds.s3.ap-southeast-1.amazonaws.com${path}`; 11 | }; 12 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/document.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/email.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/twitter-x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/public/assets/icons/about-icon3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/cross-circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/warning-circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/zoom-out.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/public/assets/icons/about-icon1.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | 7 | -------------------------------------------------------------------------------- /apps/docs/public/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | https://design.digital.gov.my 4 | 2024-07-24T04:38:06.381Z 5 | daily 6 | 1 7 | 8 | 9 | design.digital.gov.my/ms-MY 10 | 2024-07-24T04:38:06.381Z 11 | daily 12 | 1 13 | 14 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/expand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/document-minus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/zoom-in.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/document-add.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/document-filled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/input-field.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/lock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/react/src/svg/icons/swap.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/components/analytics.tsx: -------------------------------------------------------------------------------- 1 | import Script from "next/script"; 2 | import { FunctionComponent } from "react"; 3 | 4 | const Analytics: FunctionComponent = () => { 5 | if (process.env.APP_ENV !== "production") return null; 6 | return ( 7 |