├── docs ├── sb-addons │ ├── jsx-0 │ │ └── register-bundle.mjs.LEGAL.txt │ └── viewport-1 │ │ └── manager-bundle.mjs.LEGAL.txt ├── 381.4e602118.iframe.bundle.js.LICENSE.txt ├── sb-preview │ └── globals.mjs ├── 1d58b156e5039f54f20e.woff ├── 4674f8ded773cb03e824.eot ├── 52da2ce9337824bb1c42.png ├── 5e7382c63da0098d634a.ttf ├── 6ee6518484fc623f0541.png ├── 83bebaf37c09c7e1c3ee.woff ├── a627aadb2fd585ccecb4.woff ├── faccb2ebffcda223756c.woff ├── cff684e59ffb052d72cb.woff2 ├── sb-common-assets │ ├── nunito-sans-bold.woff2 │ ├── nunito-sans-italic.woff2 │ ├── nunito-sans-regular.woff2 │ ├── nunito-sans-bold-italic.woff2 │ └── fonts.css ├── static │ ├── media │ │ ├── arrow.63275e553a4a17ca56a8e6e3a5c6ab44.svg │ │ ├── icon.0d3902213c5f60b4007becaae9ef1757.svg │ │ ├── close.f554bd5f8fe91fb4dc1fd423d7151782.svg │ │ ├── notification-success.ffe99f349a81809bf2e3cdb9e18d7a9b.svg │ │ ├── notification-warning.fb9bcb121e1fdc008308674a584a79f9.svg │ │ ├── notification-hint.380074ac7563337d853f10a3c176b76e.svg │ │ ├── notification-warning-white.e0ad2162cb219832f1e18a1953c8d6d0.svg │ │ ├── notification-success-white.45764c91254fa96a24fb15742ad5b31c.svg │ │ ├── notification-hint-white.8a18c5085ada92f37985e8154f007526.svg │ │ ├── stripes.539b7b2c09731bfcc27576b3f4f1c12a.svg │ │ ├── arrow_drop_down.1a49e46ad1d882ff659247677c078cdf.svg │ │ ├── notification-error.ff122476c7682739da7e5c633f61aeca.svg │ │ ├── notification-error-white.15ad8e7217b81f2413de641bff363acc.svg │ │ ├── arrow-white.cfbaea7155056117498e6352ad7e0099.svg │ │ ├── send.82860b853ca61a25b356f7c034035efd.svg │ │ ├── disabled-send.3fe2c6d0793fd78fc5d8bb9953cfca3b.svg │ │ └── show.60213530d131c81880943ea5d41546fb.svg │ └── css │ │ ├── pointer-index-stories.89288c59.chunk.css │ │ ├── stepper-index-stories.71e34c64.chunk.css │ │ └── pointer-index-stories.89288c59.chunk.css.map ├── image-index-stories.6157706d.iframe.bundle.js.LICENSE.txt ├── stepper-index-stories.0087922a.iframe.bundle.js.LICENSE.txt ├── sb-manager │ ├── WithTooltip-3BDV6MYO-BRIGQ5XR.mjs │ ├── index.mjs │ ├── syntaxhighlighter-QTQ2UBB4-CDBNTZEW.mjs │ ├── chunk-GPWZILNL.mjs │ ├── chunk-WCYDYUGX.mjs │ ├── chunk-KQFPYAFV.mjs │ └── chunk-JCTATS4D.mjs ├── toggle-button-index-stories.d137d9ba.iframe.bundle.js.LICENSE.txt ├── chat-index-stories.b6b2cc34.iframe.bundle.js.LICENSE.txt ├── form-index-stories.bf64d70a.iframe.bundle.js.LICENSE.txt ├── list-index-stories.d39b048a.iframe.bundle.js.LICENSE.txt ├── menu-index-stories.9c0b8d92.iframe.bundle.js.LICENSE.txt ├── tab-index-stories.f32c4b2e.iframe.bundle.js.LICENSE.txt ├── tag-index-stories.a7921602.iframe.bundle.js.LICENSE.txt ├── accordion-index-stories.a52f7184.iframe.bundle.js.LICENSE.txt ├── banner-index-stories.249e2f9d.iframe.bundle.js.LICENSE.txt ├── button-index-stories.925bd536.iframe.bundle.js.LICENSE.txt ├── checkbox-index-stories.4e652a10.iframe.bundle.js.LICENSE.txt ├── input-index-stories.2742154a.iframe.bundle.js.LICENSE.txt ├── modal-index-stories.264f295b.iframe.bundle.js.LICENSE.txt ├── navbar-index-stories.d7fc67f8.iframe.bundle.js.LICENSE.txt ├── pointer-index-stories.cd4d9356.iframe.bundle.js.LICENSE.txt ├── select-index-stories.f23a90d7.iframe.bundle.js.LICENSE.txt ├── textarea-index-stories.4d4a01ab.iframe.bundle.js.LICENSE.txt ├── timeline-index-stories.8e1df746.iframe.bundle.js.LICENSE.txt ├── toolbar-index-stories.6abbdf9d.iframe.bundle.js.LICENSE.txt ├── action-table-index-stories.2317d896.iframe.bundle.js.LICENSE.txt ├── button-group-index-stories.dda4ae20.iframe.bundle.js.LICENSE.txt ├── collection-index-stories.fc0f39f9.iframe.bundle.js.LICENSE.txt ├── counter-button-index-stories.e1271c3d.iframe.bundle.js.LICENSE.txt ├── data-table-index-stories.19c5a3e3.iframe.bundle.js.LICENSE.txt ├── dialog-content-index-stories.ad31283d.iframe.bundle.js.LICENSE.txt ├── file-input-index-stories.122e126a.iframe.bundle.js.LICENSE.txt ├── license-plate-index-stories.6677c6a2.iframe.bundle.js.LICENSE.txt ├── notification-index-stories.e634ea1a.iframe.bundle.js.LICENSE.txt ├── progress-bar-index-stories.42c9a03e.iframe.bundle.js.LICENSE.txt ├── radiobutton-index-stories.164fc5e8.iframe.bundle.js.LICENSE.txt ├── tab-column-index-stories.0a4ed677.iframe.bundle.js.LICENSE.txt ├── file-input-wrapper-index-stories.1e3711f0.iframe.bundle.js.LICENSE.txt ├── 612.styles.css ├── project.json ├── 687.bbe822d9.iframe.bundle.js.LICENSE.txt ├── 747.styles.css ├── 612.styles.css.map └── favicon.svg ├── dist ├── 18ffcf226304def99bcc.eot ├── 6779da6e004a8de33747.ttf ├── 68e764f9c88a38b85eb9.woff2 ├── 7d0b95939138f9440e7f.woff ├── 9a11d2deb41143df6056.woff ├── a4c0412141bf55820e48.woff ├── be6976a0f3c3482d75b4.woff ├── common │ ├── hooks │ │ └── use-previous.d.ts │ └── utils │ │ ├── date-pickers.d.ts │ │ └── image.d.ts ├── 1d58b156e5039f54f20e130151774f42.woff ├── 4674f8ded773cb03e824323bfc950537.eot ├── 5e7382c63da0098d634a356ff441614e.ttf ├── 83bebaf37c09c7e1c3ee52682892ae14.woff ├── a627aadb2fd585ccecb4934a59a86097.woff ├── cff684e59ffb052d72cb8d5e49471553.woff2 ├── faccb2ebffcda223756cb91962ac6056.woff └── components │ ├── chat │ ├── index.d.ts │ ├── message.d.ts │ ├── index.stories.d.ts │ ├── chat-attachment.d.ts │ ├── submit-form.d.ts │ └── chat.d.ts │ ├── form │ ├── index.d.ts │ ├── index.stories.d.ts │ ├── form.d.ts │ └── form-group.d.ts │ ├── tab-column │ ├── index.d.ts │ ├── index.stories.d.ts │ ├── tab-column.d.ts │ └── tab.d.ts │ ├── collection │ ├── index.d.ts │ ├── index.stories.d.ts │ ├── collection.d.ts │ └── collection-card.d.ts │ ├── action-table │ ├── index.d.ts │ ├── index.stories.d.ts │ ├── action-table.d.ts │ └── action-table-row.d.ts │ ├── menu │ ├── status.d.ts │ ├── link.d.ts │ ├── header.d.ts │ ├── index.d.ts │ ├── item.d.ts │ └── avatar.d.ts │ ├── image │ ├── index.stories.d.ts │ └── index.d.ts │ ├── list │ ├── index.stories.d.ts │ ├── footer.d.ts │ ├── list.d.ts │ ├── title.d.ts │ ├── index.d.ts │ └── section.d.ts │ ├── modal │ ├── index.stories.d.ts │ └── index.d.ts │ ├── tab │ ├── index.stories.d.ts │ ├── index.d.ts │ ├── tab-nav.d.ts │ ├── tab-nav-item.d.ts │ ├── tab-content-item.d.ts │ └── tab-content.d.ts │ ├── tag │ ├── index.stories.d.ts │ └── index.d.ts │ ├── stepper │ ├── index.stories.d.ts │ └── index.d.ts │ ├── button-group │ ├── index.stories.d.ts │ └── index.d.ts │ ├── counter-button │ ├── index.stories.d.ts │ └── index.d.ts │ ├── date-picker │ └── index.stories.d.ts │ ├── data-table │ ├── table-row.d.ts │ ├── table-data.d.ts │ ├── table-header.d.ts │ ├── tag-line.d.ts │ ├── light-table.d.ts │ ├── index.d.ts │ ├── table.d.ts │ └── index.stories.d.ts │ ├── progress-bar │ ├── index.stories.d.ts │ └── index.d.ts │ ├── accordion │ ├── index.d.ts │ ├── index.stories.d.ts │ ├── accordion-item.d.ts │ ├── accordion.d.ts │ └── list-accordion.d.ts │ ├── notification │ ├── index.stories.d.ts │ └── index.d.ts │ ├── navbar │ ├── index.stories.d.ts │ ├── index.d.ts │ └── navbar-item.d.ts │ ├── checkbox │ ├── index.stories.d.ts │ └── index.d.ts │ ├── file-input │ └── index.stories.d.ts │ ├── radiobutton │ ├── index.stories.d.ts │ └── index.d.ts │ ├── textarea │ ├── index.stories.d.ts │ └── index.d.ts │ ├── toggle-button │ ├── index.stories.d.ts │ └── index.d.ts │ ├── pointer │ ├── index.stories.d.ts │ └── index.d.ts │ ├── loader │ └── index.d.ts │ ├── timeline │ ├── index.d.ts │ ├── entry.d.ts │ └── index.stories.d.ts │ ├── banner │ ├── close-generator.d.ts │ ├── index.d.ts │ └── index.stories.d.ts │ ├── range-date-picker │ └── index.stories.d.ts │ ├── input │ ├── index.stories.d.ts │ └── index.d.ts │ ├── count-input │ ├── index.stories.d.ts │ └── index.d.ts │ ├── license-plate │ ├── index.stories.d.ts │ └── index.d.ts │ ├── select │ └── index.stories.d.ts │ ├── toolbar │ ├── index.d.ts │ └── index.stories.d.ts │ ├── file-input-wrapper │ ├── index.stories.d.ts │ ├── upload-hint.d.ts │ └── index.d.ts │ ├── dialog-content │ ├── index.d.ts │ └── index.stories.d.ts │ ├── button │ ├── index.d.ts │ └── index.stories.d.ts │ ├── persian-number │ └── index.d.ts │ └── flex │ └── index.d.ts ├── src ├── components │ ├── notification │ │ ├── styles.stories.scss │ │ ├── styles.scss │ │ ├── index.stories.tsx │ │ └── index.tsx │ ├── image │ │ ├── logo-192x192.png │ │ ├── logo-512x512.png │ │ ├── styles.scss │ │ └── index.stories.tsx │ ├── license-plate │ │ ├── style.stories.scss │ │ └── index.stories.tsx │ ├── chat │ │ └── index.tsx │ ├── timeline │ │ ├── styles.stories.scss │ │ ├── index.tsx │ │ └── entry.tsx │ ├── form │ │ ├── index.tsx │ │ ├── styles.scss │ │ ├── form.tsx │ │ └── form-group.tsx │ ├── pointer │ │ ├── styles.stories.scss │ │ ├── index.stories.tsx │ │ ├── index.tsx │ │ └── styles.scss │ ├── accordion │ │ ├── styles │ │ │ ├── index.scss │ │ │ ├── _list-accordion.scss │ │ │ └── _accordion-item.scss │ │ ├── index.tsx │ │ └── accordion-item.tsx │ ├── tab-column │ │ ├── index.tsx │ │ ├── tab-column.tsx │ │ ├── tab.tsx │ │ ├── index.stories.tsx │ │ └── styles.scss │ ├── collection │ │ ├── index.tsx │ │ ├── collection.tsx │ │ ├── index.stories.tsx │ │ └── collection-card.tsx │ ├── action-table │ │ ├── index.tsx │ │ └── action-table.tsx │ ├── list │ │ ├── index.tsx │ │ ├── footer.tsx │ │ ├── list.tsx │ │ ├── title.tsx │ │ ├── section.tsx │ │ └── styles.scss │ ├── dialog-content │ │ └── styles.stories.scss │ ├── data-table │ │ ├── index.tsx │ │ ├── tag-line.tsx │ │ ├── table-row.tsx │ │ ├── table-data.tsx │ │ ├── table-header.tsx │ │ ├── light-table.tsx │ │ └── table.tsx │ ├── tab │ │ ├── index.tsx │ │ ├── tab-nav.tsx │ │ ├── tab-nav-item.tsx │ │ ├── tab-content-item.tsx │ │ ├── tab-content.tsx │ │ └── styles.scss │ ├── input │ │ └── icon.svg │ ├── menu │ │ ├── index.ts │ │ ├── status.tsx │ │ ├── styles.story.scss │ │ ├── header.tsx │ │ ├── link.tsx │ │ ├── avatar.tsx │ │ └── item.tsx │ ├── file-input-wrapper │ │ └── styles.stories.scss │ ├── button-group │ │ ├── styles.scss │ │ └── index.tsx │ ├── counter-button │ │ ├── index.stories.tsx │ │ ├── styles.scss │ │ └── index.tsx │ ├── tag │ │ ├── styles.scss │ │ ├── index.stories.tsx │ │ └── index.tsx │ ├── checkbox │ │ └── index.stories.tsx │ ├── navbar │ │ ├── index.tsx │ │ ├── navbar-item.tsx │ │ └── index.stories.tsx │ ├── loader │ │ └── index.tsx │ ├── count-input │ │ ├── styles.scss │ │ └── index.stories.tsx │ ├── range-date-picker │ │ └── index.stories.tsx │ ├── progress-bar │ │ └── index.stories.tsx │ ├── radiobutton │ │ └── index.stories.tsx │ ├── stepper │ │ └── index.stories.tsx │ ├── button │ │ └── styles.stories.scss │ ├── date-picker │ │ └── index.stories.tsx │ ├── banner │ │ └── close-generator.tsx │ ├── toolbar │ │ ├── index.stories.tsx │ │ └── index.tsx │ ├── textarea │ │ └── index.stories.tsx │ └── modal │ │ └── index.stories.tsx ├── assets │ ├── fonts │ │ ├── iran-sansX │ │ │ ├── IRANSansXV.ttf │ │ │ └── webfont │ │ │ │ ├── IRANSansXV.woff │ │ │ │ ├── IRANSansXV.woff2 │ │ │ │ └── staticfonts │ │ │ │ ├── IRANSansX-Bold.woff │ │ │ │ └── IRANSansX-Regular.woff │ │ └── material_icons │ │ │ ├── MaterialIcons-Regular.eot │ │ │ ├── MaterialIcons-Regular.ttf │ │ │ ├── MaterialIcons-Regular.woff │ │ │ └── MaterialIcons-Regular.woff2 │ ├── icon │ │ ├── arrow.svg │ │ ├── close.svg │ │ ├── notification-success.svg │ │ ├── notification-warning.svg │ │ ├── notification-hint.svg │ │ ├── notification-warning-white.svg │ │ ├── notification-success-white.svg │ │ ├── notification-hint-white.svg │ │ ├── arrow_drop_down.svg │ │ ├── notification-error.svg │ │ ├── notification-error-white.svg │ │ ├── arrow-white.svg │ │ ├── send.svg │ │ ├── disabled-send.svg │ │ └── show.svg │ ├── styles │ │ ├── _base.scss │ │ ├── _responsive.scss │ │ ├── _variables.scss │ │ ├── _transitions.scss │ │ ├── _mixin.scss │ │ ├── _reset.scss │ │ └── _input-variables.scss │ └── patterns │ │ └── stripes.svg ├── typings │ └── imports.d.ts └── common │ ├── hooks │ └── use-previous.tsx │ └── utils │ └── date-pickers.ts ├── .storybook ├── preview-head.html └── main.js ├── .prettierrc ├── .prettierignore ├── .editorconfig ├── .gitignore ├── tsconfig.json └── LICENSE /docs/sb-addons/jsx-0/register-bundle.mjs.LEGAL.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/sb-addons/viewport-1/manager-bundle.mjs.LEGAL.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/381.4e602118.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | //! moment.js 2 | -------------------------------------------------------------------------------- /docs/sb-preview/globals.mjs: -------------------------------------------------------------------------------- 1 | import{globals}from"./chunk-M7Z73WKF.mjs";export{globals}; 2 | -------------------------------------------------------------------------------- /dist/18ffcf226304def99bcc.eot: -------------------------------------------------------------------------------- 1 | export default __webpack_public_path__ + "4674f8ded773cb03e824323bfc950537.eot"; -------------------------------------------------------------------------------- /dist/6779da6e004a8de33747.ttf: -------------------------------------------------------------------------------- 1 | export default __webpack_public_path__ + "5e7382c63da0098d634a356ff441614e.ttf"; -------------------------------------------------------------------------------- /dist/68e764f9c88a38b85eb9.woff2: -------------------------------------------------------------------------------- 1 | export default __webpack_public_path__ + "cff684e59ffb052d72cb8d5e49471553.woff2"; -------------------------------------------------------------------------------- /dist/7d0b95939138f9440e7f.woff: -------------------------------------------------------------------------------- 1 | export default __webpack_public_path__ + "faccb2ebffcda223756cb91962ac6056.woff"; -------------------------------------------------------------------------------- /dist/9a11d2deb41143df6056.woff: -------------------------------------------------------------------------------- 1 | export default __webpack_public_path__ + "1d58b156e5039f54f20e130151774f42.woff"; -------------------------------------------------------------------------------- /dist/a4c0412141bf55820e48.woff: -------------------------------------------------------------------------------- 1 | export default __webpack_public_path__ + "83bebaf37c09c7e1c3ee52682892ae14.woff"; -------------------------------------------------------------------------------- /dist/be6976a0f3c3482d75b4.woff: -------------------------------------------------------------------------------- 1 | export default __webpack_public_path__ + "a627aadb2fd585ccecb4934a59a86097.woff"; -------------------------------------------------------------------------------- /docs/1d58b156e5039f54f20e.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/1d58b156e5039f54f20e.woff -------------------------------------------------------------------------------- /docs/4674f8ded773cb03e824.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/4674f8ded773cb03e824.eot -------------------------------------------------------------------------------- /docs/52da2ce9337824bb1c42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/52da2ce9337824bb1c42.png -------------------------------------------------------------------------------- /docs/5e7382c63da0098d634a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/5e7382c63da0098d634a.ttf -------------------------------------------------------------------------------- /docs/6ee6518484fc623f0541.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/6ee6518484fc623f0541.png -------------------------------------------------------------------------------- /docs/83bebaf37c09c7e1c3ee.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/83bebaf37c09c7e1c3ee.woff -------------------------------------------------------------------------------- /docs/a627aadb2fd585ccecb4.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/a627aadb2fd585ccecb4.woff -------------------------------------------------------------------------------- /docs/faccb2ebffcda223756c.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/faccb2ebffcda223756c.woff -------------------------------------------------------------------------------- /src/components/notification/styles.stories.scss: -------------------------------------------------------------------------------- 1 | .notification-container { 2 | padding: 24px 48px; 3 | } 4 | -------------------------------------------------------------------------------- /dist/common/hooks/use-previous.d.ts: -------------------------------------------------------------------------------- 1 | declare const usePrevious: (value: T) => T; 2 | export default usePrevious; 3 | -------------------------------------------------------------------------------- /docs/cff684e59ffb052d72cb.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/cff684e59ffb052d72cb.woff2 -------------------------------------------------------------------------------- /src/components/image/logo-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/components/image/logo-192x192.png -------------------------------------------------------------------------------- /src/components/image/logo-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/components/image/logo-512x512.png -------------------------------------------------------------------------------- /src/components/license-plate/style.stories.scss: -------------------------------------------------------------------------------- 1 | .license-plates { 2 | > .license-plate { 3 | margin: 10px; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /dist/1d58b156e5039f54f20e130151774f42.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/dist/1d58b156e5039f54f20e130151774f42.woff -------------------------------------------------------------------------------- /dist/4674f8ded773cb03e824323bfc950537.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/dist/4674f8ded773cb03e824323bfc950537.eot -------------------------------------------------------------------------------- /dist/5e7382c63da0098d634a356ff441614e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/dist/5e7382c63da0098d634a356ff441614e.ttf -------------------------------------------------------------------------------- /dist/83bebaf37c09c7e1c3ee52682892ae14.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/dist/83bebaf37c09c7e1c3ee52682892ae14.woff -------------------------------------------------------------------------------- /dist/a627aadb2fd585ccecb4934a59a86097.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/dist/a627aadb2fd585ccecb4934a59a86097.woff -------------------------------------------------------------------------------- /dist/cff684e59ffb052d72cb8d5e49471553.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/dist/cff684e59ffb052d72cb8d5e49471553.woff2 -------------------------------------------------------------------------------- /dist/faccb2ebffcda223756cb91962ac6056.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/dist/faccb2ebffcda223756cb91962ac6056.woff -------------------------------------------------------------------------------- /src/assets/fonts/iran-sansX/IRANSansXV.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/assets/fonts/iran-sansX/IRANSansXV.ttf -------------------------------------------------------------------------------- /docs/sb-common-assets/nunito-sans-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/sb-common-assets/nunito-sans-bold.woff2 -------------------------------------------------------------------------------- /docs/sb-common-assets/nunito-sans-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/sb-common-assets/nunito-sans-italic.woff2 -------------------------------------------------------------------------------- /docs/sb-common-assets/nunito-sans-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/sb-common-assets/nunito-sans-regular.woff2 -------------------------------------------------------------------------------- /src/components/chat/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as Chat, ChatProps } from './chat'; 2 | export { default as Message, MessageProps } from './message'; 3 | -------------------------------------------------------------------------------- /src/components/timeline/styles.stories.scss: -------------------------------------------------------------------------------- 1 | .timeline-story-container { 2 | background-color: white; 3 | padding: 50px; 4 | width: 492px; 5 | } 6 | -------------------------------------------------------------------------------- /dist/components/chat/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as Chat, ChatProps } from './chat'; 2 | export { default as Message, MessageProps } from './message'; 3 | -------------------------------------------------------------------------------- /docs/sb-common-assets/nunito-sans-bold-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/docs/sb-common-assets/nunito-sans-bold-italic.woff2 -------------------------------------------------------------------------------- /src/assets/fonts/iran-sansX/webfont/IRANSansXV.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/assets/fonts/iran-sansX/webfont/IRANSansXV.woff -------------------------------------------------------------------------------- /src/assets/fonts/iran-sansX/webfont/IRANSansXV.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/assets/fonts/iran-sansX/webfont/IRANSansXV.woff2 -------------------------------------------------------------------------------- /dist/components/form/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as Form, FormProps } from './form'; 2 | export { default as FormGroup, FormGroupProps } from './form-group'; 3 | -------------------------------------------------------------------------------- /src/components/form/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as Form, FormProps } from './form'; 2 | export { default as FormGroup, FormGroupProps } from './form-group'; 3 | -------------------------------------------------------------------------------- /.storybook/preview-head.html: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /src/assets/fonts/material_icons/MaterialIcons-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/assets/fonts/material_icons/MaterialIcons-Regular.eot -------------------------------------------------------------------------------- /src/assets/fonts/material_icons/MaterialIcons-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/assets/fonts/material_icons/MaterialIcons-Regular.ttf -------------------------------------------------------------------------------- /src/assets/fonts/material_icons/MaterialIcons-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/assets/fonts/material_icons/MaterialIcons-Regular.woff -------------------------------------------------------------------------------- /src/components/pointer/styles.stories.scss: -------------------------------------------------------------------------------- 1 | .story-container.pointers { 2 | display: flex; 3 | gap: 30px; 4 | padding: 50px; 5 | align-items: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/fonts/material_icons/MaterialIcons-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/assets/fonts/material_icons/MaterialIcons-Regular.woff2 -------------------------------------------------------------------------------- /src/components/accordion/styles/index.scss: -------------------------------------------------------------------------------- 1 | @import '../../../assets/styles/_base.scss'; 2 | @import 'accordion'; 3 | @import 'accordion-item'; 4 | @import 'list-accordion'; 5 | -------------------------------------------------------------------------------- /dist/components/tab-column/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as TabColumn, FormProps as TabColumnProps, } from './tab-column'; 2 | export { default as Tab, FoodGroupProps } from './tab'; 3 | -------------------------------------------------------------------------------- /src/assets/fonts/iran-sansX/webfont/staticfonts/IRANSansX-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/assets/fonts/iran-sansX/webfont/staticfonts/IRANSansX-Bold.woff -------------------------------------------------------------------------------- /src/assets/fonts/iran-sansX/webfont/staticfonts/IRANSansX-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miare-ir/Milingo/HEAD/src/assets/fonts/iran-sansX/webfont/staticfonts/IRANSansX-Regular.woff -------------------------------------------------------------------------------- /src/components/tab-column/index.tsx: -------------------------------------------------------------------------------- 1 | export { 2 | default as TabColumn, 3 | FormProps as TabColumnProps, 4 | } from './tab-column'; 5 | export { default as Tab, FoodGroupProps } from './tab'; 6 | -------------------------------------------------------------------------------- /dist/components/collection/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as Collection, CollectionProps } from './collection'; 2 | export { default as CollectionCard, CollectionCardProps, } from './collection-card'; 3 | -------------------------------------------------------------------------------- /src/typings/imports.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.svg' { 2 | let _: string; 3 | export default _; 4 | } 5 | 6 | declare module '*.ttf' { 7 | let _: string; 8 | export default _; 9 | } 10 | -------------------------------------------------------------------------------- /dist/components/action-table/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as ActionTable, ActionTableProps } from './action-table'; 2 | export { default as ActionTableRow, ActionTableRowProps, } from './action-table-row'; 3 | -------------------------------------------------------------------------------- /src/components/collection/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as Collection, CollectionProps } from './collection'; 2 | export { 3 | default as CollectionCard, 4 | CollectionCardProps, 5 | } from './collection-card'; 6 | -------------------------------------------------------------------------------- /src/components/action-table/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as ActionTable, ActionTableProps } from './action-table'; 2 | export { 3 | default as ActionTableRow, 4 | ActionTableRowProps, 5 | } from './action-table-row'; 6 | -------------------------------------------------------------------------------- /dist/components/menu/status.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface MenuStatusProps { 3 | title: string; 4 | } 5 | declare const MenuStatus: React.FC; 6 | export default MenuStatus; 7 | -------------------------------------------------------------------------------- /src/assets/icon/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/common/utils/date-pickers.d.ts: -------------------------------------------------------------------------------- 1 | import { Moment } from 'moment'; 2 | export declare const generateMonth: (mm: string, yyyy: string, generateDay: (day?: Moment, month?: 'next' | 'prev') => React.ReactNode) => JSX.Element[]; 3 | -------------------------------------------------------------------------------- /dist/components/image/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const All: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/list/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const All: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/modal/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const All: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/tab/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const All: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/tag/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /src/assets/styles/_base.scss: -------------------------------------------------------------------------------- 1 | @import 'fonts'; 2 | @import 'variables'; 3 | @import 'responsive'; 4 | @import 'transitions'; 5 | @import 'mixin'; 6 | @import 'reset'; 7 | 8 | .clickable { 9 | cursor: pointer; 10 | } 11 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | arrowParens: avoid 2 | bracketSpacing: true 3 | jsxBracketSameLine: true 4 | printWidth: 80 5 | semi: true 6 | singleQuote: true 7 | tabWidth: 2 8 | useTabs: false 9 | trailingComma: all 10 | parser: typescript 11 | -------------------------------------------------------------------------------- /dist/components/collection/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const All: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/stepper/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/button-group/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/counter-button/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const All: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/tab-column/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/date-picker/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const SingleDatePicker: () => JSX.Element; 7 | -------------------------------------------------------------------------------- /dist/components/list/footer.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export type ListFooterProps = React.HTMLProps; 4 | declare const ListFooter: React.FC; 5 | export default ListFooter; 6 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .prettierrc 2 | *.svg 3 | *.png 4 | *.scss 5 | *.js 6 | *.json 7 | *.html 8 | *.yml 9 | *.md 10 | **/dist/** 11 | **/docs/** 12 | **/types/** 13 | /src/**/*.webmanifest 14 | /src/**/assets/imgs/**/* 15 | /src/**/assets/fonts/**/* 16 | -------------------------------------------------------------------------------- /dist/components/data-table/table-row.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface TrProps extends React.HTMLProps { 3 | children?: React.ReactNode; 4 | } 5 | declare const Tr: React.FC; 6 | export default Tr; 7 | -------------------------------------------------------------------------------- /docs/static/media/arrow.63275e553a4a17ca56a8e6e3a5c6ab44.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/components/data-table/table-data.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface TdProps extends React.HTMLProps { 3 | children?: React.ReactNode; 4 | } 5 | declare const Td: React.FC; 6 | export default Td; 7 | -------------------------------------------------------------------------------- /dist/components/progress-bar/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | declare const _default: { 3 | title: string; 4 | decorators: ((story: any) => JSX.Element)[]; 5 | }; 6 | export default _default; 7 | export declare const Sizes: React.FC; 8 | -------------------------------------------------------------------------------- /dist/components/data-table/table-header.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface ThProps extends React.HTMLProps { 3 | children?: React.ReactNode; 4 | } 5 | declare const Th: React.FC; 6 | export default Th; 7 | -------------------------------------------------------------------------------- /dist/components/data-table/tag-line.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface TagLineProps { 4 | children?: string | React.ReactNode; 5 | } 6 | declare const TagLine: React.FC; 7 | export default TagLine; 8 | -------------------------------------------------------------------------------- /dist/components/list/list.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface ListProps extends React.HTMLProps { 4 | large?: boolean; 5 | } 6 | declare const List: React.FC; 7 | export default List; 8 | -------------------------------------------------------------------------------- /dist/components/accordion/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as Accordion, AccordionProps } from './accordion'; 2 | export { default as ListAccordion, ListAccordionProps } from './list-accordion'; 3 | export { default as AccordionItem, AccordionItemProps } from './accordion-item'; 4 | -------------------------------------------------------------------------------- /dist/components/notification/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | import './styles.stories.scss'; 2 | declare const _default: { 3 | title: string; 4 | decorators: ((story: any) => JSX.Element)[]; 5 | }; 6 | export default _default; 7 | export declare const All: () => JSX.Element; 8 | -------------------------------------------------------------------------------- /src/components/accordion/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as Accordion, AccordionProps } from './accordion'; 2 | export { default as ListAccordion, ListAccordionProps } from './list-accordion'; 3 | export { default as AccordionItem, AccordionItemProps } from './accordion-item'; 4 | -------------------------------------------------------------------------------- /dist/components/list/title.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface ListTitleProps extends React.HTMLProps { 4 | title?: string; 5 | } 6 | declare const ListTitle: React.FC; 7 | export default ListTitle; 8 | -------------------------------------------------------------------------------- /dist/components/navbar/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Desktop: () => JSX.Element; 7 | export declare const Mobile: () => JSX.Element; 8 | -------------------------------------------------------------------------------- /dist/components/checkbox/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | export declare const Checked: () => JSX.Element; 8 | -------------------------------------------------------------------------------- /dist/components/data-table/light-table.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface LightTableProps extends React.HTMLProps { 3 | children?: React.ReactNode; 4 | } 5 | declare const LightTable: React.FC; 6 | export default LightTable; 7 | -------------------------------------------------------------------------------- /dist/components/file-input/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | export declare const Multiple: () => JSX.Element; 8 | -------------------------------------------------------------------------------- /dist/components/radiobutton/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | export declare const Checked: () => JSX.Element; 8 | -------------------------------------------------------------------------------- /dist/components/textarea/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | export declare const Disabled: () => JSX.Element; 8 | -------------------------------------------------------------------------------- /dist/components/toggle-button/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | export declare const Large: () => JSX.Element; 8 | -------------------------------------------------------------------------------- /dist/components/pointer/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.stories.scss'; 3 | declare const _default: { 4 | title: string; 5 | decorators: ((story: any) => JSX.Element)[]; 6 | }; 7 | export default _default; 8 | export declare const Sizes: React.FC; 9 | -------------------------------------------------------------------------------- /dist/components/action-table/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const WithTitle: () => JSX.Element; 7 | export declare const WithoutTitle: () => JSX.Element; 8 | -------------------------------------------------------------------------------- /dist/components/list/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as List, ListProps } from './list'; 2 | export { default as ListSection, ListSectionProps } from './section'; 3 | export { default as ListTitle, ListTitleProps } from './title'; 4 | export { default as ListFooter, ListFooterProps } from './footer'; 5 | -------------------------------------------------------------------------------- /src/components/list/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as List, ListProps } from './list'; 2 | export { default as ListSection, ListSectionProps } from './section'; 3 | export { default as ListTitle, ListTitleProps } from './title'; 4 | export { default as ListFooter, ListFooterProps } from './footer'; 5 | -------------------------------------------------------------------------------- /dist/components/loader/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface LoaderProps { 4 | primary?: boolean; 5 | disabled?: boolean; 6 | danger?: boolean; 7 | } 8 | declare const Loader: React.FC; 9 | export default Loader; 10 | -------------------------------------------------------------------------------- /dist/components/action-table/action-table.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface ActionTableProps extends React.HTMLProps { 4 | title?: string; 5 | } 6 | declare const ActionTable: React.FC; 7 | export default ActionTable; 8 | -------------------------------------------------------------------------------- /dist/components/pointer/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface PointerProps extends React.HTMLAttributes { 4 | size?: 'small' | 'normal' | 'large'; 5 | } 6 | declare const Pointer: React.FC; 7 | export default Pointer; 8 | -------------------------------------------------------------------------------- /dist/components/timeline/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import TimelineEntry from './entry'; 3 | import './styles.scss'; 4 | export interface TimelineProps { 5 | children?: React.ReactNode; 6 | } 7 | declare const Timeline: React.FC; 8 | export { Timeline, TimelineEntry }; 9 | -------------------------------------------------------------------------------- /src/common/hooks/use-previous.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | const usePrevious = (value: T): T => { 4 | const ref = React.useRef(); 5 | React.useEffect(() => { 6 | ref.current = value; 7 | }); 8 | return ref.current; 9 | }; 10 | 11 | export default usePrevious; 12 | -------------------------------------------------------------------------------- /src/components/dialog-content/styles.stories.scss: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #efefef; 3 | } 4 | 5 | .story-container.dialog-story { 6 | display: flex; 7 | justify-content: center; 8 | align-items: center; 9 | height: 100%; 10 | 11 | button { 12 | margin-left: 0; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /dist/components/menu/link.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface MenuLinkProps { 4 | title: string; 5 | notificationCount?: number; 6 | selected?: boolean; 7 | } 8 | declare const MenuLink: React.FC; 9 | export default MenuLink; 10 | -------------------------------------------------------------------------------- /dist/components/banner/close-generator.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface CloseGeneratorProps { 3 | type: 'error' | 'warning' | 'info' | 'success' | 'default'; 4 | dark?: boolean; 5 | } 6 | declare const CloseGenerator: React.FC; 7 | export default CloseGenerator; 8 | -------------------------------------------------------------------------------- /dist/components/menu/header.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface MenuHeaderProps { 4 | title: string; 5 | image?: JSX.Element; 6 | action?: JSX.Element; 7 | } 8 | declare const MenuHeader: React.FC; 9 | export default MenuHeader; 10 | -------------------------------------------------------------------------------- /dist/components/range-date-picker/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | import { RangeDatePickerProps } from '.'; 2 | declare const _default: import("@storybook/types").ComponentAnnotations; 3 | export default _default; 4 | export declare const RangeDatePicker: any; 5 | -------------------------------------------------------------------------------- /dist/components/list/section.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface ListSectionProps extends React.HTMLProps { 4 | large?: boolean; 5 | seperator?: boolean; 6 | } 7 | declare const ListSection: React.FC; 8 | export default ListSection; 9 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | 15 | [*.html] 16 | indent_style = space 17 | indent_size = 4 18 | -------------------------------------------------------------------------------- /dist/components/tab/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as TabNav, TabNavProps } from './tab-nav'; 2 | export { default as TabNavItem, TabNavItemProps } from './tab-nav-item'; 3 | export { default as TabContent, TabContentProps } from './tab-content'; 4 | export { default as TabContentItem, TabContentItemProps, } from './tab-content-item'; 5 | -------------------------------------------------------------------------------- /dist/components/input/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | export declare const Small: () => JSX.Element; 8 | export declare const Disabled: () => JSX.Element; 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### vim ### 2 | [._]*.s[a-w][a-z] 3 | [._]s[a-w][a-z] 4 | *.un~ 5 | Session.vim 6 | .netrwhist 7 | *~ 8 | 9 | *.xml 10 | .idea 11 | 12 | *.log 13 | tags 14 | 15 | node_modules 16 | 17 | .agignore 18 | 19 | .vscode 20 | .happypack 21 | .cache-uglify 22 | .DS_Store 23 | .cache 24 | 25 | coverage/ 26 | .env 27 | .ignore 28 | -------------------------------------------------------------------------------- /dist/components/count-input/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Basic: () => JSX.Element; 7 | export declare const MinAndMaxValue: () => JSX.Element; 8 | export declare const Steps: () => JSX.Element; 9 | -------------------------------------------------------------------------------- /src/components/data-table/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as Table, DataTableProps } from './table'; 2 | export { default as LightTable, LightTableProps } from './light-table'; 3 | export { default as Tr, TrProps } from './table-row'; 4 | export { default as Th, ThProps } from './table-header'; 5 | export { default as Td, TdProps } from './table-data'; 6 | -------------------------------------------------------------------------------- /src/components/tab/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as TabNav, TabNavProps } from './tab-nav'; 2 | export { default as TabNavItem, TabNavItemProps } from './tab-nav-item'; 3 | export { default as TabContent, TabContentProps } from './tab-content'; 4 | export { 5 | default as TabContentItem, 6 | TabContentItemProps, 7 | } from './tab-content-item'; 8 | -------------------------------------------------------------------------------- /dist/components/data-table/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as Table, DataTableProps } from './table'; 2 | export { default as LightTable, LightTableProps } from './light-table'; 3 | export { default as Tr, TrProps } from './table-row'; 4 | export { default as Th, ThProps } from './table-header'; 5 | export { default as Td, TdProps } from './table-data'; 6 | -------------------------------------------------------------------------------- /docs/image-index-stories.6157706d.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-jsx-runtime.production.min.js 4 | * 5 | * Copyright (c) Facebook, Inc. and its affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | -------------------------------------------------------------------------------- /src/components/input/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/components/accordion/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Default: () => JSX.Element; 7 | export declare const WithCloseButton: () => JSX.Element; 8 | export declare const ListsAccordion: () => JSX.Element; 9 | -------------------------------------------------------------------------------- /dist/components/navbar/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface NavbarProps { 4 | children?: JSX.Element | JSX.Element[]; 5 | horizontally?: boolean; 6 | } 7 | declare const Navbar: React.FC; 8 | export default Navbar; 9 | export { default as NavbarItem } from './navbar-item'; 10 | -------------------------------------------------------------------------------- /dist/components/tab/tab-nav.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface TabNavProps { 4 | className?: string; 5 | children: JSX.Element[] | JSX.Element; 6 | } 7 | declare class TabNav extends React.Component { 8 | render(): React.ReactNode; 9 | } 10 | export default TabNav; 11 | -------------------------------------------------------------------------------- /docs/stepper-index-stories.0087922a.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-jsx-runtime.production.min.js 4 | * 5 | * Copyright (c) Facebook, Inc. and its affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | -------------------------------------------------------------------------------- /src/components/list/footer.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import './styles.scss'; 4 | 5 | export type ListFooterProps = React.HTMLProps; 6 | 7 | const ListFooter: React.FC = (props: ListFooterProps) => ( 8 |
9 | ); 10 | 11 | export default ListFooter; 12 | -------------------------------------------------------------------------------- /docs/sb-manager/WithTooltip-3BDV6MYO-BRIGQ5XR.mjs: -------------------------------------------------------------------------------- 1 | import{WithToolTipState,WithTooltipPure}from"./chunk-FGVEHHDQ.mjs";import"./chunk-WCYDYUGX.mjs";import"./chunk-DQ2XHBAE.mjs";import"./chunk-CGGDZUA2.mjs";import"./chunk-7NJ6NIF4.mjs";import"./chunk-KQFPYAFV.mjs";import"./chunk-JCTATS4D.mjs";export{WithToolTipState,WithToolTipState as WithTooltip,WithTooltipPure}; 2 | -------------------------------------------------------------------------------- /docs/sb-manager/index.mjs: -------------------------------------------------------------------------------- 1 | import{Provider,Root,renderStorybookUI}from"./chunk-Q4UME242.mjs";import"./chunk-VTYHZEJ7.mjs";import"./chunk-FGVEHHDQ.mjs";import"./chunk-WCYDYUGX.mjs";import"./chunk-DQ2XHBAE.mjs";import"./chunk-CGGDZUA2.mjs";import"./chunk-7NJ6NIF4.mjs";import"./chunk-KQFPYAFV.mjs";import"./chunk-JCTATS4D.mjs";export{Provider,Root,renderStorybookUI}; 2 | -------------------------------------------------------------------------------- /docs/toggle-button-index-stories.d137d9ba.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-jsx-runtime.production.min.js 4 | * 5 | * Copyright (c) Facebook, Inc. and its affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | -------------------------------------------------------------------------------- /src/components/list/list.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import './styles.scss'; 4 | 5 | export interface ListProps extends React.HTMLProps { 6 | large?: boolean; 7 | } 8 | 9 | const List: React.FC = (props: ListProps) => ( 10 |
    11 | ); 12 | 13 | export default List; 14 | -------------------------------------------------------------------------------- /src/components/menu/index.ts: -------------------------------------------------------------------------------- 1 | export { default as MenuAvatar, MenuAvatarProps } from './avatar'; 2 | export { default as MenuHeader, MenuHeaderProps } from './header'; 3 | export { default as MenuItem, MenuItemProps } from './item'; 4 | export { default as MenuLink, MenuLinkProps } from './link'; 5 | export { default as MenuStatus, MenuStatusProps } from './status'; 6 | -------------------------------------------------------------------------------- /dist/components/menu/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as MenuAvatar, MenuAvatarProps } from './avatar'; 2 | export { default as MenuHeader, MenuHeaderProps } from './header'; 3 | export { default as MenuItem, MenuItemProps } from './item'; 4 | export { default as MenuLink, MenuLinkProps } from './link'; 5 | export { default as MenuStatus, MenuStatusProps } from './status'; 6 | -------------------------------------------------------------------------------- /dist/components/notification/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface NotificationProps extends React.HTMLProps { 4 | message: string; 5 | warning?: boolean; 6 | className?: string; 7 | } 8 | declare const Notification: React.FC; 9 | export default Notification; 10 | -------------------------------------------------------------------------------- /src/assets/icon/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /dist/components/accordion/accordion-item.d.ts: -------------------------------------------------------------------------------- 1 | import './styles/index.scss'; 2 | export interface AccordionItemProps { 3 | title: string; 4 | id: number; 5 | description?: string; 6 | className?: string; 7 | children?: JSX.Element; 8 | } 9 | declare const AccordionItem: (props: AccordionItemProps) => JSX.Element; 10 | export default AccordionItem; 11 | -------------------------------------------------------------------------------- /dist/components/license-plate/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | import { LicensePlateProps } from '.'; 2 | import './style.stories.scss'; 3 | declare const _default: import("@storybook/types").ComponentAnnotations; 4 | export default _default; 5 | export declare const NewStyle: any; 6 | export declare const OldStyle: any; 7 | -------------------------------------------------------------------------------- /dist/components/modal/index.d.ts: -------------------------------------------------------------------------------- 1 | import './styles.scss'; 2 | export interface ModalProps { 3 | onClose?: () => void; 4 | isOpen: boolean; 5 | align?: 'start' | 'end'; 6 | className?: string; 7 | overlayClassName?: string; 8 | children: JSX.Element; 9 | } 10 | declare const Modal: (props: ModalProps) => JSX.Element; 11 | export default Modal; 12 | -------------------------------------------------------------------------------- /src/components/data-table/tag-line.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import './styles.scss'; 4 | 5 | export interface TagLineProps { 6 | children?: string | React.ReactNode; 7 | } 8 | 9 | const TagLine: React.FC = (props: TagLineProps) => ( 10 |
    {props.children}
    11 | ); 12 | 13 | export default TagLine; 14 | -------------------------------------------------------------------------------- /dist/components/navbar/navbar-item.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface NavbarItemProps extends React.HTMLProps { 4 | icon: string | JSX.Element; 5 | text: string | JSX.Element; 6 | selected?: boolean; 7 | } 8 | declare const NavbarItem: React.FC; 9 | export default NavbarItem; 10 | -------------------------------------------------------------------------------- /docs/static/media/icon.0d3902213c5f60b4007becaae9ef1757.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/menu/status.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | export interface MenuStatusProps { 4 | title: string; 5 | } 6 | 7 | const MenuStatus: React.FC = (props: MenuStatusProps) => ( 8 |
    9 |
    {props.title}
    10 |
    11 | ); 12 | 13 | export default MenuStatus; 14 | -------------------------------------------------------------------------------- /dist/components/data-table/table.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface DataTableProps extends React.HTMLProps { 3 | tagline?: string | React.ReactNode; 4 | children?: React.ReactNode; 5 | } 6 | declare class DataTable extends React.Component { 7 | render(): React.ReactNode; 8 | } 9 | export default DataTable; 10 | -------------------------------------------------------------------------------- /src/components/file-input-wrapper/styles.stories.scss: -------------------------------------------------------------------------------- 1 | .file-input-wrapper-story { 2 | width: 100%; 3 | 4 | > h1 { 5 | font-size: 20px; 6 | color: rgba(128, 128, 128, 0.5); 7 | } 8 | 9 | > .file-input-wrapper:not(:last-child) { 10 | margin-bottom: 10px; 11 | padding-bottom: 50px; 12 | border-bottom: 1px solid rgba(128, 128, 128, 0.2); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /dist/components/menu/item.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface MenuItemProps extends React.HTMLProps { 3 | title: string; 4 | avatar?: JSX.Element; 5 | description?: string | JSX.Element | JSX.Element[]; 6 | selected?: boolean; 7 | time?: string; 8 | } 9 | declare const MenuItem: React.FC; 10 | export default MenuItem; 11 | -------------------------------------------------------------------------------- /dist/components/progress-bar/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface ProgressBarProps extends Omit, 'title'> { 4 | range: [number, number]; 5 | current: number; 6 | title?: React.ReactNode; 7 | secondaryMode?: boolean; 8 | } 9 | export declare const ProgressBar: React.FC; 10 | -------------------------------------------------------------------------------- /docs/static/media/close.f554bd5f8fe91fb4dc1fd423d7151782.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/components/data-table/table-row.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | export interface TrProps extends React.HTMLProps { 4 | children?: React.ReactNode; 5 | } 6 | 7 | const Tr: React.FC = (props: TrProps) => { 8 | const { children, ...restOfProps } = props; 9 | 10 | return {children}; 11 | }; 12 | 13 | export default Tr; 14 | -------------------------------------------------------------------------------- /dist/components/chat/message.d.ts: -------------------------------------------------------------------------------- 1 | import './styles.scss'; 2 | export interface MessageProps { 3 | message: string; 4 | isRight?: boolean; 5 | isImage?: boolean; 6 | createdDate: string; 7 | id: string; 8 | className?: string; 9 | timeFormat?: Intl.DateTimeFormatOptions; 10 | } 11 | declare const Message: (props: MessageProps) => JSX.Element; 12 | export default Message; 13 | -------------------------------------------------------------------------------- /src/components/data-table/table-data.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | export interface TdProps extends React.HTMLProps { 4 | children?: React.ReactNode; 5 | } 6 | 7 | const Td: React.FC = (props: TdProps) => { 8 | const { children, ...restOfProps } = props; 9 | 10 | return {children}; 11 | }; 12 | 13 | export default Td; 14 | -------------------------------------------------------------------------------- /dist/components/tab-column/tab-column.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface FormProps extends React.HTMLProps { 4 | className?: string; 5 | children?: React.ReactNode; 6 | fullWidth?: boolean; 7 | } 8 | declare class Form extends React.Component { 9 | render(): React.ReactNode; 10 | } 11 | export default Form; 12 | -------------------------------------------------------------------------------- /src/components/data-table/table-header.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | export interface ThProps extends React.HTMLProps { 4 | children?: React.ReactNode; 5 | } 6 | 7 | const Th: React.FC = (props: ThProps) => { 8 | const { children, ...restOfProps } = props; 9 | 10 | return {children}; 11 | }; 12 | 13 | export default Th; 14 | -------------------------------------------------------------------------------- /dist/components/menu/avatar.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface MenuAvatarProps extends React.HTMLProps { 3 | avatar?: string | JSX.Element; 4 | percentage?: number; 5 | selected?: boolean; 6 | label?: string; 7 | largeText?: boolean; 8 | type?: 'warning'; 9 | } 10 | declare const MenuAvatar: React.FC; 11 | export default MenuAvatar; 12 | -------------------------------------------------------------------------------- /dist/components/select/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Normal: () => JSX.Element; 7 | export declare const With5Rows: { 8 | (): JSX.Element; 9 | story: { 10 | name: string; 11 | }; 12 | }; 13 | export declare const LightSelect: () => JSX.Element; 14 | -------------------------------------------------------------------------------- /dist/components/tab/tab-nav-item.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface TabNavItemProps extends React.HTMLProps { 4 | className?: string; 5 | children: React.ReactNode; 6 | active?: boolean; 7 | } 8 | declare class TabNavItem extends React.Component { 9 | render(): React.ReactNode; 10 | } 11 | export default TabNavItem; 12 | -------------------------------------------------------------------------------- /dist/components/collection/collection.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface CollectionProps extends React.HTMLProps { 4 | title?: string; 5 | className?: string; 6 | children?: React.ReactNode; 7 | } 8 | declare class Collection extends React.Component { 9 | render(): React.ReactNode; 10 | } 11 | export default Collection; 12 | -------------------------------------------------------------------------------- /src/components/timeline/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import TimelineEntry from './entry'; 4 | 5 | import './styles.scss'; 6 | 7 | export interface TimelineProps { 8 | children?: React.ReactNode; 9 | } 10 | 11 | const Timeline: React.FC = (props: TimelineProps) => ( 12 |
    {props.children}
    13 | ); 14 | 15 | export { Timeline, TimelineEntry }; 16 | -------------------------------------------------------------------------------- /dist/components/stepper/index.d.ts: -------------------------------------------------------------------------------- 1 | import './styles.scss'; 2 | export declare enum StepStatus { 3 | ToDo = 0, 4 | Doing = 1, 5 | Done = 2 6 | } 7 | export interface Step { 8 | title: string; 9 | status: number; 10 | onClick?: () => void; 11 | } 12 | export interface StepperProps { 13 | steps: Step[]; 14 | } 15 | declare const Stepper: (props: StepperProps) => JSX.Element; 16 | export default Stepper; 17 | -------------------------------------------------------------------------------- /dist/components/form/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const SingleColumn: { 7 | (): JSX.Element; 8 | story: { 9 | name: string; 10 | }; 11 | }; 12 | export declare const DoubleColumn: { 13 | (): JSX.Element; 14 | story: { 15 | name: string; 16 | }; 17 | }; 18 | -------------------------------------------------------------------------------- /dist/components/radiobutton/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface RadioProps extends React.HTMLProps { 4 | name: string; 5 | } 6 | declare class Radio extends React.Component { 7 | private radioButton; 8 | handleChange: (e: React.ChangeEvent) => void; 9 | render(): React.ReactNode; 10 | } 11 | export default Radio; 12 | -------------------------------------------------------------------------------- /dist/components/tag/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface TagProps extends React.HTMLProps { 4 | component?: string; 5 | primary?: boolean; 6 | warning?: boolean; 7 | success?: boolean; 8 | alert?: boolean; 9 | } 10 | declare class Tag extends React.Component { 11 | render(): React.ReactNode; 12 | } 13 | export default Tag; 14 | -------------------------------------------------------------------------------- /dist/components/toolbar/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface ToolbarProps { 4 | avatar: JSX.Element; 5 | title?: string; 6 | description: string; 7 | items?: (React.HTMLProps & { 8 | title: string; 9 | icon: string | JSX.Element; 10 | })[]; 11 | } 12 | declare const Toolbal: React.FC; 13 | export default Toolbal; 14 | -------------------------------------------------------------------------------- /src/assets/icon/notification-success.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/assets/icon/notification-warning.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dist/components/file-input-wrapper/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | import { ComponentStory } from '@storybook/react'; 2 | import FileInputWrapper from '.'; 3 | import './styles.stories.scss'; 4 | declare const _default: import("@storybook/types").ComponentAnnotations; 5 | export default _default; 6 | export declare const _FileInputWrapper: ComponentStory; 7 | -------------------------------------------------------------------------------- /docs/sb-manager/syntaxhighlighter-QTQ2UBB4-CDBNTZEW.mjs: -------------------------------------------------------------------------------- 1 | import{SyntaxHighlighter2,createCopyToClipboardFunction,syntaxhighlighter_default}from"./chunk-VTYHZEJ7.mjs";import"./chunk-WCYDYUGX.mjs";import"./chunk-DQ2XHBAE.mjs";import"./chunk-CGGDZUA2.mjs";import"./chunk-7NJ6NIF4.mjs";import"./chunk-KQFPYAFV.mjs";import"./chunk-JCTATS4D.mjs";export{SyntaxHighlighter2 as SyntaxHighlighter,createCopyToClipboardFunction,syntaxhighlighter_default as default}; 2 | -------------------------------------------------------------------------------- /src/assets/icon/notification-hint.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/assets/icon/notification-warning-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/components/notification/styles.scss: -------------------------------------------------------------------------------- 1 | @import '../../assets/styles/_base.scss'; 2 | 3 | .notification { 4 | font-size: 14px; 5 | line-height: 24px; 6 | text-align: center; 7 | box-sizing: border-box; 8 | padding: 12px 16px; 9 | height: 48px; 10 | width: 100%; 11 | background-color: $primary3; 12 | color: $primary1; 13 | 14 | &.alarm { 15 | background-color: $warning2; 16 | color: $warning1; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /dist/components/timeline/entry.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface TimelineEntryProps extends React.HTMLProps { 4 | time?: string | JSX.Element; 5 | description: string | JSX.Element; 6 | loading?: boolean; 7 | noBorder?: boolean; 8 | clickable?: boolean; 9 | } 10 | declare const TimelineEntry: React.FC; 11 | export default TimelineEntry; 12 | -------------------------------------------------------------------------------- /src/assets/icon/notification-success-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/assets/icon/notification-hint-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dist/components/toolbar/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const NoActionsAndAvatar: { 7 | (): JSX.Element; 8 | story: { 9 | name: string; 10 | }; 11 | }; 12 | export declare const WithTitleAndActions: { 13 | (): JSX.Element; 14 | story: { 15 | name: string; 16 | }; 17 | }; 18 | -------------------------------------------------------------------------------- /dist/components/tab-column/tab.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface FoodGroupProps extends React.HTMLProps { 4 | className?: string; 5 | children?: React.ReactNode; 6 | onClick?: React.MouseEventHandler; 7 | selected?: boolean; 8 | } 9 | declare class FormGroup extends React.Component { 10 | render(): React.ReactNode; 11 | } 12 | export default FormGroup; 13 | -------------------------------------------------------------------------------- /dist/components/tab/tab-content-item.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface TabContentItemProps extends React.HTMLProps { 4 | className?: string; 5 | children?: JSX.Element[] | JSX.Element | string; 6 | tabId: number | string; 7 | } 8 | declare class TabContentItem extends React.Component { 9 | render(): React.ReactNode; 10 | } 11 | export default TabContentItem; 12 | -------------------------------------------------------------------------------- /docs/static/media/notification-success.ffe99f349a81809bf2e3cdb9e18d7a9b.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/static/media/notification-warning.fb9bcb121e1fdc008308674a584a79f9.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/components/button-group/styles.scss: -------------------------------------------------------------------------------- 1 | @import "../../assets/styles/_base.scss"; 2 | 3 | .button-group-container { 4 | display: flex; 5 | 6 | button { 7 | margin: 0 !important; 8 | border-radius: 0; 9 | border-left: none !important; 10 | } 11 | 12 | > :last-child { 13 | border-radius: 0 4px 4px 0; 14 | } 15 | 16 | > :first-child { 17 | border-radius: 4px 0 0 4px; 18 | border-left: 1px solid $primary1 !important; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /dist/components/image/index.d.ts: -------------------------------------------------------------------------------- 1 | import './styles.scss'; 2 | export interface ImageProps { 3 | src: string; 4 | alt?: string; 5 | className?: string; 6 | id?: string; 7 | thumbnailInfo?: { 8 | originalSrc?: string; 9 | originalAlt?: string; 10 | }; 11 | rest?: unknown; 12 | loading?: 'lazy' | 'eager'; 13 | } 14 | declare const Image: ({ src, alt, thumbnailInfo, ...rest }: ImageProps) => JSX.Element; 15 | export default Image; 16 | -------------------------------------------------------------------------------- /docs/static/media/notification-hint.380074ac7563337d853f10a3c176b76e.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/static/media/notification-warning-white.e0ad2162cb219832f1e18a1953c8d6d0.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/components/list/title.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import './styles.scss'; 4 | 5 | export interface ListTitleProps extends React.HTMLProps { 6 | title?: string; 7 | } 8 | 9 | const ListTitle: React.FC = ({ 10 | title, 11 | children, 12 | ...props 13 | }: ListTitleProps) => ( 14 |
    15 | {title ? title : children} 16 |
    17 | ); 18 | 19 | export default ListTitle; 20 | -------------------------------------------------------------------------------- /dist/components/banner/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface BannerProps extends React.HTMLProps { 4 | className?: string; 5 | show?: boolean; 6 | type?: 'error' | 'warning' | 'info' | 'success' | 'default'; 7 | fullWidth?: boolean; 8 | dark?: boolean; 9 | header?: string; 10 | onClose?: () => void; 11 | } 12 | declare const Banner: React.FC; 13 | export default Banner; 14 | -------------------------------------------------------------------------------- /docs/static/media/notification-success-white.45764c91254fa96a24fb15742ad5b31c.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/static/media/notification-hint-white.8a18c5085ada92f37985e8154f007526.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/components/menu/styles.story.scss: -------------------------------------------------------------------------------- 1 | .menu-story { 2 | direction: rtl; 3 | 4 | .menu-avatar-container { 5 | display: flex; 6 | justify-content: flex-start; 7 | margin-right: 20px; 8 | 9 | .menu-avatar { 10 | margin: 20px; 11 | } 12 | 13 | .column { 14 | display: flex; 15 | flex-direction: column; 16 | } 17 | } 18 | 19 | .menu-item-container { 20 | .menu-item { 21 | margin-bottom: 20px; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/components/pointer/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import Pointer from '.'; 4 | import './styles.stories.scss'; 5 | 6 | export default { 7 | title: 'Pointer', 8 | decorators: [ 9 | story =>
    {story()}
    , 10 | ], 11 | }; 12 | 13 | export const Sizes: React.FC = () => ( 14 | <> 15 | 16 | 17 | 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /dist/components/tab/tab-content.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface TabContentProps extends React.HTMLProps { 4 | className?: string; 5 | children?: JSX.Element[] | JSX.Element; 6 | selectedTab: number | string; 7 | } 8 | declare class TabContent extends React.Component { 9 | renderSelectedChild: () => JSX.Element; 10 | render(): React.ReactNode; 11 | } 12 | export default TabContent; 13 | -------------------------------------------------------------------------------- /docs/chat-index-stories.b6b2cc34.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/form-index-stories.bf64d70a.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/list-index-stories.d39b048a.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/menu-index-stories.9c0b8d92.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/tab-index-stories.f32c4b2e.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/tag-index-stories.a7921602.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /dist/components/button-group/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface GroupButtonProps extends React.HTMLProps { 4 | className?: string; 5 | } 6 | interface GroupButtonState { 7 | selected: string; 8 | } 9 | declare class GroupButtonComponent extends React.Component { 10 | constructor(props: any); 11 | render(): React.ReactNode; 12 | } 13 | export default GroupButtonComponent; 14 | -------------------------------------------------------------------------------- /dist/components/form/form.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface FormProps extends Omit, 'title'> { 4 | className?: string; 5 | children?: React.ReactNode; 6 | title?: React.ReactNode; 7 | description?: string; 8 | formProps?: React.ComponentProps<'form'>; 9 | } 10 | declare class Form extends React.Component { 11 | render(): React.ReactNode; 12 | } 13 | export default Form; 14 | -------------------------------------------------------------------------------- /dist/components/license-plate/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | type LicensePlateValue = [number, number?]; 4 | export interface LicensePlateProps extends Omit, 'onInput'> { 5 | editable?: boolean; 6 | oldStyle?: boolean; 7 | onInput?: (value: LicensePlateValue) => void; 8 | value?: LicensePlateValue; 9 | } 10 | declare const LicensePlate: React.FC; 11 | export default LicensePlate; 12 | -------------------------------------------------------------------------------- /docs/accordion-index-stories.a52f7184.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/banner-index-stories.249e2f9d.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/button-index-stories.925bd536.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/checkbox-index-stories.4e652a10.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/input-index-stories.2742154a.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/modal-index-stories.264f295b.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/navbar-index-stories.d7fc67f8.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/pointer-index-stories.cd4d9356.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/select-index-stories.f23a90d7.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/textarea-index-stories.4d4a01ab.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/timeline-index-stories.8e1df746.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/toolbar-index-stories.6abbdf9d.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/action-table-index-stories.2317d896.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/button-group-index-stories.dda4ae20.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/collection-index-stories.fc0f39f9.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/counter-button-index-stories.e1271c3d.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/data-table-index-stories.19c5a3e3.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/dialog-content-index-stories.ad31283d.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/file-input-index-stories.122e126a.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/license-plate-index-stories.6677c6a2.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/notification-index-stories.e634ea1a.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/progress-bar-index-stories.42c9a03e.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/radiobutton-index-stories.164fc5e8.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /docs/tab-column-index-stories.0a4ed677.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /dist/components/counter-button/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface CounterButtonProps extends React.HTMLProps { 4 | className?: string; 5 | onIncrease?: () => void; 6 | onDecrease?: () => void; 7 | } 8 | declare class CounterButton extends React.Component { 9 | handleDecrease(): void; 10 | handleIncrease(): void; 11 | render(): React.ReactNode; 12 | } 13 | export default CounterButton; 14 | -------------------------------------------------------------------------------- /docs/file-input-wrapper-index-stories.1e3711f0.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /dist/components/count-input/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface CountInputProps extends Omit, 'onChange'> { 4 | min?: number; 5 | max?: number; 6 | value: number; 7 | onChange: React.Dispatch>; 8 | steps?: number; 9 | } 10 | declare const CountInput: React.ForwardRefExoticComponent>; 11 | export default CountInput; 12 | -------------------------------------------------------------------------------- /dist/components/form/form-group.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface FormGroupProps extends Omit, 'title'> { 4 | className?: string; 5 | children?: React.ReactNode; 6 | singleRow?: boolean; 7 | title?: React.ReactNode; 8 | extraTitle?: JSX.Element | string; 9 | } 10 | declare class FormGroup extends React.Component { 11 | render(): React.ReactNode; 12 | } 13 | export default FormGroup; 14 | -------------------------------------------------------------------------------- /src/components/counter-button/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import CounterButton from '.'; 4 | 5 | export default { 6 | title: 'Counter Button', 7 | decorators: [story =>
    {story()}
    ], 8 | }; 9 | 10 | export const All = () => ( 11 |
    18 | 19 |
    20 | ); 21 | -------------------------------------------------------------------------------- /src/assets/patterns/stripes.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/components/data-table/light-table.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | export interface LightTableProps extends React.HTMLProps { 4 | children?: React.ReactNode; 5 | } 6 | 7 | const LightTable : React.FC = (props: LightTableProps) => { 8 | const { children, ...restOfProps } = props; 9 | 10 | return ( 11 |
    12 | {children}
    13 |
    14 | ); 15 | } 16 | 17 | export default LightTable; 18 | -------------------------------------------------------------------------------- /dist/components/toggle-button/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface ToggleButtonProps extends React.HTMLProps { 4 | name: string; 5 | onToggle: () => void; 6 | label?: string; 7 | disabled?: boolean; 8 | loading?: boolean; 9 | checked: boolean; 10 | large?: boolean; 11 | ltr?: boolean; 12 | classNames?: string; 13 | } 14 | declare const ToggleButton: (props: ToggleButtonProps) => JSX.Element; 15 | export default ToggleButton; 16 | -------------------------------------------------------------------------------- /docs/static/media/stripes.539b7b2c09731bfcc27576b3f4f1c12a.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /dist/components/file-input-wrapper/upload-hint.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import { ModalProps } from '../modal'; 3 | export interface UploadHintProps { 4 | children?: React.ReactNode; 5 | title?: string; 6 | cancelText?: string; 7 | selectText?: string; 8 | isHintModalOpen: boolean; 9 | setIsHintModalOpen: React.Dispatch>; 10 | onSelect: () => void; 11 | modalProps?: ModalProps; 12 | } 13 | declare const UploadHint: React.FC; 14 | export default UploadHint; 15 | -------------------------------------------------------------------------------- /src/assets/styles/_responsive.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | 3 | @mixin onMobile { 4 | @media only screen and (max-width: $mobileWidth) { 5 | @content; 6 | } 7 | } 8 | 9 | @mixin onTablet { 10 | @media only screen and (max-width: #{$desktopWidth - 1px}) { 11 | @content; 12 | } 13 | } 14 | 15 | @mixin onDesktop { 16 | @media only screen and (min-width: $desktopWidth) { 17 | @content; 18 | } 19 | } 20 | 21 | @mixin onHdDesktop { 22 | @media only screen and (min-width: $hdDesktopWidth) { 23 | @content; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/components/accordion/styles/_list-accordion.scss: -------------------------------------------------------------------------------- 1 | .list-accordion { 2 | bottom: 0; 3 | right: 8px; 4 | position: fixed; 5 | font-size: 14px; 6 | line-height: 24px; 7 | 8 | & + .messages-container { 9 | bottom: 0; 10 | right: 340px; 11 | } 12 | } 13 | 14 | .items-container { 15 | display: flex; 16 | gap: 12px; 17 | position: fixed; 18 | bottom: 0; 19 | right: 336px; 20 | flex-direction: row-reverse; 21 | align-items: flex-end; 22 | 23 | .accordion-header.active { 24 | background-color: #fff; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/components/list/section.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface ListSectionProps extends React.HTMLProps { 7 | large?: boolean; 8 | seperator?: boolean; 9 | } 10 | 11 | const ListSection: React.FC = ({ 12 | large, 13 | seperator, 14 | ...props 15 | }: ListSectionProps) => ( 16 |
      17 | ); 18 | 19 | export default ListSection; 20 | -------------------------------------------------------------------------------- /src/components/tag/styles.scss: -------------------------------------------------------------------------------- 1 | @import '../../assets/styles/_base.scss'; 2 | 3 | .tag-wrapper { 4 | padding: 0 8px; 5 | background-color: $disabledColor; 6 | color: #fff; 7 | 8 | @include font-size(12); 9 | 10 | border-radius: 12px; 11 | 12 | &.primary { 13 | background-color: $primary1; 14 | } 15 | 16 | &.warning { 17 | background-color: $warning3; 18 | color: #000; 19 | } 20 | 21 | &.success { 22 | background-color: $successDark; 23 | } 24 | 25 | &.alert { 26 | background-color: $warning1; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /dist/components/accordion/accordion.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles/index.scss'; 3 | export interface AccordionProps extends React.HTMLAttributes { 4 | children: React.ReactNode; 5 | title: string; 6 | count?: number; 7 | description?: string; 8 | isActive?: boolean; 9 | isClose?: boolean; 10 | setIsClose?: () => void; 11 | } 12 | declare const Accordion: ({ children, title, count, description, isActive, isClose, setIsClose, ...rest }: AccordionProps) => JSX.Element; 13 | export default Accordion; 14 | -------------------------------------------------------------------------------- /dist/components/collection/collection-card.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface CollectionCardProps extends React.HTMLProps { 4 | className?: string; 5 | children?: React.ReactNode; 6 | hasSubset?: boolean; 7 | footer?: number | string; 8 | disabled?: boolean; 9 | disabledMessage?: string; 10 | selected?: boolean; 11 | } 12 | declare class CollectionCard extends React.Component { 13 | render(): React.ReactNode; 14 | } 15 | export default CollectionCard; 16 | -------------------------------------------------------------------------------- /dist/components/data-table/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const DefaultTableWithTagline: { 7 | (): JSX.Element; 8 | story: { 9 | name: string; 10 | }; 11 | }; 12 | export declare const DefaultTable: { 13 | (): JSX.Element; 14 | story: { 15 | name: string; 16 | }; 17 | }; 18 | export declare const DefaultTableLight: { 19 | (): JSX.Element; 20 | story: { 21 | name: string; 22 | }; 23 | }; 24 | -------------------------------------------------------------------------------- /src/assets/icon/arrow_drop_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/notification/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import Notification from '.'; 3 | 4 | import './styles.stories.scss'; 5 | 6 | export default { 7 | title: 'Notifications', 8 | decorators: [story =>
      {story()}
      ], 9 | }; 10 | 11 | export const All = () => ( 12 |
      13 |
      14 | 15 |
      16 |
      17 | 18 |
      19 |
      20 | ); 21 | -------------------------------------------------------------------------------- /docs/sb-manager/chunk-GPWZILNL.mjs: -------------------------------------------------------------------------------- 1 | var Keys=(Keys2=>(Keys2.react="__REACT__",Keys2["react-dom"]="__REACTDOM__",Keys2["@storybook/components"]="__STORYBOOKCOMPONENTS__",Keys2["@storybook/channels"]="__STORYBOOKCHANNELS__",Keys2["@storybook/core-events"]="__STORYBOOKCOREEVENTS__",Keys2["@storybook/router"]="__STORYBOOKROUTER__",Keys2["@storybook/theming"]="__STORYBOOKTHEMING__",Keys2["@storybook/api"]="__STORYBOOKAPI__",Keys2["@storybook/manager-api"]="__STORYBOOKAPI__",Keys2["@storybook/addons"]="__STORYBOOKADDONS__",Keys2["@storybook/client-logger"]="__STORYBOOKCLIENTLOGGER__",Keys2))(Keys||{});export{Keys}; 2 | -------------------------------------------------------------------------------- /src/components/checkbox/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import Checkbox from '.'; 3 | 4 | export default { 5 | title: 'Checkbox', 6 | decorators: [story =>
      {story()}
      ], 7 | }; 8 | 9 | export const Normal = () => ( 10 |
      11 | سلام دنیا 12 | سلام دنیا 13 |
      14 | ); 15 | 16 | export const Checked = () => ( 17 |
      18 | سلام دنیا 19 | 20 | سلام دنیا 21 | 22 |
      23 | ); 24 | -------------------------------------------------------------------------------- /src/components/tab/tab-nav.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface TabNavProps { 7 | className?: string; 8 | children: JSX.Element[] | JSX.Element; 9 | } 10 | 11 | class TabNav extends React.Component { 12 | render(): React.ReactNode { 13 | const { className, children } = this.props; 14 | const componentClassName = classNames('tab-nav-wrapper', className); 15 | return
      {children}
      ; 16 | } 17 | } 18 | 19 | export default TabNav; 20 | -------------------------------------------------------------------------------- /docs/sb-manager/chunk-WCYDYUGX.mjs: -------------------------------------------------------------------------------- 1 | function _extends(){return _extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i=0)&&(target[key]=source[key]);return target}export{_extends,_objectWithoutPropertiesLoose}; 2 | -------------------------------------------------------------------------------- /src/components/image/styles.scss: -------------------------------------------------------------------------------- 1 | @import '../../assets/styles/_base.scss'; 2 | 3 | img { 4 | display: block; 5 | 6 | &.test { 7 | height: 300px; 8 | width: 300px; 9 | } 10 | 11 | @keyframes loaded { 12 | 0% { 13 | opacity: 0.1; 14 | } 15 | 16 | 100% { 17 | opacity: 1; 18 | } 19 | } 20 | 21 | &.image-loaded:not(.image-has-error) { 22 | animation: loaded 300ms ease-in-out; 23 | } 24 | 25 | &.image-has-error { 26 | content: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkqAcAAIUAgUW0RjgAAAAASUVORK5CYII='); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/components/navbar/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface NavbarProps { 7 | children?: JSX.Element | JSX.Element[]; 8 | horizontally?: boolean; 9 | } 10 | 11 | const Navbar: React.FC = (props: NavbarProps) => { 12 | const navbarClassNames = classNames('navbar', { 13 | horizontally: props.horizontally, 14 | }); 15 | 16 | return
      {props.children}
      ; 17 | }; 18 | 19 | export default Navbar; 20 | export { default as NavbarItem } from './navbar-item'; 21 | -------------------------------------------------------------------------------- /docs/static/media/arrow_drop_down.1a49e46ad1d882ff659247677c078cdf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/menu/header.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import './styles.scss'; 4 | 5 | export interface MenuHeaderProps { 6 | title: string; 7 | image?: JSX.Element; 8 | action?: JSX.Element; 9 | } 10 | 11 | const MenuHeader: React.FC = (props: MenuHeaderProps) => ( 12 |
      13 | {!!props.image &&
      {props.image}
      } 14 |
      {props.title}
      15 | {!!props.action &&
      {props.action}
      } 16 |
      17 | ); 18 | 19 | export default MenuHeader; 20 | -------------------------------------------------------------------------------- /src/components/pointer/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import * as classnames from 'classnames'; 4 | 5 | import './styles.scss'; 6 | 7 | export interface PointerProps extends React.HTMLAttributes { 8 | size?: 'small' | 'normal' | 'large'; 9 | } 10 | 11 | const Pointer: React.FC = ({ 12 | size = 'normal', 13 | className, 14 | ...rest 15 | }) => { 16 | const classes = classnames('milingo-pointer', { 17 | [className]: !!className, 18 | [size]: true, 19 | }); 20 | 21 | return ; 22 | }; 23 | 24 | export default Pointer; 25 | -------------------------------------------------------------------------------- /dist/components/dialog-content/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface DialogContentProps extends React.HTMLProps { 4 | onClose?: () => void; 5 | children?: React.ReactNode; 6 | actions?: JSX.Element | JSX.Element[]; 7 | title: string; 8 | titleDescription?: string; 9 | className?: string; 10 | primary?: boolean; 11 | secondary?: boolean; 12 | } 13 | declare class DialogContent extends React.Component { 14 | componentDidMount(): void; 15 | render(): React.ReactNode; 16 | } 17 | export default DialogContent; 18 | -------------------------------------------------------------------------------- /src/components/tag/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import Tag from '.'; 3 | 4 | export default { 5 | title: 'Tag', 6 | decorators: [story =>
      {story()}
      ], 7 | }; 8 | 9 | export const Normal = () => ( 10 |
      11 | برچسب 12 | 13 | برچسب 14 | 15 | 16 | برچسب 17 | 18 | 19 | برچسب 20 | 21 | برچسب 22 |
      23 | ); 24 | -------------------------------------------------------------------------------- /src/components/loader/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import * as classNames from 'classnames'; 4 | 5 | import './styles.scss'; 6 | 7 | export interface LoaderProps { 8 | primary?: boolean; 9 | disabled?: boolean; 10 | danger?: boolean; 11 | } 12 | 13 | const Loader: React.FC = ({ 14 | primary, 15 | danger, 16 | disabled, 17 | }: LoaderProps) => { 18 | const className: string = classNames('spinner', { 19 | 'spinner-primary': primary, 20 | 'spinner-danger': danger, 21 | 'spinner-disabled': disabled, 22 | }); 23 | 24 | return ; 25 | }; 26 | 27 | export default Loader; 28 | -------------------------------------------------------------------------------- /dist/components/checkbox/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface CheckboxProps extends React.HTMLProps { 4 | loading?: boolean; 5 | } 6 | export interface CheckboxState { 7 | checked: boolean; 8 | } 9 | declare class Checkbox extends React.Component { 10 | private checkboxElement; 11 | constructor(props: any); 12 | static getDerivedStateFromProps(nextProps: CheckboxProps, prevState: CheckboxState): {}; 13 | handleChange: (e: React.ChangeEvent) => void; 14 | render(): React.ReactNode; 15 | } 16 | export default Checkbox; 17 | -------------------------------------------------------------------------------- /dist/components/timeline/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.stories.scss'; 3 | declare const _default: { 4 | title: string; 5 | decorators: ((story: any) => JSX.Element)[]; 6 | }; 7 | export default _default; 8 | export declare const WithSingleEntry: { 9 | (): React.ReactNode; 10 | story: { 11 | name: string; 12 | }; 13 | }; 14 | export declare const WithTwoEntries: { 15 | (): React.ReactNode; 16 | story: { 17 | name: string; 18 | }; 19 | }; 20 | export declare const WithSeveralEntries: { 21 | (): React.ReactNode; 22 | story: { 23 | name: string; 24 | }; 25 | }; 26 | -------------------------------------------------------------------------------- /dist/components/chat/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const Default: () => JSX.Element; 7 | export declare const WithoutMessage: () => JSX.Element; 8 | export declare const WithoutSubmitMessage: () => JSX.Element; 9 | export declare const WithFooter: () => JSX.Element; 10 | export declare const WithAttachment: () => JSX.Element; 11 | export declare const WithProgressAttachment: () => JSX.Element; 12 | export declare const WithErrorAttachment: () => JSX.Element; 13 | export declare const WithTryAgainAttachment: () => JSX.Element; 14 | -------------------------------------------------------------------------------- /src/components/count-input/styles.scss: -------------------------------------------------------------------------------- 1 | @import '../../assets/styles/base'; 2 | 3 | .count-input { 4 | display: inline-flex; 5 | justify-content: space-between; 6 | user-select: none; 7 | align-items: center; 8 | min-width: 70px; 9 | 10 | > .value { 11 | color: $primary1; 12 | } 13 | 14 | > .action-button { 15 | width: 20px; 16 | height: 20px; 17 | border-radius: 50%; 18 | padding: 0; 19 | margin: 0; 20 | background-color: #e8f0fa; 21 | color: $primary1; 22 | border: 0; 23 | 24 | &:hover { 25 | color: $whiteColor; 26 | } 27 | 28 | > .button-icon { 29 | font-size: 18px; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/assets/styles/_variables.scss: -------------------------------------------------------------------------------- 1 | $primary1: #1e6dc8; 2 | $primary2: #4a90e2; 3 | $primary3: #eaf2fc; 4 | $disabledColor: #8897a8; 5 | 6 | $warning1: #bc0007; 7 | $warning2: #ffd0d6; 8 | $warning3: #fbba00; 9 | $loadingBarBackground: #d0d0d0; 10 | 11 | $danger1: #d73948; 12 | $danger2: #ffd0d6; 13 | 14 | $success1: #248212; 15 | $success2: #eefceb; 16 | $successDark: #258613; 17 | 18 | $whiteColor: #fff; 19 | 20 | $mobileWidth: 480px; 21 | $tabletWidth: 768px; 22 | $monitorWidth: 1024px; 23 | 24 | $desktopWidth: 1024px; 25 | $hdDesktopWidth: 1440px; 26 | 27 | // map of font-size to line-height in px 28 | $sizeLineHeightMap : (10: 16, 12: 20, 14: 24, 16:24, 18: 32, 20: 32); 29 | -------------------------------------------------------------------------------- /src/assets/icon/notification-error.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/components/range-date-picker/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import { ComponentMeta, ComponentStory } from '@storybook/react'; 2 | import * as React from 'react'; 3 | import RangePicker, { RangeDatePickerProps } from '.'; 4 | 5 | export default { 6 | title: 'Date Picker', 7 | component: RangePicker, 8 | decorators: [story =>
      {story()}
      ], 9 | } as ComponentMeta; 10 | 11 | const Template: ComponentStory = args => ( 12 | 13 | ); 14 | 15 | export const RangeDatePicker = Template.bind({}); 16 | 17 | RangeDatePicker.args = { 18 | title: 'انتخاب تاریخ', 19 | } as RangeDatePickerProps; 20 | -------------------------------------------------------------------------------- /src/assets/icon/notification-error-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/assets/icon/arrow-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/components/menu/link.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface MenuLinkProps { 7 | title: string; 8 | notificationCount?: number; 9 | selected?: boolean; 10 | } 11 | 12 | const MenuLink: React.FC = (props: MenuLinkProps) => ( 13 |
      14 |
      {props.title}
      15 | {props.notificationCount && ( 16 |
      17 | {props.notificationCount} 18 |
      19 | )} 20 |
      21 | ); 22 | 23 | export default MenuLink; 24 | -------------------------------------------------------------------------------- /docs/static/media/notification-error.ff122476c7682739da7e5c633f61aeca.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/static/media/notification-error-white.15ad8e7217b81f2413de641bff363acc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dist/components/button/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface ButtonProps extends React.ComponentProps<'button'> { 4 | primary?: boolean; 5 | danger?: boolean; 6 | ghost?: boolean; 7 | link?: boolean; 8 | text?: boolean; 9 | tiny?: boolean; 10 | small?: boolean; 11 | regular?: boolean; 12 | large?: boolean; 13 | shouldRender?: boolean; 14 | raised?: boolean; 15 | noBorder?: boolean; 16 | loading?: boolean; 17 | purplePrimary?: boolean; 18 | purpleGhost?: boolean; 19 | purpleLink?: boolean; 20 | } 21 | declare class Button extends React.Component { 22 | render(): JSX.Element; 23 | } 24 | export default Button; 25 | -------------------------------------------------------------------------------- /docs/static/media/arrow-white.cfbaea7155056117498e6352ad7e0099.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/components/data-table/table.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import TagLine from './tag-line'; 4 | 5 | export interface DataTableProps extends React.HTMLProps { 6 | tagline?: string | React.ReactNode; 7 | children?: React.ReactNode; 8 | } 9 | 10 | class DataTable extends React.Component { 11 | render(): React.ReactNode { 12 | const { tagline, children, ...restOfProps } = this.props; 13 | 14 | return ( 15 |
      16 | {tagline && {tagline}} 17 |
      18 | {children}
      19 |
      20 |
      21 | ); 22 | } 23 | } 24 | 25 | export default DataTable; 26 | -------------------------------------------------------------------------------- /src/components/progress-bar/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import { ProgressBar } from '.'; 4 | 5 | export default { 6 | title: 'ProgressBar', 7 | decorators: [story =>
      {story()}
      ], 8 | }; 9 | 10 | export const Sizes: React.FC = () => ( 11 |
      12 | 13 | 14 |
      15 |
      16 |
      17 | 18 | 19 | 20 |
      21 |
      22 |
      23 | 24 | 30 |
      31 | ); 32 | -------------------------------------------------------------------------------- /src/assets/icon/send.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dist/components/button/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | import './styles.stories.scss'; 2 | declare const _default: { 3 | title: string; 4 | decorators: ((story: any) => JSX.Element)[]; 5 | }; 6 | export default _default; 7 | export declare const Primary: () => JSX.Element; 8 | export declare const Danger: () => JSX.Element; 9 | export declare const Ghost: () => JSX.Element; 10 | export declare const Link: () => JSX.Element; 11 | export declare const Text: () => JSX.Element; 12 | export declare const Purple: () => JSX.Element; 13 | export declare const Tiny: () => JSX.Element; 14 | export declare const Small: () => JSX.Element; 15 | export declare const Regular: () => JSX.Element; 16 | export declare const Large: () => JSX.Element; 17 | export declare const Loading: () => JSX.Element; 18 | -------------------------------------------------------------------------------- /dist/components/dialog-content/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | import './styles.stories.scss'; 2 | declare const _default: { 3 | title: string; 4 | decorators: ((story: any) => JSX.Element)[]; 5 | }; 6 | export default _default; 7 | export declare const PrimaryWithContent: { 8 | (): JSX.Element; 9 | story: { 10 | name: string; 11 | }; 12 | }; 13 | export declare const PrimaryWithDescription: { 14 | (): JSX.Element; 15 | story: { 16 | name: string; 17 | }; 18 | }; 19 | export declare const SecondaryWithContent: { 20 | (): JSX.Element; 21 | story: { 22 | name: string; 23 | }; 24 | }; 25 | export declare const SecondaryWithoutContent: { 26 | (): JSX.Element; 27 | story: { 28 | name: string; 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /src/assets/icon/disabled-send.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/components/accordion/styles/_accordion-item.scss: -------------------------------------------------------------------------------- 1 | .accordion-item { 2 | display: flex; 3 | flex-direction: column; 4 | gap: 8px; 5 | padding: 8px 16px 8px 8px; 6 | box-sizing: border-box; 7 | 8 | &-container { 9 | display: flex; 10 | line-height: 24px; 11 | cursor: pointer; 12 | 13 | &:not(:last-child) { 14 | border-bottom: 1px solid #ecedef; 15 | } 16 | } 17 | 18 | &-description { 19 | color: #3d3f53; 20 | font-weight: 300; 21 | font-variation-settings: 'wght' 300; 22 | max-width: 276px; 23 | overflow: hidden; 24 | text-overflow: ellipsis; 25 | } 26 | 27 | &-title { 28 | color: #191924; 29 | max-width: 276px; 30 | overflow: hidden; 31 | text-overflow: ellipsis; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/components/notification/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface NotificationProps extends React.HTMLProps { 7 | message: string; 8 | warning?: boolean; 9 | className?: string; 10 | } 11 | 12 | const Notification: React.FC = ( 13 | props: NotificationProps, 14 | ) => { 15 | const { message, className, warning, ...restOfProps } = props; 16 | const componentClassName = classNames('notification', className, { 17 | alarm: warning === true, 18 | }); 19 | 20 | return ( 21 |
      22 | {message} 23 |
      24 | ); 25 | }; 26 | 27 | export default Notification; 28 | -------------------------------------------------------------------------------- /docs/static/media/send.82860b853ca61a25b356f7c034035efd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/components/action-table/action-table.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface ActionTableProps extends React.HTMLProps { 7 | title?: string; 8 | } 9 | 10 | const ActionTable: React.FC = (props: ActionTableProps) => { 11 | const { title, ...restOfProps } = props; 12 | 13 | return ( 14 |
      17 | {props.title && ( 18 |
      19 | {props.title} 20 |
      21 | )} 22 |
      {props.children}
      23 |
      24 | ); 25 | }; 26 | 27 | export default ActionTable; 28 | -------------------------------------------------------------------------------- /src/components/tab/tab-nav-item.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface TabNavItemProps extends React.HTMLProps { 7 | className?: string; 8 | children: React.ReactNode; 9 | active?: boolean; 10 | } 11 | 12 | class TabNavItem extends React.Component { 13 | render(): React.ReactNode { 14 | const { className, children, active, ...props } = this.props; 15 | const componentClassName = classNames('tab-nav-item', className, { 16 | active, 17 | }); 18 | return ( 19 |
      20 | 21 |
      22 | ); 23 | } 24 | } 25 | 26 | export default TabNavItem; 27 | -------------------------------------------------------------------------------- /dist/components/accordion/list-accordion.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles/index.scss'; 3 | interface ListItems { 4 | id: number; 5 | className?: string; 6 | title: string; 7 | description: string; 8 | element: JSX.Element; 9 | } 10 | interface AccordionItems { 11 | id: number; 12 | element: JSX.Element; 13 | isDisable?: boolean; 14 | } 15 | export interface ListAccordionProps extends React.HTMLAttributes { 16 | accordionTitle: string; 17 | maxOpenAccordion?: number; 18 | accordionItems: AccordionItems[]; 19 | listItems: ListItems[]; 20 | } 21 | declare const ListAccordion: ({ accordionTitle, maxOpenAccordion, listItems, accordionItems, ...rest }: ListAccordionProps) => JSX.Element; 22 | export default ListAccordion; 23 | -------------------------------------------------------------------------------- /src/components/tab/tab-content-item.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface TabContentItemProps extends React.HTMLProps { 7 | className?: string; 8 | children?: JSX.Element[] | JSX.Element | string; 9 | tabId: number | string; 10 | } 11 | 12 | class TabContentItem extends React.Component { 13 | render(): React.ReactNode { 14 | const { className, children, tabId, ...props } = this.props; 15 | const componentClassName = classNames('tab-content-item', className); 16 | return ( 17 |
      18 | {children} 19 |
      20 | ); 21 | } 22 | } 23 | 24 | export default TabContentItem; 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "dist", 4 | "module": "commonjs", 5 | "target": "es5", 6 | "lib": ["es5", "es6", "es7", "es2017", "dom"], 7 | "sourceMap": true, 8 | "allowJs": false, 9 | "jsx": "react", 10 | "moduleResolution": "node", 11 | "rootDirs": ["src"], 12 | "baseUrl": "src", 13 | "forceConsistentCasingInFileNames": true, 14 | "noImplicitReturns": true, 15 | "noImplicitThis": true, 16 | "noImplicitAny": false, 17 | "strictNullChecks": false, 18 | "noUnusedLocals": true, 19 | "declaration": true, 20 | "allowSyntheticDefaultImports": true, 21 | "experimentalDecorators": true, 22 | "skipLibCheck": true 23 | }, 24 | "include": ["src/**/*"], 25 | "exclude": ["node_modules", "dist"] 26 | } 27 | -------------------------------------------------------------------------------- /dist/components/textarea/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface InputProps extends React.HTMLProps { 4 | errorMessage?: string; 5 | forceDisplayError?: boolean; 6 | validate?: (value: string) => boolean; 7 | title?: string; 8 | className?: string; 9 | value?: string; 10 | } 11 | export interface InputState { 12 | touched: boolean; 13 | value: string; 14 | } 15 | declare class Textarea extends React.Component { 16 | constructor(props: any); 17 | static getDerivedStateFromProps(nextProps: InputProps, prevState: InputState): {}; 18 | handleInput: (e: React.ChangeEvent) => void; 19 | render(): React.ReactNode; 20 | } 21 | export default Textarea; 22 | -------------------------------------------------------------------------------- /docs/static/media/disabled-send.3fe2c6d0793fd78fc5d8bb9953cfca3b.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/components/count-input/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import CountInput from '.'; 4 | 5 | export default { 6 | title: 'Count input', 7 | decorators: [story =>
      {story()}
      ], 8 | }; 9 | 10 | export const Basic = (): JSX.Element => { 11 | const [value, setValue] = React.useState(0); 12 | return ; 13 | }; 14 | 15 | export const MinAndMaxValue = (): JSX.Element => { 16 | const [value, setValue] = React.useState(15); 17 | return ; 18 | }; 19 | 20 | export const Steps = (): JSX.Element => { 21 | const [value, setValue] = React.useState(15); 22 | return ; 23 | }; 24 | -------------------------------------------------------------------------------- /src/components/tab-column/tab-column.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface FormProps extends React.HTMLProps { 7 | className?: string; 8 | children?: React.ReactNode; 9 | fullWidth?: boolean; 10 | } 11 | 12 | class Form extends React.Component { 13 | render(): React.ReactNode { 14 | const { className, children, fullWidth, ...props } = this.props; 15 | const componentClassName = classNames('tab-column-container', className, { 16 | 'full-width': fullWidth, 17 | }); 18 | 19 | return ( 20 |
      21 |
      {children}
      22 |
      23 | ); 24 | } 25 | } 26 | 27 | export default Form; 28 | -------------------------------------------------------------------------------- /src/components/tab-column/tab.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface FoodGroupProps extends React.HTMLProps { 7 | className?: string; 8 | children?: React.ReactNode; 9 | onClick?: React.MouseEventHandler; 10 | selected?: boolean; 11 | } 12 | 13 | class FormGroup extends React.Component { 14 | render(): React.ReactNode { 15 | const { className, children, selected, ...props } = this.props; 16 | const componentClassName = classNames('tab-container', className, { 17 | selected, 18 | }); 19 | 20 | return ( 21 |
      22 | {children} 23 |
      24 | ); 25 | } 26 | } 27 | 28 | export default FormGroup; 29 | -------------------------------------------------------------------------------- /docs/sb-common-assets/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Nunito Sans'; 3 | font-style: normal; 4 | font-weight: 400; 5 | font-display: swap; 6 | src: url('./nunito-sans-regular.woff2') format('woff2'); 7 | } 8 | 9 | @font-face { 10 | font-family: 'Nunito Sans'; 11 | font-style: italic; 12 | font-weight: 400; 13 | font-display: swap; 14 | src: url('./nunito-sans-italic.woff2') format('woff2'); 15 | } 16 | 17 | @font-face { 18 | font-family: 'Nunito Sans'; 19 | font-style: normal; 20 | font-weight: 700; 21 | font-display: swap; 22 | src: url('./nunito-sans-bold.woff2') format('woff2'); 23 | } 24 | 25 | @font-face { 26 | font-family: 'Nunito Sans'; 27 | font-style: italic; 28 | font-weight: 700; 29 | font-display: swap; 30 | src: url('./nunito-sans-bold-italic.woff2') format('woff2'); 31 | } 32 | -------------------------------------------------------------------------------- /src/assets/styles/_transitions.scss: -------------------------------------------------------------------------------- 1 | $transitionStandard: all 0.2s cubic-bezier(0.5, 0, 0.1, 1); 2 | $transitionInward: all 0.2s cubic-bezier(0, 0, 0.25, 1); 3 | $transitionOutward: all 0.2s cubic-bezier(0.25, 0, 1, 1); 4 | 5 | $transitionAlertStandard: all 0.25s cubic-bezier(0.5, 0, 0.1, 1); 6 | $transitionAlertInward: all 0.25s cubic-bezier(0, 0, 0.25, 1); 7 | $transitionAlertOutward: all 0.25s cubic-bezier(0.25, 0, 1, 1); 8 | 9 | $transitionDialogStandard: all 0.3s cubic-bezier(0.5, 0, 0.1, 1); 10 | $transitionDialogInward: all 0.3s cubic-bezier(0, 0, 0.25, 1); 11 | $transitionDialogOutward: all 0.3s cubic-bezier(0.25, 0, 1, 1); 12 | 13 | $transitionPageStandard: all 0.5s cubic-bezier(0.5, 0, 0.1, 1); 14 | $transitionPageInward: all 0.5s cubic-bezier(0, 0, 0.25, 1); 15 | $transitionPageOutward: all 0.5s cubic-bezier(0.25, 0, 1, 1); 16 | -------------------------------------------------------------------------------- /src/components/accordion/accordion-item.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles/index.scss'; 5 | 6 | export interface AccordionItemProps { 7 | title: string; 8 | id: number; 9 | description?: string; 10 | className?: string; 11 | children?: JSX.Element; 12 | } 13 | 14 | const AccordionItem = (props: AccordionItemProps): JSX.Element => { 15 | const componentClassNames = classNames('accordion-item', props.className); 16 | 17 | return ( 18 |
      19 |
      {props.title}
      20 |
      {props.description}
      21 | {props.children} 22 |
      23 | ); 24 | }; 25 | 26 | export default AccordionItem; 27 | -------------------------------------------------------------------------------- /dist/components/chat/chat-attachment.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface States { 4 | tryAgain?: boolean; 5 | message?: string; 6 | index?: number; 7 | loading?: boolean; 8 | progress?: number; 9 | } 10 | export interface AttachmentFileProps { 11 | displayClear?: boolean; 12 | file?: File; 13 | setFile: (file: File) => void; 14 | forceDisplayError?: boolean; 15 | onChangeFile?: (value?: File) => void; 16 | onTryAgain?: (files: File) => void; 17 | onFileCancelled?: (index?: number) => void; 18 | state?: States; 19 | validate?: (value: File) => boolean; 20 | isClear?: boolean; 21 | touched: boolean; 22 | disabled?: boolean; 23 | } 24 | declare const AttachmentFile: React.FC; 25 | export default AttachmentFile; 26 | -------------------------------------------------------------------------------- /docs/612.styles.css: -------------------------------------------------------------------------------- 1 | @keyframes milingo-pointer-animation{0%,100%{box-shadow:0 0 0 0 #F3B229,inset 0 0 0 0 #F3B229}50%{box-shadow:0 0 0 2px #F3B229,inset 0 0 0 2px #F3B229}}.milingo-pointer{display:inline-block;border-radius:50%;background-color:#F3B229;pointer-events:none;display:flex;align-items:center;justify-content:center}.milingo-pointer.small{width:12px;height:12px}.milingo-pointer.normal{width:16px;height:16px}.milingo-pointer.large{width:20px;height:20px}.milingo-pointer::after{content:'';display:inline-block;min-width:calc(100% + 8px);min-height:calc(100% + 8px);border-radius:50%;box-shadow:0 0 0 0 #F3B229,inset 0 0 0 0 #F3B229;will-change:box-shadow;animation:milingo-pointer-animation 1.5s linear infinite} 2 | 3 | .story-container.pointers{display:flex;gap:30px;padding:50px;align-items:center} 4 | 5 | 6 | /*# sourceMappingURL=612.styles.css.map*/ -------------------------------------------------------------------------------- /docs/project.json: -------------------------------------------------------------------------------- 1 | {"generatedAt":1717325597038,"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"metaFramework":{"name":"CRA","packageName":"react-scripts","version":"5.0.1"},"packageManager":{"type":"yarn","version":"1.22.22"},"framework":{"name":"@storybook/react-webpack5"},"builder":"@storybook/builder-webpack5","renderer":"@storybook/react","storybookVersion":"7.0.2","storybookVersionSpecifier":"^7.0.2","language":"typescript","storybookPackages":{"@percy/storybook":{"version":null},"@storybook/cli":{"version":"7.0.2"},"@storybook/react":{"version":"7.0.2"},"@storybook/react-webpack5":{"version":"7.0.2"},"storybook":{"version":"7.0.2"}},"addons":{"storybook-addon-jsx":{"version":"7.3.14"},"@storybook/preset-create-react-app":{"version":"7.0.2"},"@storybook/addon-viewport":{"version":"7.0.2"}}} 2 | -------------------------------------------------------------------------------- /src/components/radiobutton/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import Radio from '.'; 3 | 4 | export default { 5 | title: 'Radio', 6 | decorators: [story =>
      {story()}
      ], 7 | }; 8 | 9 | export const Normal = () => ( 10 |
      11 | سلام دنیا 12 | 13 | سلام دنیا 14 | 15 |
      16 | ); 17 | 18 | export const Checked = () => ( 19 |
      20 | 21 | سلام دنیا 22 | 23 | 24 | سلام دنیا 25 | 26 | 27 | سلام دنیا 28 | 29 | 30 | سلام دنیا 31 | 32 |
      33 | ); 34 | -------------------------------------------------------------------------------- /src/components/collection/collection.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface CollectionProps extends React.HTMLProps { 7 | title?: string; 8 | className?: string; 9 | children?: React.ReactNode; 10 | } 11 | 12 | class Collection extends React.Component { 13 | render(): React.ReactNode { 14 | const { className, children, title, ...props } = this.props; 15 | const componentClassName = classNames('collection-container', className); 16 | 17 | return ( 18 |
      19 |
      {title}
      20 |
      {children}
      21 |
      22 | ); 23 | } 24 | } 25 | 26 | export default Collection; 27 | -------------------------------------------------------------------------------- /docs/sb-manager/chunk-KQFPYAFV.mjs: -------------------------------------------------------------------------------- 1 | var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));export{__commonJS,__toESM}; 2 | -------------------------------------------------------------------------------- /src/components/image/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import Image from '.'; 3 | 4 | export default { 5 | title: 'Image', 6 | decorators: [story =>
      {story()}
      ], 7 | }; 8 | 9 | const images: string[] = ['1', '2', '3', '4']; 10 | 11 | export const All = (): JSX.Element => ( 12 |
      13 | {images.map((image, index) => ( 14 | placeholder 20 | ))} 21 | thumbnail 29 |
      30 | ); 31 | -------------------------------------------------------------------------------- /src/components/navbar/navbar-item.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface NavbarItemProps extends React.HTMLProps { 7 | icon: string | JSX.Element; 8 | text: string | JSX.Element; 9 | selected?: boolean; 10 | } 11 | 12 | const NavbarItem: React.FC = ({ 13 | icon, 14 | text, 15 | selected, 16 | ...props 17 | }: NavbarItemProps) => ( 18 |
      19 |
      20 | {typeof icon === 'string' ? ( 21 | {icon} 22 | ) : ( 23 | icon 24 | )} 25 |
      26 | {text} 27 |
      28 | ); 29 | 30 | export default NavbarItem; 31 | -------------------------------------------------------------------------------- /src/components/tab-column/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import { Tab, TabColumn } from '.'; 4 | 5 | export default { 6 | title: 'Tab Column', 7 | decorators: [story =>
      {story()}
      ], 8 | }; 9 | 10 | export const Normal = (): JSX.Element => ( 11 |
      19 | 20 | محبوب‌ترین‌ها 21 | برگر 22 | پیتزا 23 | سالاد و پیش غذا و قیمه و ماست و قرمه سبزی 24 | محبوب‌ترین‌ها 25 | برگر 26 | پیتزا 27 | سالاد و پیش غذا و قیمه و ماست و قرمه سبزی 28 | 29 |
      30 | ); 31 | -------------------------------------------------------------------------------- /src/components/button-group/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface GroupButtonProps extends React.HTMLProps { 7 | className?: string; 8 | } 9 | 10 | interface GroupButtonState { 11 | selected: string; 12 | } 13 | 14 | class GroupButtonComponent extends React.Component< 15 | GroupButtonProps, 16 | GroupButtonState 17 | > { 18 | constructor(props) { 19 | super(props); 20 | } 21 | 22 | render(): React.ReactNode { 23 | const { className, children, ...props } = this.props; 24 | const buttonGroupClass = classNames('button-group-container', className); 25 | 26 | return ( 27 |
      28 | {children} 29 |
      30 | ); 31 | } 32 | } 33 | 34 | export default GroupButtonComponent; 35 | -------------------------------------------------------------------------------- /src/components/stepper/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import Stepper, { Step, StepStatus } from '.'; 3 | 4 | export default { 5 | title: 'Stepper', 6 | decorators: [story =>
      {story()}
      ], 7 | }; 8 | 9 | const steps: Step[] = [ 10 | { 11 | title: 'مسیر 1', 12 | status: StepStatus.Done, 13 | }, 14 | { 15 | title: 'مسیر 2', 16 | status: StepStatus.Done, 17 | }, 18 | { 19 | title: 'مسیر 3', 20 | status: StepStatus.Done, 21 | }, 22 | { 23 | title: 'مسیر 4', 24 | status: StepStatus.Doing, 25 | }, 26 | { 27 | title: 'مسیر 5', 28 | status: StepStatus.ToDo, 29 | }, 30 | { 31 | title: 'مسیر 6', 32 | status: StepStatus.ToDo, 33 | }, 34 | ]; 35 | 36 | export const Normal = (): JSX.Element => ( 37 |
      38 | 39 |
      40 | ); 41 | -------------------------------------------------------------------------------- /docs/static/css/pointer-index-stories.89288c59.chunk.css: -------------------------------------------------------------------------------- 1 | @keyframes milingo-pointer-animation{0%,100%{box-shadow:0 0 0 0 #F3B229,inset 0 0 0 0 #F3B229}50%{box-shadow:0 0 0 2px #F3B229,inset 0 0 0 2px #F3B229}}.milingo-pointer{display:inline-block;border-radius:50%;background-color:#F3B229;pointer-events:none;display:flex;align-items:center;justify-content:center}.milingo-pointer.small{width:12px;height:12px}.milingo-pointer.normal{width:16px;height:16px}.milingo-pointer.large{width:20px;height:20px}.milingo-pointer::after{content:'';display:inline-block;min-width:calc(100% + 8px);min-height:calc(100% + 8px);border-radius:50%;box-shadow:0 0 0 0 #F3B229,inset 0 0 0 0 #F3B229;will-change:box-shadow;animation:milingo-pointer-animation 1.5s linear infinite} 2 | 3 | .story-container.pointers{display:flex;gap:30px;padding:50px;align-items:center} 4 | 5 | 6 | /*# sourceMappingURL=pointer-index-stories.89288c59.chunk.css.map*/ -------------------------------------------------------------------------------- /dist/components/persian-number/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | export interface PersianNumberProps { 3 | value: string | number; 4 | className?: string; 5 | from?: string; 6 | includesPrice?: boolean; 7 | includesTime?: boolean; 8 | component?: string; 9 | currencyType?: string; 10 | applyZeroForPrice?: boolean; 11 | } 12 | declare class PersianNumber extends React.Component { 13 | static defaultProps: Partial; 14 | private static ARABIC_NUMBERS; 15 | private static ENGLISH_NUMBERS; 16 | private static PERSIAN_NUMBERS; 17 | static formatPrice(text: any, applyZeroForPrice: any): string; 18 | static formatTime(text: string | number): string; 19 | render(): React.ReactNode; 20 | private arabicToPersian; 21 | private englishToPersian; 22 | private applyFormats; 23 | } 24 | export default PersianNumber; 25 | -------------------------------------------------------------------------------- /src/assets/styles/_mixin.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | 3 | @function calculatePixelToRem($size) { 4 | @return $size / 14 * 1rem; 5 | } 6 | 7 | @mixin font-size($size) { 8 | font-size: calculatePixelToRem($size); 9 | 10 | @if map-has-key($sizeLineHeightMap, $size) { 11 | line-height: calculatePixelToRem(map-get($sizeLineHeightMap, $size)); 12 | } 13 | } 14 | 15 | @mixin light-scrollbar { 16 | &::-webkit-scrollbar { 17 | display: block; 18 | visibility: visible; 19 | width: 8px; 20 | } 21 | 22 | &::-webkit-scrollbar-track { 23 | border-radius: 4px; 24 | background-color: transparent; 25 | } 26 | 27 | &::-webkit-scrollbar-thumb { 28 | border-radius: 4px; 29 | background-color: #d0d0d0; 30 | } 31 | 32 | &::-webkit-scrollbar-track:hover { 33 | background-color: #ecedef; 34 | } 35 | 36 | &::-webkit-scrollbar-thumb:hover { 37 | background-color: #4a90e2; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /docs/687.bbe822d9.iframe.bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /*! 8 | Copyright (c) 2015 Jed Watson. 9 | Based on code that is Copyright 2013-2015, Facebook, Inc. 10 | All rights reserved. 11 | */ 12 | 13 | /*! 14 | * Adapted from jQuery UI core 15 | * 16 | * http://jqueryui.com 17 | * 18 | * Copyright 2014 jQuery Foundation and other contributors 19 | * Released under the MIT license. 20 | * http://jquery.org/license 21 | * 22 | * http://api.jqueryui.com/category/ui-core/ 23 | */ 24 | 25 | /** 26 | * @license React 27 | * react-jsx-runtime.production.min.js 28 | * 29 | * Copyright (c) Facebook, Inc. and its affiliates. 30 | * 31 | * This source code is licensed under the MIT license found in the 32 | * LICENSE file in the root directory of this source tree. 33 | */ 34 | 35 | //! moment.js 36 | -------------------------------------------------------------------------------- /src/components/counter-button/styles.scss: -------------------------------------------------------------------------------- 1 | @import '../../assets/styles/_base.scss'; 2 | 3 | .counter-button-wrapper { 4 | color: #000; 5 | border-radius: 20px; 6 | background-color: #f2f3f5; 7 | 8 | > :first-child { 9 | border-radius: 20px 20px 0 0; 10 | } 11 | 12 | > :nth-child(2) { 13 | border-radius: 0 0 20px 20px; 14 | } 15 | 16 | &:hover { 17 | background: #eaf2fc; 18 | color: #1e6dc8; 19 | } 20 | 21 | .button-wrapper { 22 | width: calculatePixelToRem(40); 23 | height: calculatePixelToRem(40); 24 | box-sizing: border-box; 25 | user-select: none; 26 | 27 | span { 28 | margin: calculatePixelToRem(8); 29 | cursor: pointer; 30 | font-size: calculatePixelToRem(24); 31 | } 32 | 33 | &:hover { 34 | background-color: #1e6dc8; 35 | color: #fff; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/components/button/styles.stories.scss: -------------------------------------------------------------------------------- 1 | .story-container { 2 | button { 3 | margin-left: 16px; 4 | } 5 | 6 | .table-of-loading-buttons { 7 | > div { 8 | width: 100%; 9 | display: flex; 10 | gap: 40px; 11 | 12 | > label { 13 | display: flex; 14 | font-size: 20px; 15 | gap: 10px; 16 | align-items: flex-start; 17 | user-select: none; 18 | } 19 | } 20 | 21 | > table { 22 | $border: 1px solid rgba(128, 128, 128, 0.2); 23 | 24 | border: $border; 25 | 26 | td { 27 | padding: 10px; 28 | 29 | &:not(:last-child) { 30 | border-right: $border; 31 | } 32 | } 33 | 34 | th { 35 | font-size: 20px; 36 | padding: 10px; 37 | border-right: $border; 38 | } 39 | 40 | tr:not(:last-child) { 41 | td, th { 42 | border-bottom: $border; 43 | } 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /dist/components/banner/index.stories.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | title: string; 3 | decorators: ((story: any) => JSX.Element)[]; 4 | }; 5 | export default _default; 6 | export declare const WithDismissIcon: { 7 | (): JSX.Element; 8 | story: { 9 | name: string; 10 | }; 11 | }; 12 | export declare const WithoutDismissIcon: { 13 | (): JSX.Element; 14 | story: { 15 | name: string; 16 | }; 17 | }; 18 | export declare const MultipleLine: { 19 | (): JSX.Element; 20 | story: { 21 | name: string; 22 | }; 23 | }; 24 | export declare const DarkWithDismissIcon: { 25 | (): JSX.Element; 26 | story: { 27 | name: string; 28 | }; 29 | }; 30 | export declare const DarkWithoutDismissIcon: { 31 | (): JSX.Element; 32 | story: { 33 | name: string; 34 | }; 35 | }; 36 | export declare const DarkMultipleLine: { 37 | (): JSX.Element; 38 | story: { 39 | name: string; 40 | }; 41 | }; 42 | -------------------------------------------------------------------------------- /src/common/utils/date-pickers.ts: -------------------------------------------------------------------------------- 1 | import { Moment } from 'moment'; 2 | import * as moment from 'moment-jalaali'; 3 | 4 | export const generateMonth = ( 5 | mm: string, 6 | yyyy: string, 7 | generateDay: (day?: Moment, month?: 'next' | 'prev') => React.ReactNode, 8 | ): JSX.Element[] => { 9 | const dates = []; 10 | const month = moment(`${yyyy}/${mm}/1`, 'jYYYY/jM/jD'); 11 | const startOfNextMonth = moment(month).endOf('jMonth'); 12 | const date = moment(month); 13 | 14 | for (let i = 6, j = 0; i !== date.day(); i === 6 ? (i = 0) : i++, j++) { 15 | const day = moment(date).subtract(date.day() - j + 1, 'days'); 16 | dates.push(generateDay(day, 'prev')); 17 | } 18 | while (date.isBefore(startOfNextMonth)) { 19 | dates.push(generateDay(date)); 20 | date.add(1, 'days'); 21 | } 22 | for (let i = date.day(); i < 6; i++) { 23 | const day = moment(date).subtract(date.day() - i, 'days'); 24 | dates.push(generateDay(day, 'next')); 25 | } 26 | 27 | return dates; 28 | }; 29 | -------------------------------------------------------------------------------- /src/components/license-plate/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import { ComponentStory, ComponentMeta } from '@storybook/react'; 4 | 5 | import LicensePlate, { LicensePlateProps } from '.'; 6 | import './style.stories.scss'; 7 | 8 | export default { 9 | title: 'License plate', 10 | component: LicensePlate, 11 | } as ComponentMeta; 12 | 13 | const Template: ComponentStory = ( 14 | props: LicensePlateProps, 15 | ) => ( 16 |
      17 |

      Editable

      18 | 19 | 20 |

      Readonly

      21 | 22 |
      23 | ); 24 | 25 | export const NewStyle = Template.bind({}); 26 | NewStyle.args = { 27 | value: [123, 45678], 28 | } as LicensePlateProps; 29 | 30 | export const OldStyle = Template.bind({}); 31 | OldStyle.args = { 32 | value: [12345, 678], 33 | oldStyle: true, 34 | } as LicensePlateProps; 35 | -------------------------------------------------------------------------------- /src/components/tag/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface TagProps extends React.HTMLProps { 7 | component?: string; 8 | primary?: boolean; 9 | warning?: boolean; 10 | success?: boolean; 11 | alert?: boolean; 12 | } 13 | 14 | class Tag extends React.Component { 15 | render(): React.ReactNode { 16 | const { 17 | children, 18 | className, 19 | primary, 20 | warning, 21 | success, 22 | alert, 23 | ...props 24 | }: TagProps = this.props; 25 | 26 | const componentClassName = classNames('tag-wrapper', className, { 27 | primary, 28 | warning, 29 | success, 30 | alert, 31 | }); 32 | 33 | return React.createElement( 34 | this.props.component || 'span', 35 | { className: componentClassName, ...props }, 36 | children, 37 | ); 38 | } 39 | } 40 | 41 | export default Tag; 42 | -------------------------------------------------------------------------------- /src/components/form/styles.scss: -------------------------------------------------------------------------------- 1 | @import '../../assets/styles/_base.scss'; 2 | @import '../../assets/styles/_input-variables.scss'; 3 | 4 | .form-container { 5 | text-align: right; 6 | 7 | .form-title { 8 | @include font-size(16); 9 | 10 | font-weight: 500; 11 | margin: 0; 12 | } 13 | 14 | .form-description { 15 | @include font-size(14); 16 | 17 | font-weight: normal; 18 | margin: 0; 19 | } 20 | } 21 | 22 | .form-group-container { 23 | margin: 0 0 calculatePixelToRem(24) 0; 24 | width: 100%; 25 | justify-content: space-between; 26 | 27 | .form-group-title { 28 | @include font-size(14); 29 | 30 | font-weight: 500; 31 | margin-bottom: calculatePixelToRem(16); 32 | } 33 | 34 | &:last-child { 35 | margin-bottom: 0; 36 | } 37 | } 38 | 39 | .single-row { 40 | display: flex; 41 | 42 | > :first-child { 43 | margin-left: 16px; 44 | flex-grow: 1; 45 | } 46 | 47 | > :last-child { 48 | margin-right: 16px; 49 | flex-grow: 1; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/components/form/form.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface FormProps 7 | extends Omit, 'title'> { 8 | className?: string; 9 | children?: React.ReactNode; 10 | title?: React.ReactNode; 11 | description?: string; 12 | formProps?: React.ComponentProps<'form'>; 13 | } 14 | 15 | class Form extends React.Component { 16 | render(): React.ReactNode { 17 | const { className, children, title, description, formProps, ...props } = 18 | this.props; 19 | const componentClassName = classNames('form-container', className); 20 | 21 | return ( 22 |
      23 |
      24 |

      {title}

      25 |

      {description}

      26 | {children} 27 |
      28 |
      29 | ); 30 | } 31 | } 32 | 33 | export default Form; 34 | -------------------------------------------------------------------------------- /dist/components/flex/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface ColumnProps extends React.HTMLProps { 4 | innerRef?: string | ((node: any) => void); 5 | 'mb-row'?: boolean; 6 | order?: number; 7 | 'mb-order'?: number; 8 | grow?: number; 9 | 'mb-grow'?: number; 10 | fullHeight?: boolean; 11 | 'mb-fullWidth'?: boolean; 12 | align?: 'center'; 13 | justify?: 'center' | 'space-between' | 'flex-end' | 'flex-start'; 14 | } 15 | export declare const Column: React.FC; 16 | export interface RowProps extends React.HTMLProps { 17 | innerRef?: string | ((node: any) => void); 18 | 'mb-column'?: boolean; 19 | order?: number; 20 | 'mb-order'?: number; 21 | grow?: number; 22 | 'mb-grow'?: number; 23 | fullWidth?: boolean; 24 | 'mb-fullWidth'?: boolean; 25 | align?: 'center'; 26 | justify?: 'center' | 'space-between' | 'flex-end' | 'flex-start'; 27 | } 28 | export declare const Row: React.FC; 29 | -------------------------------------------------------------------------------- /.storybook/main.js: -------------------------------------------------------------------------------- 1 | // This file has been added to house our webpack config for storybook in dev mode. 2 | // It's name & boilerplate has been taken from this example: 3 | // https://storybook.js.org/docs/configurations/custom-webpack-config/#using-your-existing-config 4 | 5 | const OurConfig = require('../webpack.config.js'); 6 | 7 | module.exports = { 8 | framework: '@storybook/react-webpack5', 9 | webpackFinal: async (defaultConfig, options) => { 10 | return { 11 | ...defaultConfig, 12 | resolve: OurConfig.resolve, 13 | plugins: defaultConfig.plugins.concat(OurConfig.plugins), 14 | stats: { 15 | ...defaultConfig.stats, 16 | children: false 17 | }, 18 | module: { 19 | ...defaultConfig.module, 20 | rules: defaultConfig.module.rules 21 | } 22 | } 23 | }, 24 | addons: [ 25 | 'storybook-addon-jsx/register', 26 | '@storybook/preset-create-react-app', 27 | '@storybook/addon-viewport/register' 28 | ], 29 | stories: ['../src/components/**/*.stories.tsx'] 30 | }; 31 | -------------------------------------------------------------------------------- /src/components/tab/tab-content.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface TabContentProps extends React.HTMLProps { 7 | className?: string; 8 | children?: JSX.Element[] | JSX.Element; 9 | selectedTab: number | string; 10 | } 11 | class TabContent extends React.Component { 12 | renderSelectedChild = (): JSX.Element => { 13 | for (const child of this.props.children as JSX.Element[]) { 14 | if (child.props.tabId === this.props.selectedTab) { 15 | return child; 16 | } 17 | } 18 | return <>; 19 | }; 20 | 21 | render(): React.ReactNode { 22 | const { className, children, selectedTab, ...props } = this.props; 23 | const componentClassName = classNames('tab-content-wrapper', className); 24 | 25 | return ( 26 |
      27 | {this.renderSelectedChild()} 28 |
      29 | ); 30 | } 31 | } 32 | 33 | export default TabContent; 34 | -------------------------------------------------------------------------------- /src/assets/icon/show.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2018 Miare Team. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to use, 6 | copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the 7 | Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 16 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 17 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /src/components/date-picker/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import moment from 'moment'; 2 | import * as React from 'react'; 3 | import DatePicker, { DatePickerProps } from '.'; 4 | 5 | export default { 6 | title: 'Date Picker', 7 | decorators: [story =>
      {story()}
      ], 8 | }; 9 | 10 | const DatePickerWithState: React.FC> = props => { 11 | const [value, setValue] = React.useState(); 12 | return ( 13 | 18 | date.isSameOrBefore(moment()) || date.isSameOrAfter(moment()) 19 | } 20 | {...props} 21 | /> 22 | ); 23 | }; 24 | 25 | export const SingleDatePicker = (): JSX.Element => ( 26 |
      27 | 28 |
      29 | 30 |
      31 | 32 |
      33 | 34 |
      35 | ); 36 | -------------------------------------------------------------------------------- /docs/static/media/show.60213530d131c81880943ea5d41546fb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/styles/_reset.scss: -------------------------------------------------------------------------------- 1 | /* http://meyerweb.com/eric/tools/css/reset/ 2 | v2.0 | 20110126 3 | License: none (public domain) 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, 7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 8 | a, abbr, acronym, address, big, cite, code, 9 | del, dfn, em, img, ins, kbd, q, s, samp, 10 | small, strike, strong, sub, sup, tt, var, 11 | b, u, i, center, 12 | dl, dt, dd, ol, ul, li, 13 | fieldset, form, label, legend, 14 | table, caption, tbody, tfoot, thead, tr, th, td, 15 | article, aside, canvas, details, embed, 16 | figure, figcaption, footer, header, hgroup, 17 | menu, nav, output, ruby, section, summary, 18 | time, mark, audio, video, input, select, textarea { 19 | margin: 0; 20 | padding: 0; 21 | border: 0; 22 | font: inherit; 23 | text-decoration: none; 24 | } 25 | 26 | html, body { 27 | font-family: 'iransansx'; 28 | font-size: 14px; 29 | } 30 | 31 | @supports (font-variation-settings: normal) { 32 | html, body { 33 | font-family: 'iransansxv'; 34 | font-variation-settings: "wght" 500, "dots" 3; 35 | font-feature-settings: "ss02"; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/components/pointer/styles.scss: -------------------------------------------------------------------------------- 1 | $pointer-color: #F3B229; 2 | 3 | @keyframes milingo-pointer-animation { 4 | 0%, 100% { 5 | box-shadow: 0 0 0 0 $pointer-color, inset 0 0 0 0 $pointer-color; 6 | } 7 | 8 | 50% { 9 | box-shadow: 0 0 0 2px $pointer-color, inset 0 0 0 2px $pointer-color; 10 | } 11 | } 12 | 13 | .milingo-pointer { 14 | display: inline-block; 15 | border-radius: 50%; 16 | background-color: $pointer-color; 17 | pointer-events: none; 18 | display: flex; 19 | align-items: center; 20 | justify-content: center; 21 | 22 | &.small { 23 | width: 12px; 24 | height: 12px; 25 | } 26 | 27 | &.normal { 28 | width: 16px; 29 | height: 16px; 30 | } 31 | 32 | &.large { 33 | width: 20px; 34 | height: 20px; 35 | } 36 | 37 | &::after { 38 | content: ''; 39 | display: inline-block; 40 | min-width: calc(100% + 8px); 41 | min-height: calc(100% + 8px); 42 | border-radius: 50%; 43 | box-shadow: 0 0 0 0 $pointer-color, inset 0 0 0 0 $pointer-color; 44 | will-change: box-shadow; 45 | animation: milingo-pointer-animation 1.5s linear infinite; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /dist/common/utils/image.d.ts: -------------------------------------------------------------------------------- 1 | type ResizeOptions = { 2 | newSizeOrScale: number; 3 | sizeOrScale: 'size' | 'scale'; 4 | target: 'width' | 'height'; 5 | }; 6 | type ImageSizes = { 7 | width: number; 8 | height: number; 9 | }; 10 | declare class Img { 11 | static resize: (image: File | string, scaleOrCustom?: ResizeOptions, onError?: (error?: ProgressEvent | Error) => void) => Promise; 12 | static decreaseToFixedWeight: (image: File | string, maxSize: number, decreaseSteps?: number, fileName?: string) => Promise<{ 13 | image: string; 14 | file: File; 15 | }>; 16 | static toBase64: (imageFile: File, onError?: (error: ProgressEvent) => void) => Promise; 17 | static base64ToImage: (base64: string, onError?: (error?: Error) => void) => Promise; 18 | static base64ToFile: (base64: string, fileName: string) => Promise; 19 | static getSizes: (image: File | string, onError?: (error?: Error | undefined | ProgressEvent) => void) => Promise; 20 | private static calculateSize; 21 | } 22 | export default Img; 23 | -------------------------------------------------------------------------------- /src/components/collection/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import { CollectionCard, Collection } from '.'; 4 | 5 | export default { 6 | title: 'Collection', 7 | decorators: [story =>
      {story()}
      ], 8 | }; 9 | 10 | export const All = () => ( 11 |
      20 | 21 | پیتزا پپرونی 22 | 23 | پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط 24 | پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط 25 | پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط پیتزا مخلوط 26 | پیتزا مخلوط 27 | 28 | 29 | پیتزا مارگاریتا 30 | 31 | 32 |
      33 | ); 34 | -------------------------------------------------------------------------------- /dist/components/chat/submit-form.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import { States } from './chat-attachment'; 3 | import './styles.scss'; 4 | export interface SubmitFormProps { 5 | id: number; 6 | isSending?: boolean; 7 | canAttach?: boolean; 8 | onSubmit: (id: number, message: string, attachment?: File) => void; 9 | onChangeFile?: (value: File) => void; 10 | onTryAgain?: (value: File) => void; 11 | onFileCancelled?: (index?: number) => void; 12 | validate?: (value: File) => boolean; 13 | footer?: React.ReactNode; 14 | state?: States; 15 | forceDisplayError?: boolean; 16 | file?: File; 17 | isClear?: boolean; 18 | validFileSize?: number; 19 | validFileFormat?: string[]; 20 | errorInvalidSize?: string; 21 | errorInvalidFormat?: string; 22 | preMessage?: string; 23 | } 24 | declare const SubmitForm: ({ id, isSending, onSubmit, canAttach, onChangeFile, onTryAgain, onFileCancelled, validate, validFileSize, validFileFormat, errorInvalidSize, errorInvalidFormat, footer, state, forceDisplayError, file, isClear, preMessage, }: SubmitFormProps) => JSX.Element; 25 | export default SubmitForm; 26 | -------------------------------------------------------------------------------- /src/assets/styles/_input-variables.scss: -------------------------------------------------------------------------------- 1 | $inputBorderColor: $disabledColor; 2 | $inputBackgroundColor: #fff; 3 | $inputCheckedBorderColor: $primary2; 4 | $inputPlaceholderColor: #8897a8; 5 | $inputIconColor: #fff; 6 | $inputLabelColor: #000; 7 | $inputTitleColor: #000; 8 | 9 | $inputHoverBorderColor: $primary2; 10 | 11 | $inputFocusBorderColor: $primary2; 12 | $inputFocusShadowColor: rgba(74, 145, 226, 0.5); // #4A90E2 Alpha: 50% 13 | $inputFocusShadowLighterColor: rgba(74, 145, 226, 0.4); // #4A90E2 Alpha: 40% 14 | 15 | $inputDisabledBorderColor: rgba(136, 151, 168, 0.5); // #8897A8 Alpha: 50% 16 | $inputDisabledBackgroundColor: rgba(255, 255, 255, 0.5); // #FFFFFF Alpha: 50% 17 | $inputDisabledCheckedBorderColor: rgba(136, 151, 168, 0.5); // #8897A8 Alpha: 50% 18 | $inputDisabledIconColor: #fff; 19 | $inputDisabledLabelColor: rgba(0, 0, 0, 0.5); // #000000 Alpha: 50% 20 | 21 | $inputError: #d73948; 22 | $inputErrorShadowColor: rgba(215, 57, 73, 0.4); // #D73948 Alpha: 40% 23 | -------------------------------------------------------------------------------- /src/components/form/form-group.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | import './styles.scss'; 5 | 6 | export interface FormGroupProps 7 | extends Omit, 'title'> { 8 | className?: string; 9 | children?: React.ReactNode; 10 | singleRow?: boolean; 11 | title?: React.ReactNode; 12 | extraTitle?: JSX.Element | string; 13 | } 14 | 15 | class FormGroup extends React.Component { 16 | render(): React.ReactNode { 17 | const { 18 | className, 19 | children, 20 | singleRow, 21 | extraTitle, 22 | title, 23 | ...props 24 | } = this.props; 25 | const componentClassName = classNames('form-group-container', className, { 26 | 'single-row': singleRow, 27 | }); 28 | 29 | return ( 30 |
      31 | {extraTitle ? ( 32 | extraTitle 33 | ) : title ? ( 34 |
      {title}
      35 | ) : null} 36 | {children} 37 |
      38 | ); 39 | } 40 | } 41 | 42 | export default FormGroup; 43 | -------------------------------------------------------------------------------- /src/components/menu/avatar.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | import { CircularProgressbar } from 'react-circular-progressbar'; 4 | 5 | export interface MenuAvatarProps extends React.HTMLProps { 6 | avatar?: string | JSX.Element; 7 | percentage?: number; 8 | selected?: boolean; 9 | label?: string; 10 | largeText?: boolean; 11 | type?: 'warning'; 12 | } 13 | 14 | const MenuAvatar: React.FC = ({ 15 | avatar, 16 | percentage, 17 | selected, 18 | label, 19 | largeText, 20 | type, 21 | ...props 22 | }: MenuAvatarProps) => ( 23 |
      31 | 32 |
      33 |
      34 | {avatar &&
      {avatar}
      } 35 | {label &&
      {label}
      } 36 |
      37 |
      38 | ); 39 | 40 | export default MenuAvatar; 41 | -------------------------------------------------------------------------------- /dist/components/action-table/action-table-row.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import './styles.scss'; 3 | export interface Action { 4 | title: string; 5 | name: string; 6 | className?: string; 7 | extraProps?: object; 8 | } 9 | export interface ActionTableRowProps extends React.HTMLProps { 10 | title?: string; 11 | extraTitle?: JSX.Element; 12 | actions?: Action[]; 13 | id: string; 14 | object?: unknown; 15 | icon?: string; 16 | disable?: boolean; 17 | description?: string | JSX.Element; 18 | onAction?: (name: string, id: string, object?: unknown) => void; 19 | } 20 | export interface ActionTableRowStates { 21 | isOpen: boolean; 22 | mounted: boolean; 23 | } 24 | declare class ActionTableRow extends React.Component { 25 | private node; 26 | constructor(props: any); 27 | toggleIsOpen(): void; 28 | componentDidMount(): void; 29 | componentWillUnmount(): void; 30 | handleDocumentClick(event: any): void; 31 | renderButtonActions(): React.ReactNode; 32 | renderMenuActions(): React.ReactNode; 33 | render(): React.ReactNode; 34 | } 35 | export default ActionTableRow; 36 | -------------------------------------------------------------------------------- /src/components/banner/close-generator.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | export interface CloseGeneratorProps { 4 | type: 'error' | 'warning' | 'info' | 'success' | 'default'; 5 | dark?: boolean; 6 | } 7 | 8 | const FILL_COLORS = { 9 | error: '#bc0007', 10 | warning: '#85660e', 11 | info: '#1e6dc8', 12 | success: '#248212', 13 | default: '#3d3f53', 14 | }; 15 | 16 | const CloseGenerator: React.FC = ({ 17 | type, 18 | dark, 19 | }: CloseGeneratorProps) => ( 20 | 25 | 26 | 27 | 36 | 45 | 46 | 47 | ); 48 | 49 | export default CloseGenerator; 50 | -------------------------------------------------------------------------------- /docs/747.styles.css: -------------------------------------------------------------------------------- 1 | .stepper-container{width:100% !important;display:flex;flex-direction:row;justify-content:flex-start;align-items:center}.stepper-container .step-container{display:flex;flex-direction:row;align-items:center}.stepper-container .step{display:flex;width:80px;padding:4px;justify-content:center;align-items:center;text-overflow:ellipsis;border-radius:24px;font-size:16px;font-weight:500}.stepper-container .line{display:block;height:1px;border:0;margin:1em 0;padding:0;width:32px}.stepper-container .start-line{width:20px}.stepper-container .end-line{width:48px}.stepper-container .todo .step{border:1px solid #ecedef;background:#ecedef;color:#8897a8}.stepper-container .todo .line{border:1px solid #ecedef;background:#ecedef}.stepper-container .doing .step{border:1px solid #3d3f53;background:#fff;color:#3d3f53}.stepper-container .doing .line{border:1px solid #3d3f53;background:#3d3f53}.stepper-container .done .step{border:1px solid #258613;background:#258613;color:#fff}.stepper-container .done .line{border:1px solid #258613;background:#258613}@media (min-width: 480px){.stepper-container .hide-on-desktop{display:none !important}}@media (max-width: 479px){.stepper-container .hide-on-mobile{display:none !important}} 2 | 3 | 4 | /*# sourceMappingURL=747.styles.css.map*/ -------------------------------------------------------------------------------- /dist/components/file-input-wrapper/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import { ButtonProps } from '../button'; 3 | import { ImageProps } from '../image'; 4 | import { FileInputProps } from '../file-input'; 5 | import { UploadHintProps } from './upload-hint'; 6 | import { ModalProps } from '../modal'; 7 | import './styles.scss'; 8 | type FileType = 'image' | 'video'; 9 | export interface FileInputWrapperProps extends Omit { 10 | wrapperTitle?: string | JSX.Element; 11 | imageProps?: ImageProps; 12 | videoProps?: React.HTMLAttributes; 13 | description?: string; 14 | defaultFilePath?: string; 15 | uploadFileText?: string; 16 | buttonProps?: Omit; 17 | maxFileSize?: number; 18 | fileName?: string; 19 | decreaseImageSizeSteps?: number; 20 | onFileChange?: (file: File) => void; 21 | uploaderType?: FileType; 22 | disabled?: boolean; 23 | hintModalProps?: ModalProps; 24 | containerProps?: React.HTMLAttributes; 25 | hint?: Omit; 26 | } 27 | declare const FileInputWrapper: React.FC; 28 | export default FileInputWrapper; 29 | -------------------------------------------------------------------------------- /src/components/menu/item.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as classNames from 'classnames'; 3 | 4 | export interface MenuItemProps extends React.HTMLProps { 5 | title: string; 6 | avatar?: JSX.Element; 7 | description?: string | JSX.Element | JSX.Element[]; 8 | selected?: boolean; 9 | time?: string; 10 | } 11 | 12 | const MenuItem: React.FC = ({ 13 | avatar, 14 | description, 15 | selected, 16 | title, 17 | time, 18 | ...props 19 | }: MenuItemProps) => ( 20 |
      26 | {avatar && ( 27 |
      28 |
      {avatar}
      29 |
      30 | )} 31 |
      32 |
      {title}
      33 | {description && ( 34 |
      {description}
      35 | )} 36 |
      37 | {time && ( 38 |
      39 |
      {time}
      40 |
      41 | )} 42 |
      43 | ); 44 | 45 | export default MenuItem; 46 | -------------------------------------------------------------------------------- /src/components/toolbar/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import Avatar from '../menu/avatar'; 4 | import Toolbar from '.'; 5 | 6 | export default { 7 | title: 'Toolbar', 8 | 9 | decorators: [ 10 | story => ( 11 |
      14 | {story()} 15 |
      16 | ), 17 | ], 18 | }; 19 | 20 | export const NoActionsAndAvatar = () => ( 21 | } 23 | description="در حال پیدا کردن نزدیک‌ترین کوریر..." 24 | /> 25 | ); 26 | 27 | NoActionsAndAvatar.story = { 28 | name: 'No actions and avatar', 29 | }; 30 | 31 | export const WithTitleAndActions = () => ( 32 | } 34 | title="شهریار فدایی M1" 35 | description="در حال حرکت به سمت شما..." 36 | items={[ 37 | { 38 | title: 'لغو', 39 | icon: 'close', 40 | }, 41 | { 42 | title: 'تماس', 43 | icon: 'phone', 44 | }, 45 | { 46 | title: 'ردیابی', 47 | icon: 'my_location', 48 | }, 49 | ]} 50 | /> 51 | ); 52 | 53 | WithTitleAndActions.story = { 54 | name: 'With title and actions', 55 | }; 56 | -------------------------------------------------------------------------------- /docs/612.styles.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"612.styles.css","mappings":"AAEA;;ACFA","sources":["webpack://milingo/./src/components/pointer/styles.scss","webpack://milingo/./src/components/pointer/styles.stories.scss"],"sourcesContent":["$pointer-color: #F3B229;\n\n@keyframes milingo-pointer-animation {\n 0%, 100% {\n box-shadow: 0 0 0 0 $pointer-color, inset 0 0 0 0 $pointer-color;\n }\n\n 50% {\n box-shadow: 0 0 0 2px $pointer-color, inset 0 0 0 2px $pointer-color;\n }\n}\n\n.milingo-pointer {\n display: inline-block;\n border-radius: 50%;\n background-color: $pointer-color;\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &.small {\n width: 12px;\n height: 12px;\n }\n\n &.normal {\n width: 16px;\n height: 16px;\n }\n\n &.large {\n width: 20px;\n height: 20px;\n }\n\n &::after {\n content: '';\n display: inline-block;\n min-width: calc(100% + 8px);\n min-height: calc(100% + 8px);\n border-radius: 50%;\n box-shadow: 0 0 0 0 $pointer-color, inset 0 0 0 0 $pointer-color;\n will-change: box-shadow;\n animation: milingo-pointer-animation 1.5s linear infinite;\n }\n}\n",".story-container.pointers {\n display: flex;\n gap: 30px;\n padding: 50px;\n align-items: center;\n}\n"],"names":[],"sourceRoot":""} -------------------------------------------------------------------------------- /docs/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /dist/components/input/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as PropTypes from 'prop-types'; 3 | import './styles.scss'; 4 | export interface InputProps extends React.HTMLProps { 5 | displayClear?: boolean; 6 | onClear?: () => void; 7 | errorMessage?: string; 8 | forceDisplayError?: boolean; 9 | validate?: (value: string | string[] | number) => boolean; 10 | pre?: string; 11 | icon?: string; 12 | title?: string; 13 | ltr?: boolean; 14 | extraTitle?: JSX.Element | string; 15 | small?: boolean; 16 | inputRef?: React.RefObject; 17 | } 18 | export interface InputState { 19 | touched: boolean; 20 | value: string | string[] | number; 21 | isFocused: boolean; 22 | type: string; 23 | } 24 | declare class Input extends React.Component { 25 | static propTypes: { 26 | type: PropTypes.Requireable; 27 | }; 28 | constructor(props: any); 29 | static getDerivedStateFromProps(nextProps: InputProps, prevState: InputState): {}; 30 | handleInput: (e: React.ChangeEvent) => void; 31 | clear: () => void; 32 | handleFocus(e: any): void; 33 | handleBlur(e: any): void; 34 | render(): React.ReactNode; 35 | } 36 | export default Input; 37 | -------------------------------------------------------------------------------- /src/components/toolbar/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import './styles.scss'; 4 | 5 | export interface ToolbarProps { 6 | avatar: JSX.Element; 7 | title?: string; 8 | description: string; 9 | items?: (React.HTMLProps & { 10 | title: string; 11 | icon: string | JSX.Element; 12 | })[]; 13 | } 14 | 15 | const Toolbal: React.FC = (props: ToolbarProps) => ( 16 |
      17 | {props.avatar &&
      {props.avatar}
      } 18 |
      19 | {props.title &&

      {props.title}

      } 20 |

      {props.description}

      21 |
      22 | {props.items && ( 23 |
      24 | {props.items.map(({ icon, title, ...itemProps }) => ( 25 |
      26 | {typeof icon === 'string' ? ( 27 | {icon} 28 | ) : ( 29 | icon 30 | )} 31 |
      {title}
      32 |
      33 | ))} 34 |
      35 | )} 36 |
      37 | ); 38 | 39 | export default Toolbal; 40 | -------------------------------------------------------------------------------- /docs/static/css/stepper-index-stories.71e34c64.chunk.css: -------------------------------------------------------------------------------- 1 | .stepper-container{width:100% !important;display:flex;flex-direction:row;justify-content:flex-start;align-items:center}.stepper-container .step-container{display:flex;flex-direction:row;align-items:center}.stepper-container .step{display:flex;width:80px;padding:4px;justify-content:center;align-items:center;text-overflow:ellipsis;border-radius:24px;font-size:16px;font-weight:500}.stepper-container .line{display:block;height:1px;border:0;margin:1em 0;padding:0;width:32px}.stepper-container .start-line{width:20px}.stepper-container .end-line{width:48px}.stepper-container .todo .step{border:1px solid #ecedef;background:#ecedef;color:#8897a8}.stepper-container .todo .line{border:1px solid #ecedef;background:#ecedef}.stepper-container .doing .step{border:1px solid #3d3f53;background:#fff;color:#3d3f53}.stepper-container .doing .line{border:1px solid #3d3f53;background:#3d3f53}.stepper-container .done .step{border:1px solid #258613;background:#258613;color:#fff}.stepper-container .done .line{border:1px solid #258613;background:#258613}@media (min-width: 480px){.stepper-container .hide-on-desktop{display:none !important}}@media (max-width: 479px){.stepper-container .hide-on-mobile{display:none !important}} 2 | 3 | 4 | /*# sourceMappingURL=stepper-index-stories.71e34c64.chunk.css.map*/ -------------------------------------------------------------------------------- /dist/components/chat/chat.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import { States } from '../file-input'; 3 | import './styles.scss'; 4 | export interface ChatProps extends Omit, 'id'> { 5 | id: number; 6 | handelSubmit?: (id: number, text: string, attachment?: File) => void; 7 | isSending?: boolean; 8 | isClear?: boolean; 9 | canSubmit?: boolean; 10 | canAttach?: boolean; 11 | children?: React.ReactNode; 12 | chatContentFooter?: React.ReactNode; 13 | footer?: React.ReactNode; 14 | state?: States; 15 | file?: File; 16 | forceDisplayError?: boolean; 17 | validFileSize?: number; 18 | validFileFormat?: string[]; 19 | errorInvalidSize?: string; 20 | errorInvalidFormat?: string; 21 | onChangeFile?: (value: File) => void; 22 | onTryAgain?: (value: File) => void; 23 | onFileCancelled?: (index?: number) => void; 24 | validate?: (value: File) => boolean; 25 | message?: string; 26 | } 27 | declare const Chat: ({ id, handelSubmit, isSending, isClear, canSubmit, canAttach, children, chatContentFooter, footer, state, forceDisplayError, file, validFileSize, validFileFormat, errorInvalidFormat, errorInvalidSize, onChangeFile, onTryAgain, onFileCancelled, validate, message, ...rest }: ChatProps) => JSX.Element; 28 | export default Chat; 29 | -------------------------------------------------------------------------------- /docs/static/css/pointer-index-stories.89288c59.chunk.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"static/css/pointer-index-stories.89288c59.chunk.css","mappings":"AAEA;;ACFA","sources":["webpack://milingo/./src/components/pointer/styles.scss","webpack://milingo/./src/components/pointer/styles.stories.scss"],"sourcesContent":["$pointer-color: #F3B229;\n\n@keyframes milingo-pointer-animation {\n 0%, 100% {\n box-shadow: 0 0 0 0 $pointer-color, inset 0 0 0 0 $pointer-color;\n }\n\n 50% {\n box-shadow: 0 0 0 2px $pointer-color, inset 0 0 0 2px $pointer-color;\n }\n}\n\n.milingo-pointer {\n display: inline-block;\n border-radius: 50%;\n background-color: $pointer-color;\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &.small {\n width: 12px;\n height: 12px;\n }\n\n &.normal {\n width: 16px;\n height: 16px;\n }\n\n &.large {\n width: 20px;\n height: 20px;\n }\n\n &::after {\n content: '';\n display: inline-block;\n min-width: calc(100% + 8px);\n min-height: calc(100% + 8px);\n border-radius: 50%;\n box-shadow: 0 0 0 0 $pointer-color, inset 0 0 0 0 $pointer-color;\n will-change: box-shadow;\n animation: milingo-pointer-animation 1.5s linear infinite;\n }\n}\n",".story-container.pointers {\n display: flex;\n gap: 30px;\n padding: 50px;\n align-items: center;\n}\n"],"names":[],"sourceRoot":""} -------------------------------------------------------------------------------- /src/components/textarea/index.stories.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import Textarea from '.'; 3 | 4 | export default { 5 | title: 'Textarea', 6 | decorators: [story =>
      {story()}
      ], 7 | }; 8 | 9 | export const Normal = () => ( 10 |
      11 |