@wavemaker-ai/foundation-css 1.0.0-rc.647469
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/foundation-css.cjs +9454 -0
- package/cjs/src_tokens_mobile_components_accordion-pane_accordion-pane_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_accordion_accordion_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_anchor_anchor_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_audio_audio_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_badge_badge_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_barcodescanner_barcodescanner_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_bottomsheet_bottomsheet_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_breadcrumb_breadcrumb_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_button-group_button-group_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_button_button_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_calendar_calendar_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_camera_camera_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_cards_cards_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_carousel_carousel_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_checkbox_checkbox_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_checkboxset_checkboxset_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_chips_chips_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_container_container_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_currency_currency_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_datetime_datetime_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_dropdown-menu_dropdown-menu_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_fileupload_fileupload_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_form-controls_form-controls_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_form-wrapper_form-wrapper_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_grid-layout_grid-layout_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_icon_icon_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_label_label_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_list_list_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_listtemplate_listtemplate_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_login_login_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_lottie_lottie_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_message_message_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_modal-dialog_modal-dialog_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_nav_nav_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_navbar_navbar_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_navitem_navitem_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_page-content_page-content_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_page-left-nav_page-left-nav_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_panel-footer_panel-footer_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_panel_panel_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_partial-container_partial-container_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_picture_picture_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_popover_popover_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_progress-bar_progress-bar_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_progress-circle_progress-circle_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_radioset_radioset_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_rating_rating_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_scrollbar_scrollbar_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_search_search_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_select_select_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_slider_slider_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_spinner_spinner_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_switch_switch_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_tabbar_tabbar_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_tabs_tabs_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_textarea_textarea_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_tile_tile_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_toast_toast_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_toggle_toggle_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_video_video_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_webview_webview_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_mobile_components_wizard_wizard_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_accordion_accordion_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_anchor_anchor_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_audio_audio_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_badge_badge_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_breadcrumb_breadcrumb_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_button-group_button-group_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_button_button_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_calendar_calendar_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_cards_cards_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_carousel_carousel_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_checkbox_checkbox_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_checkboxset_checkboxset_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_chips_chips_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_color-picker_color-picker_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_container_container_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_currency_currency_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_data-table_data-table_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_date_date_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_dropdown-menu_dropdown-menu_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_fileupload_fileupload_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_form-controls_form-controls_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_grid-layout_grid-layout_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_icon_icon_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_iconbutton-toggleable_iconbutton-toggleable_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_iframe_iframe_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_label_label_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_list_list_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_message_message_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_modal-dialog_modal-dialog_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_nav_nav_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_page-content_page-content_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_page-footer_page-footer_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_page-header_page-header_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_page-left-nav_page-left-nav_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_page-right-nav_page-right-nav_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_page-top-nav_page-top-nav_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_pagination_pagination_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_panel_panel_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_picture_picture_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_popover_popover_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_progress-bar_progress-bar_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_progress-circle_progress-circle_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_radioset_radioset_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_rating_rating_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_richtext-editor_richtext-editor_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_scrollbar_scrollbar_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_search_search_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_slider_slider_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_spinner_spinner_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_switch_switch_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_tabs_tabs_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_tile_tile_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_time_time_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_toast_toast_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_toggle_toggle_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_tree_tree_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_video_video_json.foundation-css.cjs +14 -0
- package/cjs/src_tokens_web_components_wizard_wizard_json.foundation-css.cjs +14 -0
- package/foundation/fonts/fonts/roboto.ttf +0 -0
- package/foundation/fonts/icons/fontawesome/fontawesome-webfont.eot +0 -0
- package/foundation/fonts/icons/fontawesome/fontawesome-webfont.svg +686 -0
- package/foundation/fonts/icons/fontawesome/fontawesome-webfont.ttf +0 -0
- package/foundation/fonts/icons/fontawesome/fontawesome-webfont.woff +0 -0
- package/foundation/fonts/icons/material/materialicon.eot +0 -0
- package/foundation/fonts/icons/material/materialicon.svg +97 -0
- package/foundation/fonts/icons/material/materialicon.ttf +0 -0
- package/foundation/fonts/icons/material/materialicon.woff +0 -0
- package/foundation/fonts/icons/summernote/summernote.eot +0 -0
- package/foundation/fonts/icons/summernote/summernote.svg +63 -0
- package/foundation/fonts/icons/summernote/summernote.ttf +0 -0
- package/foundation/fonts/icons/summernote/summernote.woff +0 -0
- package/foundation/fonts/icons/wavicon/wavicon.eot +0 -0
- package/foundation/fonts/icons/wavicon/wavicon.svg +1160 -0
- package/foundation/fonts/icons/wavicon/wavicon.ttf +0 -0
- package/foundation/fonts/icons/wavicon/wavicon.woff +0 -0
- package/foundation/fonts/icons/wm-streamline-light/wm-streamline-light-icon.eot +0 -0
- package/foundation/fonts/icons/wm-streamline-light/wm-streamline-light-icon.svg +244 -0
- package/foundation/fonts/icons/wm-streamline-light/wm-streamline-light-icon.ttf +0 -0
- package/foundation/fonts/icons/wm-streamline-light/wm-streamline-light-icon.woff +0 -0
- package/foundation/fonts/icons/wm-streamline-regular/wm-streamline-regular-icon.eot +0 -0
- package/foundation/fonts/icons/wm-streamline-regular/wm-streamline-regular-icon.svg +216 -0
- package/foundation/fonts/icons/wm-streamline-regular/wm-streamline-regular-icon.ttf +0 -0
- package/foundation/fonts/icons/wm-streamline-regular/wm-streamline-regular-icon.woff +0 -0
- package/foundation/foundation.css +26884 -0
- package/foundation/foundation.min.css +1 -0
- package/foundation/icon-fonts.min.css +1 -0
- package/index.d.ts +10 -0
- package/index.js +64 -0
- package/index.js.map +1 -0
- package/native_mobile.index.d.ts +280 -0
- package/native_mobile.index.js +321 -0
- package/native_mobile.index.js.map +1 -0
- package/npm-shrinkwrap.json +4373 -0
- package/package-lock.json +4373 -0
- package/package.json +57 -0
- package/src/node/index.d.ts +1 -0
- package/src/node/index.js +2 -0
- package/src/node/index.js.map +1 -0
- package/src/styles/mobile/components/advanced/carousel/carousel-content.less +3 -0
- package/src/styles/mobile/components/advanced/carousel/carousel-template.less +3 -0
- package/src/styles/mobile/components/advanced/carousel.less +141 -0
- package/src/styles/mobile/components/advanced/customwidgetcontainer.less +0 -0
- package/src/styles/mobile/components/advanced/login.less +11 -0
- package/src/styles/mobile/components/advanced/network-toast.less +15 -0
- package/src/styles/mobile/components/advanced/webview.less +4 -0
- package/src/styles/mobile/components/basic/anchor.less +38 -0
- package/src/styles/mobile/components/basic/audio.less +3 -0
- package/src/styles/mobile/components/basic/base.less +0 -0
- package/src/styles/mobile/components/basic/bottomsheet.less +32 -0
- package/src/styles/mobile/components/basic/button.less +76 -0
- package/src/styles/mobile/components/basic/buttongroup.less +43 -0
- package/src/styles/mobile/components/basic/custom.less +6 -0
- package/src/styles/mobile/components/basic/icon.less +22 -0
- package/src/styles/mobile/components/basic/label.less +314 -0
- package/src/styles/mobile/components/basic/lottie.less +10 -0
- package/src/styles/mobile/components/basic/message.less +77 -0
- package/src/styles/mobile/components/basic/modal.less +9 -0
- package/src/styles/mobile/components/basic/picture.less +48 -0
- package/src/styles/mobile/components/basic/progress-bar.less +75 -0
- package/src/styles/mobile/components/basic/progress-circle.less +28 -0
- package/src/styles/mobile/components/basic/search.less +110 -0
- package/src/styles/mobile/components/basic/skeleton.less +9 -0
- package/src/styles/mobile/components/basic/spinner.less +41 -0
- package/src/styles/mobile/components/basic/video.less +4 -0
- package/src/styles/mobile/components/chart/area-chart.less +81 -0
- package/src/styles/mobile/components/chart/bar-chart.less +39 -0
- package/src/styles/mobile/components/chart/bubble-chart.less +36 -0
- package/src/styles/mobile/components/chart/column-chart.less +36 -0
- package/src/styles/mobile/components/chart/donut-chart.less +33 -0
- package/src/styles/mobile/components/chart/line-chart.less +36 -0
- package/src/styles/mobile/components/chart/pie-chart.less +30 -0
- package/src/styles/mobile/components/container/accordion/accordionpane.less +9 -0
- package/src/styles/mobile/components/container/accordion.less +150 -0
- package/src/styles/mobile/components/container/layoutgrid/gridcolumn.less +8 -0
- package/src/styles/mobile/components/container/layoutgrid/gridrow.less +7 -0
- package/src/styles/mobile/components/container/layoutgrid.less +11 -0
- package/src/styles/mobile/components/container/linearlayout/linearlayoutitem.less +3 -0
- package/src/styles/mobile/components/container/linearlayout.less +3 -0
- package/src/styles/mobile/components/container/panel/panel-content.less +3 -0
- package/src/styles/mobile/components/container/panel/panel-footer.less +15 -0
- package/src/styles/mobile/components/container/panel.less +168 -0
- package/src/styles/mobile/components/container/tabs/tab-header.less +67 -0
- package/src/styles/mobile/components/container/tabs/tabpane.less +4 -0
- package/src/styles/mobile/components/container/tabs.less +12 -0
- package/src/styles/mobile/components/container/tile.less +47 -0
- package/src/styles/mobile/components/container/wizard/wizardstep.less +3 -0
- package/src/styles/mobile/components/container/wizard.less +89 -0
- package/src/styles/mobile/components/container.less +50 -0
- package/src/styles/mobile/components/data/card/card-content.less +6 -0
- package/src/styles/mobile/components/data/card/card-footer.less +5 -0
- package/src/styles/mobile/components/data/card.less +55 -0
- package/src/styles/mobile/components/data/form/form-body.less +3 -0
- package/src/styles/mobile/components/data/form/form-field.less +9 -0
- package/src/styles/mobile/components/data/form/form-footer.less +3 -0
- package/src/styles/mobile/components/data/form.less +394 -0
- package/src/styles/mobile/components/data/list/list-action-template.less +6 -0
- package/src/styles/mobile/components/data/list/list-template.less +6 -0
- package/src/styles/mobile/components/data/list.less +20 -0
- package/src/styles/mobile/components/device/barcodescanner.less +25 -0
- package/src/styles/mobile/components/device/camera.less +18 -0
- package/src/styles/mobile/components/dialogs/alertdialog.less +15 -0
- package/src/styles/mobile/components/dialogs/confirmdialog.less +30 -0
- package/src/styles/mobile/components/dialogs/dialog.less +132 -0
- package/src/styles/mobile/components/dialogs/dialogactions.less +3 -0
- package/src/styles/mobile/components/dialogs/dialogcontent.less +3 -0
- package/src/styles/mobile/components/input/basedataset.less +0 -0
- package/src/styles/mobile/components/input/baseinput.less +0 -0
- package/src/styles/mobile/components/input/basenumber.less +0 -0
- package/src/styles/mobile/components/input/calendar/views.less +3 -0
- package/src/styles/mobile/components/input/calendar.less +110 -0
- package/src/styles/mobile/components/input/checkbox.less +47 -0
- package/src/styles/mobile/components/input/checkboxset.less +62 -0
- package/src/styles/mobile/components/input/chips.less +98 -0
- package/src/styles/mobile/components/input/composite.less +4 -0
- package/src/styles/mobile/components/input/currency.less +71 -0
- package/src/styles/mobile/components/input/epoch/wheelpickermodal/datetime-picker-modal.less +62 -0
- package/src/styles/mobile/components/input/fileupload.less +26 -0
- package/src/styles/mobile/components/input/radioset.less +75 -0
- package/src/styles/mobile/components/input/rating.less +30 -0
- package/src/styles/mobile/components/input/select.less +41 -0
- package/src/styles/mobile/components/input/slider.less +39 -0
- package/src/styles/mobile/components/input/switch.less +44 -0
- package/src/styles/mobile/components/input/toggle.less +61 -0
- package/src/styles/mobile/components/navigation/appnavbar.less +106 -0
- package/src/styles/mobile/components/navigation/basenav.less +3 -0
- package/src/styles/mobile/components/navigation/menu.less +52 -0
- package/src/styles/mobile/components/navigation/navbar.less +9 -0
- package/src/styles/mobile/components/navigation/navitem.less +88 -0
- package/src/styles/mobile/components/navigation/popover.less +83 -0
- package/src/styles/mobile/components/page/content.less +3 -0
- package/src/styles/mobile/components/page/left-panel.less +7 -0
- package/src/styles/mobile/components/page/page-content.less +4 -0
- package/src/styles/mobile/components/page/partial-container.less +4 -0
- package/src/styles/mobile/components/page/partial.less +6 -0
- package/src/styles/mobile/components/page/tabbar.less +93 -0
- package/src/styles/mobile/components/page.less +3 -0
- package/src/styles/mobile/components/prefab.less +6 -0
- package/src/styles/mobile/components/tokens.dark.css +68 -0
- package/src/styles/mobile/components/tokens.light.css +1354 -0
- package/src/styles/mobile/components/variables/accordion.variant.less +18 -0
- package/src/styles/mobile/components/variables/button.variant.less +254 -0
- package/src/styles/mobile/components/variables/cards.variant.less +23 -0
- package/src/styles/mobile/components/variables/carousel.variant.less +18 -0
- package/src/styles/mobile/components/variables/checkbox.variant.less +16 -0
- package/src/styles/mobile/components/variables/checkboxset.variant.less +18 -0
- package/src/styles/mobile/components/variables/chips.variant.less +40 -0
- package/src/styles/mobile/components/variables/container.variant.less +26 -0
- package/src/styles/mobile/components/variables/form-controls.variant.less +105 -0
- package/src/styles/mobile/components/variables/icon.variant.less +48 -0
- package/src/styles/mobile/components/variables/label.variant.less +155 -0
- package/src/styles/mobile/components/variables/message.variant.less +29 -0
- package/src/styles/mobile/components/variables/navitem.variant.less +14 -0
- package/src/styles/mobile/components/variables/panel.variant.less +55 -0
- package/src/styles/mobile/components/variables/picture.variant.less +28 -0
- package/src/styles/mobile/components/variables/progress-bar.variant.less +24 -0
- package/src/styles/mobile/components/variables/progress-circle.variant.less +24 -0
- package/src/styles/mobile/components/variables/radioset.variant.less +12 -0
- package/src/styles/mobile/components/variables/rating.variant.less +8 -0
- package/src/styles/mobile/components/variables/switch.variant.less +14 -0
- package/src/styles/mobile/components/variables/tabbar.variant.less +16 -0
- package/src/styles/mobile/components/variables/tabs.variant.less +21 -0
- package/src/styles/mobile/components/variables/tile.variant.less +79 -0
- package/src/styles/mobile/components/variables/toggle.variant.less +17 -0
- package/src/styles/mobile/components/variables/wizard.variant.less +26 -0
- package/src/styles/mobile/studio/advanced/carousel.less +75 -0
- package/src/styles/mobile/studio/advanced/login.less +6 -0
- package/src/styles/mobile/studio/advanced/styles.less +3 -0
- package/src/styles/mobile/studio/advanced/webview.less +4 -0
- package/src/styles/mobile/studio/basic/anchor.less +16 -0
- package/src/styles/mobile/studio/basic/button-group.less +47 -0
- package/src/styles/mobile/studio/basic/button.less +22 -0
- package/src/styles/mobile/studio/basic/icon.less +21 -0
- package/src/styles/mobile/studio/basic/label.less +29 -0
- package/src/styles/mobile/studio/basic/message.less +75 -0
- package/src/styles/mobile/studio/basic/picture.less +10 -0
- package/src/styles/mobile/studio/basic/progress-bar.less +6 -0
- package/src/styles/mobile/studio/basic/progress-circle.less +9 -0
- package/src/styles/mobile/studio/basic/search.less +39 -0
- package/src/styles/mobile/studio/basic/spinner.less +6 -0
- package/src/styles/mobile/studio/basic/styles.less +11 -0
- package/src/styles/mobile/studio/container/accordion.less +23 -0
- package/src/styles/mobile/studio/container/container.less +19 -0
- package/src/styles/mobile/studio/container/grid.less +8 -0
- package/src/styles/mobile/studio/container/linearlayout.less +8 -0
- package/src/styles/mobile/studio/container/panel.less +42 -0
- package/src/styles/mobile/studio/container/styles.less +7 -0
- package/src/styles/mobile/studio/container/tabs.less +122 -0
- package/src/styles/mobile/studio/container/tile.less +7 -0
- package/src/styles/mobile/studio/container/wizard.less +48 -0
- package/src/styles/mobile/studio/data/card.less +25 -0
- package/src/styles/mobile/studio/data/form.less +22 -0
- package/src/styles/mobile/studio/data/list.less +25 -0
- package/src/styles/mobile/studio/data/listtemplate.less +11 -0
- package/src/styles/mobile/studio/data/styles.less +4 -0
- package/src/styles/mobile/studio/device/barcode.less +17 -0
- package/src/styles/mobile/studio/device/camera.less +4 -0
- package/src/styles/mobile/studio/device/styles.less +2 -0
- package/src/styles/mobile/studio/dialogs/alert-dialog.less +10 -0
- package/src/styles/mobile/studio/dialogs/base-dialog.less +180 -0
- package/src/styles/mobile/studio/dialogs/confirm-dialog.less +26 -0
- package/src/styles/mobile/studio/dialogs/styles.less +3 -0
- package/src/styles/mobile/studio/input/calendar.less +68 -0
- package/src/styles/mobile/studio/input/checkbox.less +78 -0
- package/src/styles/mobile/studio/input/checkboxset.less +82 -0
- package/src/styles/mobile/studio/input/chips.less +11 -0
- package/src/styles/mobile/studio/input/currency.less +24 -0
- package/src/styles/mobile/studio/input/date.less +7 -0
- package/src/styles/mobile/studio/input/epoch/datetime-picker-modal.less +49 -0
- package/src/styles/mobile/studio/input/form.less +204 -0
- package/src/styles/mobile/studio/input/number.less +6 -0
- package/src/styles/mobile/studio/input/radioset.less +110 -0
- package/src/styles/mobile/studio/input/rating.less +21 -0
- package/src/styles/mobile/studio/input/select.less +39 -0
- package/src/styles/mobile/studio/input/slider.less +132 -0
- package/src/styles/mobile/studio/input/styles.less +17 -0
- package/src/styles/mobile/studio/input/switch.less +13 -0
- package/src/styles/mobile/studio/input/text.less +6 -0
- package/src/styles/mobile/studio/input/textarea.less +5 -0
- package/src/styles/mobile/studio/input/toggle.less +99 -0
- package/src/styles/mobile/studio/layouts/appnavbar.less +78 -0
- package/src/styles/mobile/studio/layouts/content.less +5 -0
- package/src/styles/mobile/studio/layouts/page-content.less +11 -0
- package/src/styles/mobile/studio/layouts/page.less +5 -0
- package/src/styles/mobile/studio/layouts/styles.less +5 -0
- package/src/styles/mobile/studio/layouts/tabbar.less +50 -0
- package/src/styles/mobile/studio/navigation/menu.less +21 -0
- package/src/styles/mobile/studio/navigation/nav.less +4 -0
- package/src/styles/mobile/studio/navigation/popover.less +31 -0
- package/src/styles/mobile/studio/navigation/styles.less +3 -0
- package/src/styles/mobile/studio/styles.less +17 -0
- package/src/token-validation/component-token-schema.d.ts +171 -0
- package/src/token-validation/component-token-schema.js +148 -0
- package/src/token-validation/component-token-schema.js.map +1 -0
- package/src/token-validation/constants.d.ts +42 -0
- package/src/token-validation/constants.js +55 -0
- package/src/token-validation/constants.js.map +1 -0
- package/src/token-validation/global-token-schema.d.ts +38 -0
- package/src/token-validation/global-token-schema.js +42 -0
- package/src/token-validation/global-token-schema.js.map +1 -0
- package/src/token-validation/validate-token.d.ts +72 -0
- package/src/token-validation/validate-token.js +1070 -0
- package/src/token-validation/validate-token.js.map +1 -0
- package/src/token-validation/validate-value.d.ts +13 -0
- package/src/token-validation/validate-value.js +57 -0
- package/src/token-validation/validate-value.js.map +1 -0
- package/src/token-validation/validator-utils/common/constants.d.ts +185 -0
- package/src/token-validation/validator-utils/common/constants.js +281 -0
- package/src/token-validation/validator-utils/common/constants.js.map +1 -0
- package/src/token-validation/validator-utils/common/primitives.d.ts +14 -0
- package/src/token-validation/validator-utils/common/primitives.js +35 -0
- package/src/token-validation/validator-utils/common/primitives.js.map +1 -0
- package/src/token-validation/validator-utils/common/utils.d.ts +192 -0
- package/src/token-validation/validator-utils/common/utils.js +418 -0
- package/src/token-validation/validator-utils/common/utils.js.map +1 -0
- package/src/token-validation/validator-utils/native_mobile.d.ts +1 -0
- package/src/token-validation/validator-utils/native_mobile.js +11 -0
- package/src/token-validation/validator-utils/native_mobile.js.map +1 -0
- package/src/token-validation/validator-utils/web.d.ts +1 -0
- package/src/token-validation/validator-utils/web.js +12 -0
- package/src/token-validation/validator-utils/web.js.map +1 -0
- package/src/tokens/mobile/components/accordion/accordion.json +518 -0
- package/src/tokens/mobile/components/accordion-pane/accordion-pane.json +65 -0
- package/src/tokens/mobile/components/anchor/anchor.json +129 -0
- package/src/tokens/mobile/components/audio/audio.json +15 -0
- package/src/tokens/mobile/components/badge/badge.json +122 -0
- package/src/tokens/mobile/components/barcodescanner/barcodescanner.json +140 -0
- package/src/tokens/mobile/components/bottomsheet/bottomsheet.json +154 -0
- package/src/tokens/mobile/components/breadcrumb/breadcrumb.json +86 -0
- package/src/tokens/mobile/components/button/button.json +736 -0
- package/src/tokens/mobile/components/button-group/button-group.json +51 -0
- package/src/tokens/mobile/components/calendar/calendar.json +435 -0
- package/src/tokens/mobile/components/camera/camera.json +73 -0
- package/src/tokens/mobile/components/cards/cards.json +180 -0
- package/src/tokens/mobile/components/carousel/carousel.json +603 -0
- package/src/tokens/mobile/components/checkbox/checkbox.json +232 -0
- package/src/tokens/mobile/components/checkboxset/checkboxset.json +334 -0
- package/src/tokens/mobile/components/chips/chips.json +423 -0
- package/src/tokens/mobile/components/container/container.json +191 -0
- package/src/tokens/mobile/components/currency/currency.json +96 -0
- package/src/tokens/mobile/components/datetime/datetime.json +223 -0
- package/src/tokens/mobile/components/dropdown-menu/dropdown-menu.json +199 -0
- package/src/tokens/mobile/components/fileupload/fileupload.json +121 -0
- package/src/tokens/mobile/components/form-controls/form-controls.json +727 -0
- package/src/tokens/mobile/components/form-wrapper/form-wrapper.json +361 -0
- package/src/tokens/mobile/components/grid-layout/grid-layout.json +30 -0
- package/src/tokens/mobile/components/icon/icon.json +246 -0
- package/src/tokens/mobile/components/label/label.json +618 -0
- package/src/tokens/mobile/components/list/list.json +66 -0
- package/src/tokens/mobile/components/listtemplate/listtemplate.json +84 -0
- package/src/tokens/mobile/components/login/login.json +65 -0
- package/src/tokens/mobile/components/lottie/lottie.json +52 -0
- package/src/tokens/mobile/components/message/message.json +336 -0
- package/src/tokens/mobile/components/modal-dialog/modal-dialog.json +353 -0
- package/src/tokens/mobile/components/nav/nav.json +14 -0
- package/src/tokens/mobile/components/navbar/navbar.json +368 -0
- package/src/tokens/mobile/components/navitem/navitem.json +521 -0
- package/src/tokens/mobile/components/page-content/page-content.json +31 -0
- package/src/tokens/mobile/components/page-left-nav/page-left-nav.json +56 -0
- package/src/tokens/mobile/components/panel/panel.json +478 -0
- package/src/tokens/mobile/components/panel-footer/panel-footer.json +116 -0
- package/src/tokens/mobile/components/partial-container/partial-container.json +23 -0
- package/src/tokens/mobile/components/picture/picture.json +166 -0
- package/src/tokens/mobile/components/popover/popover.json +387 -0
- package/src/tokens/mobile/components/progress-bar/progress-bar.json +216 -0
- package/src/tokens/mobile/components/progress-circle/progress-circle.json +176 -0
- package/src/tokens/mobile/components/radioset/radioset.json +279 -0
- package/src/tokens/mobile/components/rating/rating.json +117 -0
- package/src/tokens/mobile/components/scrollbar/scrollbar.json +38 -0
- package/src/tokens/mobile/components/search/search.json +408 -0
- package/src/tokens/mobile/components/select/select.json +229 -0
- package/src/tokens/mobile/components/slider/slider.json +111 -0
- package/src/tokens/mobile/components/spinner/spinner.json +92 -0
- package/src/tokens/mobile/components/switch/switch.json +213 -0
- package/src/tokens/mobile/components/tabbar/tabbar.json +415 -0
- package/src/tokens/mobile/components/tabs/tabs.json +432 -0
- package/src/tokens/mobile/components/textarea/textarea.json +16 -0
- package/src/tokens/mobile/components/tile/tile.json +377 -0
- package/src/tokens/mobile/components/toast/toast.json +186 -0
- package/src/tokens/mobile/components/toggle/toggle.json +239 -0
- package/src/tokens/mobile/components/video/video.json +23 -0
- package/src/tokens/mobile/components/webview/webview.json +32 -0
- package/src/tokens/mobile/components/wizard/wizard.json +550 -0
- package/src/tokens/mobile/global/border/border.json +90 -0
- package/src/tokens/mobile/global/border-style/border-style.json +30 -0
- package/src/tokens/mobile/global/box-shadow/box-shadow.json +40 -0
- package/src/tokens/mobile/global/colors/color.dark.json +150 -0
- package/src/tokens/mobile/global/colors/color.json +338 -0
- package/src/tokens/mobile/global/colors/color.light.json +1 -0
- package/src/tokens/mobile/global/elevation/elevation.json +36 -0
- package/src/tokens/mobile/global/font/font.json +377 -0
- package/src/tokens/mobile/global/gap/gap.json +60 -0
- package/src/tokens/mobile/global/icon/icon.json +15 -0
- package/src/tokens/mobile/global/margin/margin.json +60 -0
- package/src/tokens/mobile/global/opacity/opacity.json +6 -0
- package/src/tokens/mobile/global/radius/radius.json +15 -0
- package/src/tokens/mobile/global/space/space.json +18 -0
- package/src/tokens/mobile/global/spacer/spacer.json +15 -0
- package/src/tokens/web/components/accordion/Readme.md +18 -0
- package/src/tokens/web/components/accordion/Token.Readme.md +30 -0
- package/src/tokens/web/components/accordion/accordion.json +321 -0
- package/src/tokens/web/components/anchor/Token.Readme.md +20 -0
- package/src/tokens/web/components/anchor/anchor.json +189 -0
- package/src/tokens/web/components/audio/Token.Readme.md +9 -0
- package/src/tokens/web/components/audio/audio.json +15 -0
- package/src/tokens/web/components/badge/Token.Readme.md +19 -0
- package/src/tokens/web/components/badge/badge.json +100 -0
- package/src/tokens/web/components/breadcrumb/Readme.md +23 -0
- package/src/tokens/web/components/breadcrumb/Token.Readme.md +21 -0
- package/src/tokens/web/components/breadcrumb/breadcrumb.json +392 -0
- package/src/tokens/web/components/button/Readme.md +54 -0
- package/src/tokens/web/components/button/Token.Readme.md +29 -0
- package/src/tokens/web/components/button/button.json +734 -0
- package/src/tokens/web/components/button-group/Token.Readme.md +9 -0
- package/src/tokens/web/components/button-group/button-group.json +22 -0
- package/src/tokens/web/components/calendar/Token.Readme.md +63 -0
- package/src/tokens/web/components/calendar/calendar.json +501 -0
- package/src/tokens/web/components/cards/Readme.md +23 -0
- package/src/tokens/web/components/cards/Token.Readme.md +22 -0
- package/src/tokens/web/components/cards/cards.json +371 -0
- package/src/tokens/web/components/carousel/Token.Readme.md +20 -0
- package/src/tokens/web/components/carousel/carousel.json +160 -0
- package/src/tokens/web/components/checkbox/Token.Readme.md +25 -0
- package/src/tokens/web/components/checkbox/checkbox.json +274 -0
- package/src/tokens/web/components/checkboxset/Token.Readme.md +9 -0
- package/src/tokens/web/components/checkboxset/checkboxset.json +18 -0
- package/src/tokens/web/components/chips/Readme.md +26 -0
- package/src/tokens/web/components/chips/Token.Readme.md +43 -0
- package/src/tokens/web/components/chips/chips.json +653 -0
- package/src/tokens/web/components/color-picker/Token.Readme.md +10 -0
- package/src/tokens/web/components/color-picker/color-picker.json +24 -0
- package/src/tokens/web/components/container/Readme.md +23 -0
- package/src/tokens/web/components/container/Token.Readme.md +13 -0
- package/src/tokens/web/components/container/container.json +207 -0
- package/src/tokens/web/components/currency/Token.Readme.md +14 -0
- package/src/tokens/web/components/currency/currency.json +59 -0
- package/src/tokens/web/components/data-table/Readme.md +29 -0
- package/src/tokens/web/components/data-table/Token.Readme.md +54 -0
- package/src/tokens/web/components/data-table/data-table.json +603 -0
- package/src/tokens/web/components/date/Token.Readme.md +33 -0
- package/src/tokens/web/components/date/date.json +328 -0
- package/src/tokens/web/components/dropdown-menu/Readme.md +16 -0
- package/src/tokens/web/components/dropdown-menu/Token.Readme.md +25 -0
- package/src/tokens/web/components/dropdown-menu/dropdown-menu.json +259 -0
- package/src/tokens/web/components/fileupload/Token.Readme.md +44 -0
- package/src/tokens/web/components/fileupload/fileupload.json +328 -0
- package/src/tokens/web/components/form-controls/Token.Readme.md +48 -0
- package/src/tokens/web/components/form-controls/form-controls.json +548 -0
- package/src/tokens/web/components/grid-layout/Token.Readme.md +11 -0
- package/src/tokens/web/components/grid-layout/grid-layout.json +34 -0
- package/src/tokens/web/components/icon/Readme.md +22 -0
- package/src/tokens/web/components/icon/Token.Readme.md +14 -0
- package/src/tokens/web/components/icon/icon.json +364 -0
- package/src/tokens/web/components/iconbutton-toggleable/Readme.md +17 -0
- package/src/tokens/web/components/iconbutton-toggleable/Token.Readme.md +19 -0
- package/src/tokens/web/components/iconbutton-toggleable/iconbutton-toggleable.json +557 -0
- package/src/tokens/web/components/iframe/Token.Readme.md +10 -0
- package/src/tokens/web/components/iframe/iframe.json +23 -0
- package/src/tokens/web/components/label/Readme.md +55 -0
- package/src/tokens/web/components/label/Token.Readme.md +17 -0
- package/src/tokens/web/components/label/label.json +723 -0
- package/src/tokens/web/components/list/Token.Readme.md +19 -0
- package/src/tokens/web/components/list/list.json +198 -0
- package/src/tokens/web/components/message/Readme.md +19 -0
- package/src/tokens/web/components/message/Token.Readme.md +22 -0
- package/src/tokens/web/components/message/message.json +312 -0
- package/src/tokens/web/components/modal-dialog/Readme.md +35 -0
- package/src/tokens/web/components/modal-dialog/Token.Readme.md +31 -0
- package/src/tokens/web/components/modal-dialog/modal-dialog.json +462 -0
- package/src/tokens/web/components/nav/Readme.md +41 -0
- package/src/tokens/web/components/nav/Token.Readme.md +25 -0
- package/src/tokens/web/components/nav/nav.json +236 -0
- package/src/tokens/web/components/page-content/Token.Readme.md +9 -0
- package/src/tokens/web/components/page-content/page-content.json +17 -0
- package/src/tokens/web/components/page-footer/Token.Readme.md +18 -0
- package/src/tokens/web/components/page-footer/page-footer.json +98 -0
- package/src/tokens/web/components/page-header/Token.Readme.md +18 -0
- package/src/tokens/web/components/page-header/page-header.json +90 -0
- package/src/tokens/web/components/page-left-nav/Readme.md +27 -0
- package/src/tokens/web/components/page-left-nav/Token.Readme.md +55 -0
- package/src/tokens/web/components/page-left-nav/page-left-nav.json +961 -0
- package/src/tokens/web/components/page-right-nav/Readme.md +27 -0
- package/src/tokens/web/components/page-right-nav/Token.Readme.md +53 -0
- package/src/tokens/web/components/page-right-nav/page-right-nav.json +950 -0
- package/src/tokens/web/components/page-top-nav/Token.Readme.md +16 -0
- package/src/tokens/web/components/page-top-nav/page-top-nav.json +83 -0
- package/src/tokens/web/components/pagination/Readme.md +23 -0
- package/src/tokens/web/components/pagination/Token.Readme.md +35 -0
- package/src/tokens/web/components/pagination/pagination.json +477 -0
- package/src/tokens/web/components/panel/Readme.md +18 -0
- package/src/tokens/web/components/panel/Token.Readme.md +39 -0
- package/src/tokens/web/components/panel/panel.json +397 -0
- package/src/tokens/web/components/picture/Readme.md +24 -0
- package/src/tokens/web/components/picture/Token.Readme.md +16 -0
- package/src/tokens/web/components/picture/picture.json +233 -0
- package/src/tokens/web/components/popover/Token.Readme.md +34 -0
- package/src/tokens/web/components/popover/popover.json +222 -0
- package/src/tokens/web/components/progress-bar/Readme.md +35 -0
- package/src/tokens/web/components/progress-bar/Token.Readme.md +15 -0
- package/src/tokens/web/components/progress-bar/progress-bar.json +439 -0
- package/src/tokens/web/components/progress-circle/Readme.md +19 -0
- package/src/tokens/web/components/progress-circle/Token.Readme.md +16 -0
- package/src/tokens/web/components/progress-circle/progress-circle.json +257 -0
- package/src/tokens/web/components/radioset/Token.Readme.md +24 -0
- package/src/tokens/web/components/radioset/radioset.json +259 -0
- package/src/tokens/web/components/rating/Token.Readme.md +14 -0
- package/src/tokens/web/components/rating/rating.json +116 -0
- package/src/tokens/web/components/richtext-editor/Token.Readme.md +106 -0
- package/src/tokens/web/components/richtext-editor/richtext-editor.json +1054 -0
- package/src/tokens/web/components/scrollbar/Token.Readme.md +15 -0
- package/src/tokens/web/components/scrollbar/scrollbar.json +66 -0
- package/src/tokens/web/components/search/Token.Readme.md +39 -0
- package/src/tokens/web/components/search/search.json +390 -0
- package/src/tokens/web/components/slider/Token.Readme.md +24 -0
- package/src/tokens/web/components/slider/slider.json +153 -0
- package/src/tokens/web/components/spinner/Token.Readme.md +15 -0
- package/src/tokens/web/components/spinner/spinner.json +77 -0
- package/src/tokens/web/components/switch/Token.Readme.md +20 -0
- package/src/tokens/web/components/switch/switch.json +241 -0
- package/src/tokens/web/components/tabs/Token.Readme.md +36 -0
- package/src/tokens/web/components/tabs/tabs.json +328 -0
- package/src/tokens/web/components/tile/Readme.md +39 -0
- package/src/tokens/web/components/tile/Token.Readme.md +13 -0
- package/src/tokens/web/components/tile/tile.json +442 -0
- package/src/tokens/web/components/time/Token.Readme.md +37 -0
- package/src/tokens/web/components/time/time.json +263 -0
- package/src/tokens/web/components/toast/Readme.md +19 -0
- package/src/tokens/web/components/toast/Token.Readme.md +35 -0
- package/src/tokens/web/components/toast/toast.json +464 -0
- package/src/tokens/web/components/toggle/Token.Readme.md +20 -0
- package/src/tokens/web/components/toggle/toggle.json +249 -0
- package/src/tokens/web/components/tree/Token.Readme.md +27 -0
- package/src/tokens/web/components/tree/tree.json +265 -0
- package/src/tokens/web/components/video/Token.Readme.md +10 -0
- package/src/tokens/web/components/video/video.json +23 -0
- package/src/tokens/web/components/wizard/Readme.md +41 -0
- package/src/tokens/web/components/wizard/Token.Readme.md +76 -0
- package/src/tokens/web/components/wizard/wizard.json +1449 -0
- package/src/tokens/web/global/border/border.json +116 -0
- package/src/tokens/web/global/border-style/border-style.json +72 -0
- package/src/tokens/web/global/box-shadow/box-shadow.json +24 -0
- package/src/tokens/web/global/colors/color.dark.json +398 -0
- package/src/tokens/web/global/colors/color.json +566 -0
- package/src/tokens/web/global/colors/color.light.json +1 -0
- package/src/tokens/web/global/elevation/elevation.json +48 -0
- package/src/tokens/web/global/font/font.json +599 -0
- package/src/tokens/web/global/gap/gap.json +57 -0
- package/src/tokens/web/global/icon/icon.json +84 -0
- package/src/tokens/web/global/margin/margin.json +57 -0
- package/src/tokens/web/global/opacity/opacity.json +7 -0
- package/src/tokens/web/global/radius/radius.json +77 -0
- package/src/tokens/web/global/space/space.json +125 -0
- package/src/tokens/web/global/spacer/spacer.json +45 -0
- package/src/utils/style-dictionary-utils.d.ts +25 -0
- package/src/utils/style-dictionary-utils.js +360 -0
- package/src/utils/style-dictionary-utils.js.map +1 -0
- package/src/utils/utils.d.ts +15 -0
- package/src/utils/utils.js +25 -0
- package/src/utils/utils.js.map +1 -0
- package/src/wm-namespace.d.ts +11 -0
- package/src/wm-namespace.js +12 -0
- package/src/wm-namespace.js.map +1 -0
- package/web.index.d.ts +20 -0
- package/web.index.js +300 -0
- package/web.index.js.map +1 -0
- package/webpack.config.cjs +43 -0
- package/webpack.config.cjs.map +1 -0
- package/webpack.config.d.cts +32 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
// Base validation rule configurations shared across platforms
|
|
2
|
+
//TODO segregation of units
|
|
3
|
+
const WEB_SIZES = [
|
|
4
|
+
// Absolute Lengths
|
|
5
|
+
"px", "cm", "mm", "Q", "in", "pc", "pt",
|
|
6
|
+
// Font-Relative (Local)
|
|
7
|
+
"em", "ex", "ch", "cap", "ic", "lh",
|
|
8
|
+
// Font-Relative (Root)
|
|
9
|
+
"rem", "rex", "rch", "rcap", "ric", "rlh",
|
|
10
|
+
// Standard Viewport
|
|
11
|
+
"vw", "vh", "vi", "vb", "vmin", "vmax",
|
|
12
|
+
// Small Viewport (UA UI expanded)
|
|
13
|
+
"svw", "svh", "svi", "svb", "svmin", "svmax",
|
|
14
|
+
// Large Viewport (UA UI retracted)
|
|
15
|
+
"lvw", "lvh", "lvi", "lvb", "lvmin", "lvmax",
|
|
16
|
+
// Dynamic Viewport (UA UI changes)
|
|
17
|
+
"dvw", "dvh", "dvi", "dvb", "dvmin", "dvmax",
|
|
18
|
+
// Container Query Units
|
|
19
|
+
"cqw", "cqh", "cqi", "cqb", "cqmin", "cqmax",
|
|
20
|
+
// Percentage & Layout
|
|
21
|
+
"%", "fr"
|
|
22
|
+
];
|
|
23
|
+
const MOBILE_SIZES = ['px', 'vh', 'vw'];
|
|
24
|
+
export const BASE_SUBTYPE_CONFIGS = {
|
|
25
|
+
"border-style": {
|
|
26
|
+
type: "allowed-list",
|
|
27
|
+
native_mobile: {
|
|
28
|
+
allowed: ["solid", "dashed", "dotted"]
|
|
29
|
+
},
|
|
30
|
+
web: {
|
|
31
|
+
allowed: ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"border-width": {
|
|
35
|
+
type: "multi-size",
|
|
36
|
+
allowMultiValue: true,
|
|
37
|
+
native_mobile: {
|
|
38
|
+
allowedUnits: MOBILE_SIZES,
|
|
39
|
+
allowUnitless: true,
|
|
40
|
+
allowedKeywords: []
|
|
41
|
+
},
|
|
42
|
+
web: {
|
|
43
|
+
allowedUnits: WEB_SIZES,
|
|
44
|
+
allowUnitless: true,
|
|
45
|
+
allowedKeywords: ["thin", "medium", "thick"]
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
// "box-shadow": {
|
|
49
|
+
// type: "custom",
|
|
50
|
+
// customDescription: {
|
|
51
|
+
// native_mobile: '[inset] <x> <y> [blur≥0] [spread] [color] — px or 0; color: #hex, rgb(), rgba(), named; comma-separate multiple shadows',
|
|
52
|
+
// web: '[inset] <x> <y> [blur≥0] [spread] [color] — CSS units or 0; color: #hex, rgb(), rgba(), hsl(), hsla(), named; "none" also valid'
|
|
53
|
+
// }
|
|
54
|
+
// },
|
|
55
|
+
// "elevation": {
|
|
56
|
+
// type: "custom",
|
|
57
|
+
// customDescription: {
|
|
58
|
+
// native_mobile: '[inset] <x> <y> [blur≥0] [spread] [color] — px or 0; color: #hex, rgb(), rgba(), named; comma-separate multiple shadows',
|
|
59
|
+
// web: '[inset] <x> <y> [blur≥0] [spread] [color] — CSS units or 0; color: #hex, rgb(), rgba(), hsl(), hsla(), named; "none" also valid'
|
|
60
|
+
// }
|
|
61
|
+
// },
|
|
62
|
+
"font-family": {
|
|
63
|
+
type: "custom",
|
|
64
|
+
customDescription: {
|
|
65
|
+
native_mobile: "only one font name",
|
|
66
|
+
web: "valid font family name or comma-separated font stack"
|
|
67
|
+
},
|
|
68
|
+
native_mobile: {
|
|
69
|
+
allowMultipleFonts: false,
|
|
70
|
+
separator: null,
|
|
71
|
+
maxFonts: 1,
|
|
72
|
+
allowGenericFallbacks: false
|
|
73
|
+
},
|
|
74
|
+
web: {
|
|
75
|
+
allowMultipleFonts: true,
|
|
76
|
+
separator: ",",
|
|
77
|
+
maxFonts: null,
|
|
78
|
+
allowGenericFallbacks: true
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"font-size": {
|
|
82
|
+
type: "size",
|
|
83
|
+
native_mobile: {
|
|
84
|
+
allowedUnits: MOBILE_SIZES,
|
|
85
|
+
allowUnitless: true,
|
|
86
|
+
allowedKeywords: []
|
|
87
|
+
},
|
|
88
|
+
web: {
|
|
89
|
+
allowedUnits: WEB_SIZES,
|
|
90
|
+
allowUnitless: true,
|
|
91
|
+
allowedKeywords: ["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "smaller", "larger"]
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"font-weight": {
|
|
95
|
+
type: "range-with-keywords",
|
|
96
|
+
range: [100, 900],
|
|
97
|
+
stepSize: 100,
|
|
98
|
+
native_mobile: {
|
|
99
|
+
keywords: ["normal", "bold"]
|
|
100
|
+
},
|
|
101
|
+
web: {
|
|
102
|
+
keywords: ["normal", "bold", "bolder", "lighter"]
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"icon-size": {
|
|
106
|
+
type: "size",
|
|
107
|
+
native_mobile: {
|
|
108
|
+
allowedUnits: MOBILE_SIZES,
|
|
109
|
+
allowUnitless: true
|
|
110
|
+
},
|
|
111
|
+
web: {
|
|
112
|
+
allowedUnits: WEB_SIZES,
|
|
113
|
+
allowUnitless: true
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"letter-spacing": {
|
|
117
|
+
type: "size",
|
|
118
|
+
native_mobile: {
|
|
119
|
+
allowedUnits: MOBILE_SIZES,
|
|
120
|
+
allowUnitless: true,
|
|
121
|
+
allowNegative: true
|
|
122
|
+
},
|
|
123
|
+
web: {
|
|
124
|
+
allowedUnits: WEB_SIZES,
|
|
125
|
+
allowUnitless: true,
|
|
126
|
+
allowedKeywords: ['normal'],
|
|
127
|
+
allowNegative: true
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"line-height": {
|
|
131
|
+
type: "size",
|
|
132
|
+
customDescription: {
|
|
133
|
+
native_mobile: "line height should be in px or unitless, greater than font-size for mobile"
|
|
134
|
+
},
|
|
135
|
+
native_mobile: {
|
|
136
|
+
allowedUnits: MOBILE_SIZES,
|
|
137
|
+
allowUnitless: true
|
|
138
|
+
},
|
|
139
|
+
web: {
|
|
140
|
+
allowedUnits: WEB_SIZES,
|
|
141
|
+
allowUnitless: true,
|
|
142
|
+
allowedKeywords: ['normal']
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"opacity": {
|
|
146
|
+
type: "range",
|
|
147
|
+
min: 0,
|
|
148
|
+
max: 1,
|
|
149
|
+
percentMin: 0,
|
|
150
|
+
percentMax: 100
|
|
151
|
+
},
|
|
152
|
+
"radius": {
|
|
153
|
+
type: "multi-size",
|
|
154
|
+
allowMultiValue: true,
|
|
155
|
+
allowPercent: true,
|
|
156
|
+
native_mobile: {
|
|
157
|
+
allowedUnits: MOBILE_SIZES,
|
|
158
|
+
allowUnitless: true
|
|
159
|
+
},
|
|
160
|
+
web: {
|
|
161
|
+
allowedUnits: WEB_SIZES,
|
|
162
|
+
allowUnitless: true
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"space": {
|
|
166
|
+
type: "multi-size",
|
|
167
|
+
allowMultiValue: true,
|
|
168
|
+
allowAuto: true,
|
|
169
|
+
allowPercent: true,
|
|
170
|
+
native_mobile: {
|
|
171
|
+
allowedUnits: MOBILE_SIZES,
|
|
172
|
+
allowUnitless: true
|
|
173
|
+
},
|
|
174
|
+
web: {
|
|
175
|
+
allowedUnits: WEB_SIZES,
|
|
176
|
+
allowUnitless: true
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"margin": {
|
|
180
|
+
type: "multi-size",
|
|
181
|
+
allowMultiValue: true,
|
|
182
|
+
allowAuto: true,
|
|
183
|
+
allowNegative: true,
|
|
184
|
+
native_mobile: {
|
|
185
|
+
allowedUnits: MOBILE_SIZES,
|
|
186
|
+
allowUnitless: true
|
|
187
|
+
},
|
|
188
|
+
web: {
|
|
189
|
+
allowedUnits: WEB_SIZES,
|
|
190
|
+
allowUnitless: true
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"spacer": {
|
|
194
|
+
type: "size",
|
|
195
|
+
native_mobile: {
|
|
196
|
+
allowedUnits: MOBILE_SIZES,
|
|
197
|
+
allowUnitless: true
|
|
198
|
+
},
|
|
199
|
+
web: {
|
|
200
|
+
allowedUnits: WEB_SIZES,
|
|
201
|
+
allowUnitless: true
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Generate platform-specific rule configuration
|
|
207
|
+
* @param {string} subtype - The subtype name
|
|
208
|
+
* @param {string} platform - Platform ('native_mobile' or 'web')
|
|
209
|
+
* @returns {Object} Platform-specific rule configuration
|
|
210
|
+
*/
|
|
211
|
+
export function getPlatformRule(subtype, platform) {
|
|
212
|
+
const baseConfig = BASE_SUBTYPE_CONFIGS[subtype];
|
|
213
|
+
if (!baseConfig)
|
|
214
|
+
return null;
|
|
215
|
+
// Merge base config with platform-specific overrides
|
|
216
|
+
const platformConfig = baseConfig[platform] || {};
|
|
217
|
+
const rule = { ...baseConfig, ...platformConfig };
|
|
218
|
+
// Handle platform-specific custom descriptions
|
|
219
|
+
if (rule.customDescription && typeof rule.customDescription === 'object') {
|
|
220
|
+
rule.customDescription = rule.customDescription[platform] || rule.customDescription;
|
|
221
|
+
}
|
|
222
|
+
// Remove platform-specific sections from the final rule
|
|
223
|
+
delete rule.native_mobile;
|
|
224
|
+
delete rule.web;
|
|
225
|
+
delete rule.validator;
|
|
226
|
+
return rule;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Generate platform-specific validation rules from BASE_SUBTYPE_CONFIGS.
|
|
230
|
+
* @param {string} platform - 'native_mobile' or 'web'
|
|
231
|
+
* @param {Object} validators - Validator functions (see COMMON_VALIDATORS in utils.js)
|
|
232
|
+
* @returns {Object} Rules indexed by subtype, each with a .validate function
|
|
233
|
+
*/
|
|
234
|
+
export function generatePlatformRules(platform, validators) {
|
|
235
|
+
const rules = {};
|
|
236
|
+
Object.keys(BASE_SUBTYPE_CONFIGS).forEach(subtype => {
|
|
237
|
+
const rule = getPlatformRule(subtype, platform);
|
|
238
|
+
if (!rule)
|
|
239
|
+
return;
|
|
240
|
+
rule.validate = resolveRuleValidator(rule.type, subtype, platform, validators);
|
|
241
|
+
rules[subtype] = rule;
|
|
242
|
+
});
|
|
243
|
+
return rules;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Resolve an executable validator function from rule type + subtype.
|
|
247
|
+
*/
|
|
248
|
+
export function resolveRuleValidator(type, subtype, platform, validators) {
|
|
249
|
+
const platformDefaults = {
|
|
250
|
+
native_mobile: MOBILE_SIZES,
|
|
251
|
+
web: WEB_SIZES
|
|
252
|
+
};
|
|
253
|
+
const defaultUnits = platformDefaults[platform];
|
|
254
|
+
switch (type) {
|
|
255
|
+
case "allowed-list":
|
|
256
|
+
return (value, rule) => validators.validateFromAllowedList(value, rule.allowed);
|
|
257
|
+
case "size":
|
|
258
|
+
return (value, rule) => validators.validatePlatformSizeValue(value, rule, defaultUnits);
|
|
259
|
+
case "multi-size":
|
|
260
|
+
return (value, rule) => validators.validatePlatformSpaceValue(value, rule, defaultUnits);
|
|
261
|
+
case "string":
|
|
262
|
+
return validators.validateFontFamily;
|
|
263
|
+
case "range":
|
|
264
|
+
return validators.validateOpacity;
|
|
265
|
+
case "range-with-keywords":
|
|
266
|
+
return platform === 'native_mobile'
|
|
267
|
+
? (value, rule) => validators.validateFontWeight(value, rule, true)
|
|
268
|
+
: validators.validateFontWeight;
|
|
269
|
+
case "custom":
|
|
270
|
+
if (subtype === "font-family") {
|
|
271
|
+
return (value, rule) => validators.validateFontFamily(value, rule);
|
|
272
|
+
}
|
|
273
|
+
if (subtype === "box-shadow" || subtype === "elevation") {
|
|
274
|
+
return validators.validateBoxShadow;
|
|
275
|
+
}
|
|
276
|
+
return null;
|
|
277
|
+
default:
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"./","sources":["src/token-validation/validator-utils/common/constants.js"],"names":[],"mappings":"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","sourcesContent":["\n// Base validation rule configurations shared across platforms\n\n//TODO segregation of units\nconst WEB_SIZES = [\n // Absolute Lengths\n \"px\", \"cm\", \"mm\", \"Q\", \"in\", \"pc\", \"pt\",\n\n // Font-Relative (Local)\n \"em\", \"ex\", \"ch\", \"cap\", \"ic\", \"lh\",\n\n // Font-Relative (Root)\n \"rem\", \"rex\", \"rch\", \"rcap\", \"ric\", \"rlh\",\n\n // Standard Viewport\n \"vw\", \"vh\", \"vi\", \"vb\", \"vmin\", \"vmax\",\n\n // Small Viewport (UA UI expanded)\n \"svw\", \"svh\", \"svi\", \"svb\", \"svmin\", \"svmax\",\n\n // Large Viewport (UA UI retracted)\n \"lvw\", \"lvh\", \"lvi\", \"lvb\", \"lvmin\", \"lvmax\",\n\n // Dynamic Viewport (UA UI changes)\n \"dvw\", \"dvh\", \"dvi\", \"dvb\", \"dvmin\", \"dvmax\",\n\n // Container Query Units\n \"cqw\", \"cqh\", \"cqi\", \"cqb\", \"cqmin\", \"cqmax\",\n\n // Percentage & Layout\n \"%\", \"fr\"\n];\nconst MOBILE_SIZES = ['px', 'vh', 'vw'];\n\nexport const BASE_SUBTYPE_CONFIGS = {\n \"border-style\": {\n type: \"allowed-list\",\n native_mobile: {\n allowed: [\"solid\", \"dashed\", \"dotted\"]\n },\n web: {\n allowed: [\"none\", \"hidden\", \"dotted\", \"dashed\", \"solid\", \"double\", \"groove\", \"ridge\", \"inset\", \"outset\"]\n }\n },\n \n \"border-width\": {\n type: \"multi-size\",\n allowMultiValue: true,\n native_mobile: {\n allowedUnits: MOBILE_SIZES,\n allowUnitless: true,\n allowedKeywords: []\n },\n web: {\n allowedUnits: WEB_SIZES,\n allowUnitless: true,\n allowedKeywords: [\"thin\", \"medium\", \"thick\"]\n }\n },\n \n // \"box-shadow\": {\n // type: \"custom\",\n // customDescription: {\n // native_mobile: '[inset] <x> <y> [blur≥0] [spread] [color] — px or 0; color: #hex, rgb(), rgba(), named; comma-separate multiple shadows',\n // web: '[inset] <x> <y> [blur≥0] [spread] [color] — CSS units or 0; color: #hex, rgb(), rgba(), hsl(), hsla(), named; \"none\" also valid'\n // }\n // },\n\n // \"elevation\": {\n // type: \"custom\",\n // customDescription: {\n // native_mobile: '[inset] <x> <y> [blur≥0] [spread] [color] — px or 0; color: #hex, rgb(), rgba(), named; comma-separate multiple shadows',\n // web: '[inset] <x> <y> [blur≥0] [spread] [color] — CSS units or 0; color: #hex, rgb(), rgba(), hsl(), hsla(), named; \"none\" also valid'\n // }\n // },\n \n \"font-family\": {\n type: \"custom\",\n customDescription: {\n native_mobile: \"only one font name\",\n web: \"valid font family name or comma-separated font stack\"\n },\n native_mobile: {\n allowMultipleFonts: false,\n separator: null,\n maxFonts: 1,\n allowGenericFallbacks: false\n },\n web: {\n allowMultipleFonts: true,\n separator: \",\",\n maxFonts: null,\n allowGenericFallbacks: true\n }\n },\n \n \"font-size\": {\n type: \"size\",\n native_mobile: {\n allowedUnits: MOBILE_SIZES,\n allowUnitless: true,\n allowedKeywords: []\n },\n web: {\n allowedUnits: WEB_SIZES,\n allowUnitless: true,\n allowedKeywords: [\"xx-small\", \"x-small\", \"small\", \"medium\", \"large\", \"x-large\", \"xx-large\", \"smaller\", \"larger\"]\n }\n },\n \n \"font-weight\": {\n type: \"range-with-keywords\",\n range: [100, 900],\n stepSize: 100,\n native_mobile: {\n keywords: [\"normal\", \"bold\"]\n },\n web: {\n keywords: [\"normal\", \"bold\", \"bolder\", \"lighter\"]\n }\n },\n \n \"icon-size\": {\n type: \"size\",\n native_mobile: {\n allowedUnits: MOBILE_SIZES,\n allowUnitless: true\n },\n web: {\n allowedUnits: WEB_SIZES,\n allowUnitless: true\n }\n },\n \n \"letter-spacing\": {\n type: \"size\",\n native_mobile: {\n allowedUnits: MOBILE_SIZES,\n allowUnitless: true,\n allowNegative: true\n },\n web: {\n allowedUnits: WEB_SIZES,\n allowUnitless: true,\n allowedKeywords: ['normal'],\n allowNegative: true\n }\n },\n \n \"line-height\": {\n type: \"size\",\n customDescription:{\n native_mobile: \"line height should be in px or unitless, greater than font-size for mobile\"\n },\n native_mobile: {\n allowedUnits: MOBILE_SIZES,\n allowUnitless: true\n },\n web: {\n allowedUnits: WEB_SIZES,\n allowUnitless: true,\n allowedKeywords: ['normal']\n }\n },\n \n \"opacity\": {\n type: \"range\",\n min: 0,\n max: 1,\n percentMin: 0,\n percentMax: 100\n },\n \n \"radius\": {\n type: \"multi-size\",\n allowMultiValue: true,\n allowPercent: true,\n native_mobile: {\n allowedUnits: MOBILE_SIZES,\n allowUnitless: true\n },\n web: {\n allowedUnits: WEB_SIZES,\n allowUnitless: true\n }\n },\n \n \"space\": {\n type: \"multi-size\",\n allowMultiValue: true,\n allowAuto: true,\n allowPercent: true,\n native_mobile: {\n allowedUnits: MOBILE_SIZES,\n allowUnitless: true\n },\n web: {\n allowedUnits: WEB_SIZES,\n allowUnitless: true\n }\n },\n \n \"margin\": {\n type: \"multi-size\",\n allowMultiValue: true,\n allowAuto: true,\n allowNegative: true,\n native_mobile: {\n allowedUnits: MOBILE_SIZES,\n allowUnitless: true\n },\n web: {\n allowedUnits: WEB_SIZES,\n allowUnitless: true\n }\n },\n \n \"spacer\": {\n type: \"size\",\n native_mobile: {\n allowedUnits: MOBILE_SIZES,\n allowUnitless: true\n },\n web: {\n allowedUnits: WEB_SIZES,\n allowUnitless: true\n }\n }\n};\n\n\n/**\n * Generate platform-specific rule configuration\n * @param {string} subtype - The subtype name\n * @param {string} platform - Platform ('native_mobile' or 'web')\n * @returns {Object} Platform-specific rule configuration\n */\nexport function getPlatformRule(subtype, platform) {\n const baseConfig = BASE_SUBTYPE_CONFIGS[subtype];\n if (!baseConfig) return null;\n \n // Merge base config with platform-specific overrides\n const platformConfig = baseConfig[platform] || {};\n const rule = { ...baseConfig, ...platformConfig };\n \n // Handle platform-specific custom descriptions\n if (rule.customDescription && typeof rule.customDescription === 'object') {\n rule.customDescription = rule.customDescription[platform] || rule.customDescription;\n }\n \n // Remove platform-specific sections from the final rule\n delete rule.native_mobile;\n delete rule.web;\n delete rule.validator;\n \n return rule;\n}\n\n/**\n * Generate platform-specific validation rules from BASE_SUBTYPE_CONFIGS.\n * @param {string} platform - 'native_mobile' or 'web'\n * @param {Object} validators - Validator functions (see COMMON_VALIDATORS in utils.js)\n * @returns {Object} Rules indexed by subtype, each with a .validate function\n */\nexport function generatePlatformRules(platform, validators) {\n const rules = {};\n Object.keys(BASE_SUBTYPE_CONFIGS).forEach(subtype => {\n const rule = getPlatformRule(subtype, platform);\n if (!rule) return;\n rule.validate = resolveRuleValidator(rule.type, subtype, platform, validators);\n rules[subtype] = rule;\n });\n return rules;\n}\n\n/**\n * Resolve an executable validator function from rule type + subtype.\n */\nexport function resolveRuleValidator(type, subtype, platform, validators) {\n const platformDefaults = {\n native_mobile: MOBILE_SIZES,\n web: WEB_SIZES\n };\n const defaultUnits = platformDefaults[platform];\n\n switch (type) {\n case \"allowed-list\":\n return (value, rule) => validators.validateFromAllowedList(value, rule.allowed);\n case \"size\":\n return (value, rule) => validators.validatePlatformSizeValue(value, rule, defaultUnits);\n case \"multi-size\":\n return (value, rule) => validators.validatePlatformSpaceValue(value, rule, defaultUnits);\n case \"string\":\n return validators.validateFontFamily;\n case \"range\":\n return validators.validateOpacity;\n case \"range-with-keywords\":\n return platform === 'native_mobile'\n ? (value, rule) => validators.validateFontWeight(value, rule, true)\n : validators.validateFontWeight;\n case \"custom\":\n if (subtype === \"font-family\") {\n return (value, rule) => validators.validateFontFamily(value, rule);\n }\n if (subtype === \"box-shadow\" || subtype === \"elevation\") {\n return validators.validateBoxShadow;\n }\n return null;\n default:\n return null;\n }\n}"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function isPx(v: any): boolean;
|
|
2
|
+
export function isRem(v: any): boolean;
|
|
3
|
+
export function isEm(v: any): boolean;
|
|
4
|
+
export function isUnitlessNumber(v: any): boolean;
|
|
5
|
+
export function isNonNegativeUnitlessNumber(v: any): boolean;
|
|
6
|
+
export function isPercent(v: any): boolean;
|
|
7
|
+
export function isHex(v: any): boolean;
|
|
8
|
+
export function isRgb(v: any): boolean;
|
|
9
|
+
export function isRgba(v: any): boolean;
|
|
10
|
+
export function isHsl(v: any): boolean;
|
|
11
|
+
export function isHsla(v: any): boolean;
|
|
12
|
+
export function isNamedColor(v: any): boolean;
|
|
13
|
+
export function isMobileColor(v: any): boolean;
|
|
14
|
+
export function isWebColor(v: any): boolean;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// ─── Numeric / Unit helpers ──────────────────────────────────────────────────
|
|
2
|
+
/** "12px", "-4px" */
|
|
3
|
+
export const isPx = (v) => /^-?[\d.]+px$/.test(v);
|
|
4
|
+
/** "1.5rem" */
|
|
5
|
+
export const isRem = (v) => /^-?[\d.]+rem$/.test(v);
|
|
6
|
+
/** "1em" */
|
|
7
|
+
export const isEm = (v) => /^-?[\d.]+em$/.test(v);
|
|
8
|
+
/** Plain number string with no unit: "12", "1.5", NOT "-3" for unsigned contexts */
|
|
9
|
+
export const isUnitlessNumber = (v) => /^-?[\d.]+$/.test(v) && !isNaN(Number(v));
|
|
10
|
+
/** Non-negative unitless number only */
|
|
11
|
+
export const isNonNegativeUnitlessNumber = (v) => isUnitlessNumber(v) && Number(v) >= 0;
|
|
12
|
+
/** "50%" */
|
|
13
|
+
export const isPercent = (v) => /^[\d.]+%$/.test(v);
|
|
14
|
+
// ─── Color helpers ───────────────────────────────────────────────────────────
|
|
15
|
+
/** #RGB, #RGBA, #RRGGBB, #RRGGBBAA */
|
|
16
|
+
export const isHex = (v) => /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(v);
|
|
17
|
+
/** rgb(...) */
|
|
18
|
+
export const isRgb = (v) => /^rgb\(\s*[\d.]+%?\s*,\s*[\d.]+%?\s*,\s*[\d.]+%?\s*\)$/.test(v);
|
|
19
|
+
/** rgba(...) */
|
|
20
|
+
export const isRgba = (v) => /^rgba\(\s*[\d.]+%?\s*,\s*[\d.]+%?\s*,\s*[\d.]+%?\s*,\s*[\d.]+%?\s*\)$/.test(v);
|
|
21
|
+
/** hsl(...) */
|
|
22
|
+
export const isHsl = (v) => /^hsl\(\s*[\d.]+\s*,\s*[\d.]+%\s*,\s*[\d.]+%\s*\)$/.test(v);
|
|
23
|
+
/** hsla(...) */
|
|
24
|
+
export const isHsla = (v) => /^hsla\(\s*[\d.]+\s*,\s*[\d.]+%\s*,\s*[\d.]+%\s*,\s*[\d.]+\s*\)$/.test(v);
|
|
25
|
+
/**
|
|
26
|
+
* Named color regex: 3-20 alphabetic characters only
|
|
27
|
+
* Matches: "red", "blue", "transparent" (but not "foobar123" or "red-blue")
|
|
28
|
+
*/
|
|
29
|
+
const NAMED_COLOR = /^[a-zA-Z]{3,20}$/;
|
|
30
|
+
export const isNamedColor = (v) => NAMED_COLOR.test(v);
|
|
31
|
+
/** Any color valid for css-to-react-native: #hex, rgb(), rgba(), named */
|
|
32
|
+
export const isMobileColor = (v) => isHex(v) || isRgb(v) || isRgba(v) || isNamedColor(v);
|
|
33
|
+
/** Any color valid in CSS (superset of mobile) */
|
|
34
|
+
export const isWebColor = (v) => isHex(v) || isRgb(v) || isRgba(v) || isHsl(v) || isHsla(v) || isNamedColor(v);
|
|
35
|
+
//# sourceMappingURL=primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"./","sources":["src/token-validation/validator-utils/common/primitives.js"],"names":[],"mappings":"AAEA,gFAAgF;AAEhF,qBAAqB;AACrB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAElD,eAAe;AACf,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpD,YAAY;AACZ,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAElD,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjF,wCAAwC;AACxC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,EAAE,EAAE,CAC7C,gBAAgB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE1C,YAAY;AACZ,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpD,gFAAgF;AAEhF,sCAAsC;AACtC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CACvB,kEAAkE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE/E,eAAe;AACf,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CACvB,uDAAuD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpE,gBAAgB;AAChB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CACxB,uEAAuE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpF,eAAe;AACf,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CACvB,mDAAmD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhE,gBAAgB;AAChB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CACxB,iEAAiE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE,CAC/B,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAEzD,kDAAkD;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,EAAE,CAC5B,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC","sourcesContent":["\n\n// ─── Numeric / Unit helpers ──────────────────────────────────────────────────\n\n/** \"12px\", \"-4px\" */\nexport const isPx = (v) => /^-?[\\d.]+px$/.test(v);\n\n/** \"1.5rem\" */\nexport const isRem = (v) => /^-?[\\d.]+rem$/.test(v);\n\n/** \"1em\" */\nexport const isEm = (v) => /^-?[\\d.]+em$/.test(v);\n\n/** Plain number string with no unit: \"12\", \"1.5\", NOT \"-3\" for unsigned contexts */\nexport const isUnitlessNumber = (v) => /^-?[\\d.]+$/.test(v) && !isNaN(Number(v));\n\n/** Non-negative unitless number only */\nexport const isNonNegativeUnitlessNumber = (v) =>\n isUnitlessNumber(v) && Number(v) >= 0;\n\n/** \"50%\" */\nexport const isPercent = (v) => /^[\\d.]+%$/.test(v);\n\n// ─── Color helpers ───────────────────────────────────────────────────────────\n\n/** #RGB, #RGBA, #RRGGBB, #RRGGBBAA */\nexport const isHex = (v) =>\n /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(v);\n\n/** rgb(...) */\nexport const isRgb = (v) =>\n /^rgb\\(\\s*[\\d.]+%?\\s*,\\s*[\\d.]+%?\\s*,\\s*[\\d.]+%?\\s*\\)$/.test(v);\n\n/** rgba(...) */\nexport const isRgba = (v) =>\n /^rgba\\(\\s*[\\d.]+%?\\s*,\\s*[\\d.]+%?\\s*,\\s*[\\d.]+%?\\s*,\\s*[\\d.]+%?\\s*\\)$/.test(v);\n\n/** hsl(...) */\nexport const isHsl = (v) =>\n /^hsl\\(\\s*[\\d.]+\\s*,\\s*[\\d.]+%\\s*,\\s*[\\d.]+%\\s*\\)$/.test(v);\n\n/** hsla(...) */\nexport const isHsla = (v) =>\n /^hsla\\(\\s*[\\d.]+\\s*,\\s*[\\d.]+%\\s*,\\s*[\\d.]+%\\s*,\\s*[\\d.]+\\s*\\)$/.test(v);\n\n/**\n * Named color regex: 3-20 alphabetic characters only\n * Matches: \"red\", \"blue\", \"transparent\" (but not \"foobar123\" or \"red-blue\")\n */\nconst NAMED_COLOR = /^[a-zA-Z]{3,20}$/;\nexport const isNamedColor = (v) => NAMED_COLOR.test(v);\n\n/** Any color valid for css-to-react-native: #hex, rgb(), rgba(), named */\nexport const isMobileColor = (v) =>\n isHex(v) || isRgb(v) || isRgba(v) || isNamedColor(v);\n\n/** Any color valid in CSS (superset of mobile) */\nexport const isWebColor = (v) =>\n isHex(v) || isRgb(v) || isRgba(v) || isHsl(v) || isHsla(v) || isNamedColor(v);\n"]}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
export function generateAllowedListDescription(allowed: any): string;
|
|
2
|
+
/**
|
|
3
|
+
* Generate description for numeric ranges
|
|
4
|
+
* @param {number} min - Minimum value
|
|
5
|
+
* @param {number} max - Maximum value
|
|
6
|
+
* @param {string} [unit] - Optional unit suffix
|
|
7
|
+
* @returns {string} Description like "number between 0 and 1"
|
|
8
|
+
*/
|
|
9
|
+
export function generateRangeDescription(min: number, max: number, unit?: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Generate description for platform-specific units
|
|
12
|
+
* @param {string[]} units - Array of supported units
|
|
13
|
+
* @returns {string} Description of supported units
|
|
14
|
+
*/
|
|
15
|
+
export function generateUnitsDescription(units: string[]): string;
|
|
16
|
+
/**
|
|
17
|
+
* Validate value against an allowed list
|
|
18
|
+
* @param {string} value - Value to validate
|
|
19
|
+
* @param {string[]} allowed - Array of allowed values
|
|
20
|
+
* @returns {{ valid: boolean }}
|
|
21
|
+
*/
|
|
22
|
+
export function validateFromAllowedList(value: string, allowed: string[]): {
|
|
23
|
+
valid: boolean;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Validate numeric value within a range
|
|
27
|
+
* @param {string|number} value - Value to validate
|
|
28
|
+
* @param {number} min - Minimum allowed value
|
|
29
|
+
* @param {number} max - Maximum allowed value
|
|
30
|
+
* @returns {{ valid: boolean }}
|
|
31
|
+
*/
|
|
32
|
+
export function validateNumericRange(value: string | number, min: number, max: number): {
|
|
33
|
+
valid: boolean;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Validate non-empty string values
|
|
37
|
+
* @param {string} value - Value to validate
|
|
38
|
+
* @returns {{ valid: boolean }}
|
|
39
|
+
*/
|
|
40
|
+
export function validateNonEmptyString(value: string): {
|
|
41
|
+
valid: boolean;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Validate numeric range with optional keyword support
|
|
45
|
+
* @param {string|number} value - Value to validate
|
|
46
|
+
* @param {Object} rule - Rule configuration containing range and keywords
|
|
47
|
+
* @param {boolean} [caseInsensitive=false] - Match keywords case-insensitively
|
|
48
|
+
* @returns {{ valid: boolean }}
|
|
49
|
+
*/
|
|
50
|
+
export function validateRangeWithKeywords(value: string | number, rule: any, caseInsensitive?: boolean): {
|
|
51
|
+
valid: boolean;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Build size validation options from rule configuration
|
|
55
|
+
* @param {Object} rule - Rule config
|
|
56
|
+
* @param {Object} defaults - Default options for a platform
|
|
57
|
+
* @returns {Object} Final validation options
|
|
58
|
+
*/
|
|
59
|
+
export function buildSizeOptions(rule?: any, defaults?: any): any;
|
|
60
|
+
/**
|
|
61
|
+
* Validate size values with platform-specific unit support
|
|
62
|
+
* @param {string} value - Value to validate
|
|
63
|
+
* @param {Object} options - Validation options
|
|
64
|
+
* @param {boolean} [options.allowNegative=false] - Allow negative values
|
|
65
|
+
* @param {boolean} [options.allowUnitless=true] - Allow unitless numbers
|
|
66
|
+
* @param {boolean} [options.allowPercent=false] - Allow percentage values
|
|
67
|
+
* @param {string[]} [options.allowedUnits=['px']] - Allowed CSS units
|
|
68
|
+
* @param {string[]} [options.allowedKeywords=[]] - Allowed keyword values
|
|
69
|
+
* @returns {{ valid: boolean }}
|
|
70
|
+
*/
|
|
71
|
+
export function validateSizeValue(value: string, options?: {
|
|
72
|
+
allowNegative?: boolean | undefined;
|
|
73
|
+
allowUnitless?: boolean | undefined;
|
|
74
|
+
allowPercent?: boolean | undefined;
|
|
75
|
+
allowedUnits?: string[] | undefined;
|
|
76
|
+
allowedKeywords?: string[] | undefined;
|
|
77
|
+
}): {
|
|
78
|
+
valid: boolean;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Validate space-separated multi-value strings
|
|
82
|
+
* @param {string} value - Space-separated values
|
|
83
|
+
* @param {Function} validator - Function to validate each individual value
|
|
84
|
+
* @param {Object} [validatorOptions] - Options to pass to validator
|
|
85
|
+
* @returns {{ valid: boolean }}
|
|
86
|
+
*/
|
|
87
|
+
export function validateMultiValue(value: string, validator: Function, validatorOptions?: any): {
|
|
88
|
+
valid: boolean;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Create standardized error response
|
|
92
|
+
* @param {string} subtype - Token subtype
|
|
93
|
+
* @param {string} value - Invalid value
|
|
94
|
+
* @param {string} expectedFormat - Expected format description
|
|
95
|
+
* @param {string} platform - Platform identifier
|
|
96
|
+
* @returns {{ valid: false, errorObject: Object }}
|
|
97
|
+
*/
|
|
98
|
+
export function createErrorResponse(subtype: string, value: string, expectedFormat: string, platform: string): {
|
|
99
|
+
valid: false;
|
|
100
|
+
errorObject: any;
|
|
101
|
+
};
|
|
102
|
+
export function createSuccessResponse(): {
|
|
103
|
+
valid: boolean;
|
|
104
|
+
};
|
|
105
|
+
export function validateFontFamily(value: any, config?: {}): {
|
|
106
|
+
valid: boolean;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Common validator for font weight - validates range with keywords
|
|
110
|
+
* @param {string} value - Value to validate
|
|
111
|
+
* @param {Object} rule - Rule configuration with range and keywords
|
|
112
|
+
* @param {boolean} [requireMultipleOf100] - Whether to require multiples of 100
|
|
113
|
+
* @returns {{ valid: boolean }} Validation result
|
|
114
|
+
*/
|
|
115
|
+
export function validateFontWeight(value: string, rule: any, requireMultipleOf100?: boolean): {
|
|
116
|
+
valid: boolean;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Common validator for opacity - validates numeric range
|
|
120
|
+
* @param {string} value - Value to validate
|
|
121
|
+
* @param {Object} rule - Rule configuration with min/max
|
|
122
|
+
* @returns {{ valid: boolean }} Validation result
|
|
123
|
+
*/
|
|
124
|
+
export function validateOpacity(value: string, rule: any): {
|
|
125
|
+
valid: boolean;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Platform-specific size value validator
|
|
129
|
+
* @param {string} value - Value to validate
|
|
130
|
+
* @param {Object} rule - Rule configuration
|
|
131
|
+
* @param {string[]} defaultUnits - Default allowed units for platform
|
|
132
|
+
* @returns {{ valid: boolean }} Validation result
|
|
133
|
+
*/
|
|
134
|
+
export function validatePlatformSizeValue(value: string, rule?: any, defaultUnits?: string[]): {
|
|
135
|
+
valid: boolean;
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Platform-specific space value validator (supports multi-value)
|
|
139
|
+
* @param {string} value - Value to validate
|
|
140
|
+
* @param {Object} rule - Rule configuration
|
|
141
|
+
* @param {string[]} defaultUnits - Default allowed units for platform
|
|
142
|
+
* @returns {{ valid: boolean }} Validation result
|
|
143
|
+
*/
|
|
144
|
+
export function validatePlatformSpaceValue(value: string, rule?: any, defaultUnits?: string[]): {
|
|
145
|
+
valid: boolean;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Get description for a rule, using customDescription if available or generating dynamically
|
|
149
|
+
* @param {Object} rule - Rule configuration
|
|
150
|
+
* @returns {string} Description for the rule
|
|
151
|
+
*/
|
|
152
|
+
export function getRuleDescription(rule: any): string;
|
|
153
|
+
/** Split "a, rgba(1,2,3), b" by commas NOT inside parentheses */
|
|
154
|
+
export function splitByTopLevelComma(value: any): string[];
|
|
155
|
+
/**
|
|
156
|
+
* Extract a color token from a shadow string.
|
|
157
|
+
* Handles function-form colors (rgb, rgba, hsl, hsla) which may contain
|
|
158
|
+
* internal commas and spaces, as well as hex (#rrggbb) and named colors.
|
|
159
|
+
*
|
|
160
|
+
* @param {string} s - Shadow string after stripping inset keyword
|
|
161
|
+
* @returns {{ color: string|null, remainder: string }}
|
|
162
|
+
*/
|
|
163
|
+
export function extractColor(s: string): {
|
|
164
|
+
color: string | null;
|
|
165
|
+
remainder: string;
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* Validate a box-shadow / elevation value.
|
|
169
|
+
* Shared by all platforms — callers supply the color validator and allowed length units.
|
|
170
|
+
*
|
|
171
|
+
* @param {string} value
|
|
172
|
+
* @param {Object} options
|
|
173
|
+
* @param {boolean} [options.allowNone=false] - Accept the keyword "none"
|
|
174
|
+
* @param {Function} options.colorValidator - (color: string) => boolean
|
|
175
|
+
* @param {string[]} options.lengthUnits - e.g. ["px"] or ["px","rem","em"]
|
|
176
|
+
* @returns {{ valid: boolean }}
|
|
177
|
+
*/
|
|
178
|
+
export function validateShadowValue(value: string, { allowNone, colorValidator, lengthUnits }: {
|
|
179
|
+
allowNone?: boolean | undefined;
|
|
180
|
+
colorValidator: Function;
|
|
181
|
+
lengthUnits: string[];
|
|
182
|
+
}): {
|
|
183
|
+
valid: boolean;
|
|
184
|
+
};
|
|
185
|
+
export namespace COMMON_VALIDATORS {
|
|
186
|
+
export { validateFromAllowedList };
|
|
187
|
+
export { validatePlatformSizeValue };
|
|
188
|
+
export { validatePlatformSpaceValue };
|
|
189
|
+
export { validateFontFamily };
|
|
190
|
+
export { validateOpacity };
|
|
191
|
+
export { validateFontWeight };
|
|
192
|
+
}
|