@rbxts/uiblox 0.2.0-alpha.36 → 0.2.0-alpha.38
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/README.md +1 -18
- package/out/theme/constants/NumberConstants.d.ts +10 -0
- package/out/theme/constants/NumberConstants.luau +12 -0
- package/out/theme/interfaces/density/controlMetrics.luau +2 -2
- package/out/theme/interfaces/palette/Palette.d.ts +7 -0
- package/out/theme/interfaces/spacing/Shape.d.ts +6 -0
- package/out/theme/interfaces/theme/Theme.d.ts +6 -0
- package/out/theme/interfaces/typography/FontFamilies.luau +1 -0
- package/out/theme/interfaces/typography/FontFamilyOptions.d.ts +1 -1
- package/out/theme/interfaces/typography/FontSizeOptions.d.ts +1 -1
- package/out/theme/interfaces/typography/FontSizes.luau +2 -0
- package/out/theme/interfaces/typography/Variants.d.ts +3 -1
- package/out/theme/interfaces/typography/Variants.luau +25 -1
- package/out/theme/styles/utilities/focusRing.d.ts +7 -0
- package/out/theme/styles/utilities/focusRing.luau +14 -0
- package/out/theme/styles/utilities/index.d.ts +1 -0
- package/out/theme/styles/utilities/init.luau +3 -0
- package/out/theme/styles/utilities/resolveSx.d.ts +6 -1
- package/out/theme/styles/utilities/resolveSx.luau +53 -12
- package/out/theme/themes/DarkTheme.luau +4 -0
- package/out/theme/themes/LightTheme.luau +4 -0
- package/out/theme/themes/createPalette.luau +15 -0
- package/out/ui/packages/accordion/components/Accordion.d.ts +1 -0
- package/out/ui/packages/accordion/components/Accordion.luau +112 -32
- package/out/ui/packages/accordion/components/Accordion.styles.luau +70 -32
- package/out/ui/packages/accordion/components/accordionNote.d.ts +2 -0
- package/out/ui/packages/accordion/components/accordionNote.luau +11 -0
- package/out/ui/packages/alert/components/Alert.d.ts +2 -0
- package/out/ui/packages/alert/components/Alert.luau +39 -12
- package/out/ui/packages/alert/components/Alert.styles.luau +44 -22
- package/out/ui/packages/alert/components/alertAction.d.ts +2 -0
- package/out/ui/packages/alert/components/alertAction.luau +11 -0
- package/out/ui/packages/appBar/components/AppBar.d.ts +1 -0
- package/out/ui/packages/appBar/components/AppBar.luau +88 -22
- package/out/ui/packages/appBar/components/AppBar.styles.luau +41 -11
- package/out/ui/packages/appBar/components/appBarSubtitle.d.ts +2 -0
- package/out/ui/packages/appBar/components/appBarSubtitle.luau +11 -0
- package/out/ui/packages/autocomplete/components/Autocomplete.luau +4 -0
- package/out/ui/packages/avatar/components/Avatar.d.ts +2 -0
- package/out/ui/packages/avatar/components/Avatar.luau +9 -2
- package/out/ui/packages/avatar/components/Avatar.styles.luau +7 -0
- package/out/ui/packages/avatarGroup/components/AvatarGroup.d.ts +14 -0
- package/out/ui/packages/avatarGroup/components/AvatarGroup.luau +107 -0
- package/out/ui/packages/avatarGroup/components/AvatarGroup.styles.d.ts +6 -0
- package/out/ui/packages/avatarGroup/components/AvatarGroup.styles.luau +55 -0
- package/out/ui/packages/avatarGroup/components/avatarGroupCut.d.ts +2 -0
- package/out/ui/packages/avatarGroup/components/avatarGroupCut.luau +11 -0
- package/out/ui/packages/avatarGroup/index.d.ts +3 -0
- package/out/ui/packages/avatarGroup/init.luau +6 -0
- package/out/ui/packages/badge/components/Badge.luau +14 -11
- package/out/ui/packages/badge/components/Badge.styles.luau +5 -1
- package/out/ui/packages/bottomNavigation/components/BottomNavigation.d.ts +4 -1
- package/out/ui/packages/bottomNavigation/components/BottomNavigation.luau +19 -1
- package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.luau +24 -3
- package/out/ui/packages/bottomNavigation/components/navBadge.d.ts +2 -0
- package/out/ui/packages/bottomNavigation/components/navBadge.luau +14 -0
- package/out/ui/packages/bottomNavigation/index.d.ts +1 -1
- package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +21 -6
- package/out/ui/packages/breadcrumbs/components/Breadcrumbs.styles.luau +10 -0
- package/out/ui/packages/breadcrumbs/components/breadcrumbItems.d.ts +2 -0
- package/out/ui/packages/breadcrumbs/components/breadcrumbItems.luau +8 -0
- package/out/ui/packages/brickColorPicker/components/BrickColorPicker.luau +20 -2
- package/out/ui/packages/brickColorPicker/components/BrickColorPicker.styles.luau +72 -66
- package/out/ui/packages/button/components/Button.d.ts +2 -0
- package/out/ui/packages/button/components/Button.luau +112 -36
- package/out/ui/packages/button/components/Button.styles.luau +2 -0
- package/out/ui/packages/button/components/buttonLook.d.ts +2 -0
- package/out/ui/packages/button/components/buttonLook.luau +11 -0
- package/out/ui/packages/button/components/buttonPaint.d.ts +16 -0
- package/out/ui/packages/button/components/buttonPaint.luau +70 -0
- package/out/ui/packages/buttonGroup/components/ButtonGroup.d.ts +14 -0
- package/out/ui/packages/buttonGroup/components/ButtonGroup.luau +117 -0
- package/out/ui/packages/buttonGroup/components/ButtonGroup.styles.d.ts +5 -0
- package/out/ui/packages/buttonGroup/components/ButtonGroup.styles.luau +57 -0
- package/out/ui/packages/buttonGroup/components/buttonGroupEdge.d.ts +2 -0
- package/out/ui/packages/buttonGroup/components/buttonGroupEdge.luau +16 -0
- package/out/ui/packages/buttonGroup/index.d.ts +3 -0
- package/out/ui/packages/buttonGroup/init.luau +6 -0
- package/out/ui/packages/card/components/Card.d.ts +1 -0
- package/out/ui/packages/card/components/Card.luau +21 -2
- package/out/ui/packages/card/components/Card.styles.d.ts +3 -1
- package/out/ui/packages/card/components/Card.styles.luau +20 -9
- package/out/ui/packages/card/components/cardWidth.d.ts +10 -0
- package/out/ui/packages/card/components/cardWidth.luau +36 -0
- package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +18 -5
- package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.luau +50 -32
- package/out/ui/packages/cframeEditor/components/cframeValue.d.ts +1 -0
- package/out/ui/packages/cframeEditor/components/cframeValue.luau +13 -0
- package/out/ui/packages/checkbox/components/Checkbox.luau +7 -5
- package/out/ui/packages/checkbox/components/Checkbox.styles.luau +2 -0
- package/out/ui/packages/checkbox/components/checkboxLook.d.ts +2 -2
- package/out/ui/packages/checkbox/components/checkboxLook.luau +2 -2
- package/out/ui/packages/chip/components/Chip.luau +16 -14
- package/out/ui/packages/chip/components/Chip.styles.d.ts +2 -1
- package/out/ui/packages/chip/components/Chip.styles.luau +15 -9
- package/out/ui/packages/chip/components/chipTone.d.ts +3 -0
- package/out/ui/packages/chip/components/chipTone.luau +11 -0
- package/out/ui/packages/circularProgress/components/CircularProgress.luau +10 -3
- package/out/ui/packages/codeEditor/components/CodeEditor.d.ts +12 -0
- package/out/ui/packages/codeEditor/components/CodeEditor.luau +262 -0
- package/out/ui/packages/codeEditor/components/CodeEditor.styles.d.ts +6 -0
- package/out/ui/packages/codeEditor/components/CodeEditor.styles.luau +124 -0
- package/out/ui/packages/codeEditor/highlightCode.d.ts +11 -0
- package/out/ui/packages/codeEditor/highlightCode.luau +503 -0
- package/out/ui/packages/codeEditor/index.d.ts +2 -0
- package/out/ui/packages/codeEditor/init.luau +5 -0
- package/out/ui/packages/collapse/components/Collapse.d.ts +8 -0
- package/out/ui/packages/collapse/components/Collapse.luau +34 -0
- package/out/ui/packages/collapse/components/Collapse.styles.d.ts +2 -0
- package/out/ui/packages/collapse/components/Collapse.styles.luau +20 -0
- package/out/ui/packages/collapse/components/collapseOpen.d.ts +1 -0
- package/out/ui/packages/collapse/components/collapseOpen.luau +7 -0
- package/out/ui/packages/collapse/index.d.ts +3 -0
- package/out/ui/packages/collapse/init.luau +6 -0
- package/out/ui/packages/colorPicker/components/ColorPicker.luau +9 -1
- package/out/ui/packages/colorPicker/components/ColorPicker.styles.luau +74 -67
- package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +16 -6
- package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +16 -6
- package/out/ui/packages/colorPicker/components/sequenceValue.d.ts +2 -0
- package/out/ui/packages/colorPicker/components/sequenceValue.luau +8 -0
- package/out/ui/packages/colorPicker/index.d.ts +1 -1
- package/out/ui/packages/colorPicker/init.luau +2 -0
- package/out/ui/packages/copyButton/components/CopyButton.d.ts +8 -0
- package/out/ui/packages/copyButton/components/CopyButton.luau +32 -0
- package/out/ui/packages/copyButton/components/copyInvoke.d.ts +2 -0
- package/out/ui/packages/copyButton/components/copyInvoke.luau +12 -0
- package/out/ui/packages/copyButton/index.d.ts +3 -0
- package/out/ui/packages/copyButton/init.luau +6 -0
- package/out/ui/packages/cover/components/Cover.d.ts +8 -0
- package/out/ui/packages/cover/components/Cover.luau +47 -0
- package/out/ui/packages/cover/components/coverFill.d.ts +2 -0
- package/out/ui/packages/cover/components/coverFill.luau +14 -0
- package/out/ui/packages/cover/index.d.ts +3 -0
- package/out/ui/packages/cover/init.luau +6 -0
- package/out/ui/packages/dateRange/components/DateRangePicker.d.ts +3 -0
- package/out/ui/packages/dateRange/components/DateRangePicker.luau +186 -95
- package/out/ui/packages/dateRange/dateRangeValue.d.ts +5 -0
- package/out/ui/packages/dateRange/dateRangeValue.luau +34 -0
- package/out/ui/packages/dateRange/index.d.ts +1 -1
- package/out/ui/packages/dateRange/init.luau +3 -0
- package/out/ui/packages/dialog/components/Dialog.d.ts +1 -0
- package/out/ui/packages/dialog/components/Dialog.luau +55 -6
- package/out/ui/packages/dialog/components/Dialog.styles.luau +9 -5
- package/out/ui/packages/dialog/components/dialogWidth.d.ts +7 -0
- package/out/ui/packages/dialog/components/dialogWidth.luau +35 -0
- package/out/ui/packages/divider/components/Divider.luau +60 -13
- package/out/ui/packages/divider/components/Divider.styles.luau +1 -0
- package/out/ui/packages/divider/components/dividerLabel.d.ts +2 -0
- package/out/ui/packages/divider/components/dividerLabel.luau +11 -0
- package/out/ui/packages/drawer/components/Drawer.d.ts +2 -0
- package/out/ui/packages/drawer/components/Drawer.luau +51 -7
- package/out/ui/packages/drawer/components/Drawer.styles.luau +13 -5
- package/out/ui/packages/drawer/components/drawerPlacement.d.ts +15 -1
- package/out/ui/packages/drawer/components/drawerPlacement.luau +46 -0
- package/out/ui/packages/editorFace.d.ts +22 -0
- package/out/ui/packages/editorFace.luau +49 -0
- package/out/ui/packages/fab/components/Fab.luau +19 -6
- package/out/ui/packages/fab/components/Fab.styles.luau +4 -3
- package/out/ui/packages/fontEditor/components/FontEditor.luau +13 -3
- package/out/ui/packages/fontEditor/components/FontEditor.styles.luau +36 -27
- package/out/ui/packages/gradientEditor/components/GradientEditor.luau +21 -13
- package/out/ui/packages/gradientEditor/components/GradientEditor.styles.luau +52 -44
- package/out/ui/packages/icon/components/DrawnGlyph.d.ts +11 -0
- package/out/ui/packages/icon/components/DrawnGlyph.luau +87 -0
- package/out/ui/packages/icon/components/Icon.d.ts +6 -2
- package/out/ui/packages/icon/components/Icon.luau +23 -3
- package/out/ui/packages/icon/components/Icon.styles.luau +3 -0
- package/out/ui/packages/icon/components/glyphs.d.ts +28 -0
- package/out/ui/packages/icon/components/glyphs.luau +64 -0
- package/out/ui/packages/icon/index.d.ts +1 -0
- package/out/ui/packages/iconButton/components/IconButton.d.ts +6 -1
- package/out/ui/packages/iconButton/components/IconButton.luau +112 -11
- package/out/ui/packages/iconButton/components/IconButton.styles.luau +4 -27
- package/out/ui/packages/iconButton/components/iconButtonBox.d.ts +11 -0
- package/out/ui/packages/iconButton/components/iconButtonBox.luau +48 -0
- package/out/ui/packages/iconButton/components/transportGlyph.d.ts +10 -0
- package/out/ui/packages/iconButton/components/transportGlyph.luau +77 -0
- package/out/ui/packages/imageList/components/ImageList.d.ts +4 -0
- package/out/ui/packages/imageList/components/ImageList.luau +28 -7
- package/out/ui/packages/imageList/components/ImageList.styles.d.ts +1 -0
- package/out/ui/packages/imageList/components/ImageList.styles.luau +17 -10
- package/out/ui/packages/imageList/components/imageListLayout.d.ts +8 -0
- package/out/ui/packages/imageList/components/imageListLayout.luau +36 -0
- package/out/ui/packages/index.d.ts +12 -0
- package/out/ui/packages/init.luau +36 -0
- package/out/ui/packages/input/components/Input.d.ts +4 -0
- package/out/ui/packages/input/components/Input.luau +74 -37
- package/out/ui/packages/input/components/Input.styles.d.ts +1 -0
- package/out/ui/packages/input/components/Input.styles.luau +45 -18
- package/out/ui/packages/input/components/clampText.d.ts +2 -0
- package/out/ui/packages/input/components/clampText.luau +16 -0
- package/out/ui/packages/input/components/fieldChrome.d.ts +5 -0
- package/out/ui/packages/input/components/fieldChrome.luau +11 -0
- package/out/ui/packages/input/components/multilineHeight.d.ts +1 -0
- package/out/ui/packages/input/components/multilineHeight.luau +11 -0
- package/out/ui/packages/layout/components/Box.luau +92 -13
- package/out/ui/packages/layout/components/Box.styles.d.ts +0 -2
- package/out/ui/packages/layout/components/Box.styles.luau +0 -9
- package/out/ui/packages/layout/components/Grid.luau +81 -16
- package/out/ui/packages/layout/components/Pad.d.ts +24 -0
- package/out/ui/packages/layout/components/Pad.luau +88 -0
- package/out/ui/packages/layout/components/Stack.luau +79 -13
- package/out/ui/packages/link/components/Link.luau +17 -7
- package/out/ui/packages/link/components/Link.styles.d.ts +0 -1
- package/out/ui/packages/link/components/Link.styles.luau +3 -5
- package/out/ui/packages/listItem/components/ListItem.d.ts +6 -0
- package/out/ui/packages/listItem/components/ListItem.luau +155 -40
- package/out/ui/packages/listItem/components/ListItem.styles.d.ts +4 -0
- package/out/ui/packages/listItem/components/ListItem.styles.luau +70 -31
- package/out/ui/packages/listItem/components/listItemInk.d.ts +3 -0
- package/out/ui/packages/listItem/components/listItemInk.luau +14 -0
- package/out/ui/packages/listItem/components/listItemLayout.d.ts +22 -0
- package/out/ui/packages/listItem/components/listItemLayout.luau +68 -0
- package/out/ui/packages/markdown/components/Markdown.d.ts +2 -0
- package/out/ui/packages/markdown/components/Markdown.luau +244 -46
- package/out/ui/packages/markdown/components/Markdown.styles.luau +125 -51
- package/out/ui/packages/markdown/components/MarkdownEditor.luau +215 -146
- package/out/ui/packages/markdown/components/MarkdownEditor.styles.d.ts +1 -0
- package/out/ui/packages/markdown/components/MarkdownEditor.styles.luau +153 -83
- package/out/ui/packages/markdown/index.d.ts +2 -2
- package/out/ui/packages/markdown/init.luau +2 -0
- package/out/ui/packages/markdown/parseMarkdown.d.ts +30 -2
- package/out/ui/packages/markdown/parseMarkdown.luau +453 -25
- package/out/ui/packages/menu/components/Menu.d.ts +4 -1
- package/out/ui/packages/menu/components/Menu.luau +76 -28
- package/out/ui/packages/menu/components/Menu.styles.luau +6 -1
- package/out/ui/packages/menu/components/menuIcon.d.ts +6 -0
- package/out/ui/packages/menu/components/menuIcon.luau +32 -0
- package/out/ui/packages/numberInput/components/NumberInput.d.ts +1 -0
- package/out/ui/packages/numberInput/components/NumberInput.luau +82 -1
- package/out/ui/packages/numberInput/components/numberValue.d.ts +2 -0
- package/out/ui/packages/numberInput/components/numberValue.luau +10 -0
- package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.luau +9 -1
- package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.styles.luau +23 -16
- package/out/ui/packages/pager/components/Pager.d.ts +11 -0
- package/out/ui/packages/pager/components/Pager.luau +114 -0
- package/out/ui/packages/pager/components/Pager.styles.d.ts +2 -0
- package/out/ui/packages/pager/components/Pager.styles.luau +66 -0
- package/out/ui/packages/pager/components/pagerStep.d.ts +3 -0
- package/out/ui/packages/pager/components/pagerStep.luau +24 -0
- package/out/ui/packages/pager/index.d.ts +3 -0
- package/out/ui/packages/pager/init.luau +9 -0
- package/out/ui/packages/pagination/components/Pagination.styles.luau +4 -1
- package/out/ui/packages/paper/components/Paper.luau +17 -11
- package/out/ui/packages/paper/components/Paper.styles.luau +12 -5
- package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +14 -1
- package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.styles.luau +24 -19
- package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.d.ts +5 -0
- package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.luau +22 -0
- package/out/ui/packages/popover/components/Popover.d.ts +12 -0
- package/out/ui/packages/popover/components/Popover.luau +52 -0
- package/out/ui/packages/popover/components/Popover.styles.d.ts +2 -0
- package/out/ui/packages/popover/components/Popover.styles.luau +32 -0
- package/out/ui/packages/popover/index.d.ts +2 -0
- package/out/ui/packages/popover/init.luau +5 -0
- package/out/ui/packages/popup/components/Popup.d.ts +2 -0
- package/out/ui/packages/popup/components/Popup.luau +64 -2
- package/out/ui/packages/popup/components/placement.luau +6 -4
- package/out/ui/packages/progressBar/components/ProgressBar.luau +1 -1
- package/out/ui/packages/progressBar/components/ProgressBar.styles.luau +3 -2
- package/out/ui/packages/radioGroup/components/RadioGroup.d.ts +4 -1
- package/out/ui/packages/radioGroup/components/RadioGroup.luau +53 -9
- package/out/ui/packages/radioGroup/components/RadioGroup.styles.luau +26 -2
- package/out/ui/packages/radioGroup/components/radioHint.d.ts +2 -0
- package/out/ui/packages/radioGroup/components/radioHint.luau +11 -0
- package/out/ui/packages/radioGroup/index.d.ts +1 -1
- package/out/ui/packages/rating/components/Rating.d.ts +1 -1
- package/out/ui/packages/rating/components/Rating.luau +48 -4
- package/out/ui/packages/rating/components/Rating.styles.luau +1 -1
- package/out/ui/packages/rating/components/ratingCommit.d.ts +2 -0
- package/out/ui/packages/rating/components/ratingCommit.luau +11 -0
- package/out/ui/packages/rayEditor/components/RayEditor.luau +9 -1
- package/out/ui/packages/rayEditor/components/RayEditor.styles.luau +17 -11
- package/out/ui/packages/rectEditor/components/RectEditor.luau +9 -1
- package/out/ui/packages/rectEditor/components/RectEditor.styles.luau +49 -42
- package/out/ui/packages/scroll/components/ScrollView.luau +76 -7
- package/out/ui/packages/select/components/Select.d.ts +2 -0
- package/out/ui/packages/select/components/Select.luau +164 -105
- package/out/ui/packages/select/components/Select.styles.d.ts +2 -0
- package/out/ui/packages/select/components/Select.styles.luau +30 -9
- package/out/ui/packages/select/components/selectWidth.d.ts +2 -0
- package/out/ui/packages/select/components/selectWidth.luau +15 -0
- package/out/ui/packages/shadow/components/Shadow.luau +202 -21
- package/out/ui/packages/sidebar/components/Sidebar.styles.luau +1 -0
- package/out/ui/packages/skeleton/components/Skeleton.luau +4 -0
- package/out/ui/packages/slider/components/RangeSlider.d.ts +16 -0
- package/out/ui/packages/slider/components/RangeSlider.luau +232 -0
- package/out/ui/packages/slider/components/RangeSlider.styles.d.ts +7 -0
- package/out/ui/packages/slider/components/RangeSlider.styles.luau +48 -0
- package/out/ui/packages/slider/components/Slider.d.ts +1 -0
- package/out/ui/packages/slider/components/Slider.luau +53 -25
- package/out/ui/packages/slider/components/Slider.styles.d.ts +1 -0
- package/out/ui/packages/slider/components/Slider.styles.luau +19 -5
- package/out/ui/packages/slider/components/rangeValue.d.ts +21 -0
- package/out/ui/packages/slider/components/rangeValue.luau +77 -0
- package/out/ui/packages/slider/components/sliderLabel.d.ts +4 -0
- package/out/ui/packages/slider/components/sliderLabel.luau +30 -0
- package/out/ui/packages/slider/index.d.ts +3 -0
- package/out/ui/packages/slider/init.luau +6 -0
- package/out/ui/packages/snackbar/components/Snackbar.d.ts +1 -0
- package/out/ui/packages/snackbar/components/Snackbar.luau +2 -0
- package/out/ui/packages/sparkline/components/Sparkline.d.ts +3 -0
- package/out/ui/packages/sparkline/components/Sparkline.luau +72 -8
- package/out/ui/packages/sparkline/index.d.ts +1 -1
- package/out/ui/packages/sparkline/init.luau +6 -1
- package/out/ui/packages/sparkline/sparklineLayout.d.ts +17 -0
- package/out/ui/packages/sparkline/sparklineLayout.luau +132 -8
- package/out/ui/packages/speedDial/components/SpeedDial.d.ts +1 -0
- package/out/ui/packages/speedDial/components/SpeedDial.luau +59 -9
- package/out/ui/packages/speedDial/components/SpeedDial.styles.d.ts +1 -0
- package/out/ui/packages/speedDial/components/SpeedDial.styles.luau +50 -3
- package/out/ui/packages/speedDial/components/speedDialLabel.d.ts +4 -0
- package/out/ui/packages/speedDial/components/speedDialLabel.luau +16 -0
- package/out/ui/packages/splitPane/components/splitLook.d.ts +1 -1
- package/out/ui/packages/stateMatrix.d.ts +1 -0
- package/out/ui/packages/stateMatrix.luau +9 -0
- package/out/ui/packages/stepper/components/Stepper.d.ts +2 -0
- package/out/ui/packages/stepper/components/Stepper.luau +35 -7
- package/out/ui/packages/stepper/components/Stepper.styles.luau +12 -6
- package/out/ui/packages/stepper/components/stepState.d.ts +4 -2
- package/out/ui/packages/stepper/components/stepState.luau +12 -1
- package/out/ui/packages/stepper/index.d.ts +1 -1
- package/out/ui/packages/stepper/init.luau +3 -1
- package/out/ui/packages/switch/components/Switch.luau +2 -2
- package/out/ui/packages/switch/components/Switch.styles.luau +2 -5
- package/out/ui/packages/switch/components/switchLook.d.ts +3 -3
- package/out/ui/packages/switch/components/switchLook.luau +4 -10
- package/out/ui/packages/table/components/Table.d.ts +1 -0
- package/out/ui/packages/table/components/Table.luau +99 -57
- package/out/ui/packages/table/components/Table.styles.luau +23 -6
- package/out/ui/packages/table/components/tableColumns.d.ts +2 -0
- package/out/ui/packages/table/components/tableColumns.luau +2 -0
- package/out/ui/packages/table/components/tableSort.d.ts +2 -0
- package/out/ui/packages/table/components/tableSort.luau +95 -0
- package/out/ui/packages/table/index.d.ts +1 -0
- package/out/ui/packages/table/init.luau +1 -0
- package/out/ui/packages/tabs/components/Tabs.luau +77 -6
- package/out/ui/packages/tabs/components/Tabs.styles.luau +12 -11
- package/out/ui/packages/tabs/components/tabIndicator.d.ts +7 -0
- package/out/ui/packages/tabs/components/tabIndicator.luau +21 -0
- package/out/ui/packages/tabs/components/tabScroll.d.ts +2 -0
- package/out/ui/packages/tabs/components/tabScroll.luau +18 -0
- package/out/ui/packages/text/components/Text.d.ts +9 -0
- package/out/ui/packages/text/components/Text.luau +64 -0
- package/out/ui/packages/text/components/textBox.d.ts +12 -0
- package/out/ui/packages/text/components/textBox.luau +21 -0
- package/out/ui/packages/text/index.d.ts +2 -0
- package/out/ui/packages/text/init.luau +5 -0
- package/out/ui/packages/timeField/components/TimeField.d.ts +13 -0
- package/out/ui/packages/timeField/components/TimeField.luau +106 -0
- package/out/ui/packages/timeField/index.d.ts +4 -0
- package/out/ui/packages/timeField/init.luau +9 -0
- package/out/ui/packages/timeField/timeValue.d.ts +8 -0
- package/out/ui/packages/timeField/timeValue.luau +49 -0
- package/out/ui/packages/timeline/components/Timeline.d.ts +12 -0
- package/out/ui/packages/timeline/components/Timeline.luau +102 -0
- package/out/ui/packages/timeline/components/Timeline.styles.d.ts +2 -0
- package/out/ui/packages/timeline/components/Timeline.styles.luau +115 -0
- package/out/ui/packages/timeline/components/timelineRail.d.ts +4 -0
- package/out/ui/packages/timeline/components/timelineRail.luau +15 -0
- package/out/ui/packages/timeline/index.d.ts +3 -0
- package/out/ui/packages/timeline/init.luau +8 -0
- package/out/ui/packages/toast/components/Toast.d.ts +1 -0
- package/out/ui/packages/toast/components/Toast.luau +200 -57
- package/out/ui/packages/toast/components/Toast.styles.luau +40 -20
- package/out/ui/packages/toast/components/toastPlace.d.ts +16 -0
- package/out/ui/packages/toast/components/toastPlace.luau +44 -0
- package/out/ui/packages/toast/enums/ToastVariants.d.ts +2 -1
- package/out/ui/packages/toast/enums/ToastVariants.luau +1 -0
- package/out/ui/packages/toggleButton/components/ToggleButton.luau +43 -4
- package/out/ui/packages/toggleButton/components/ToggleButton.styles.luau +1 -1
- package/out/ui/packages/tooltip/components/Tooltip.d.ts +1 -0
- package/out/ui/packages/tooltip/components/Tooltip.luau +109 -31
- package/out/ui/packages/tooltip/components/Tooltip.styles.luau +31 -1
- package/out/ui/packages/tooltip/components/tooltipBox.d.ts +4 -0
- package/out/ui/packages/tooltip/components/tooltipBox.luau +12 -0
- package/out/ui/packages/tooltip/components/tooltipPointer.d.ts +2 -0
- package/out/ui/packages/tooltip/components/tooltipPointer.luau +11 -0
- package/out/ui/packages/treeView/components/TreeView.luau +12 -13
- package/out/ui/packages/treeView/components/TreeView.styles.luau +6 -0
- package/out/ui/packages/typography/components/Typography.d.ts +2 -0
- package/out/ui/packages/typography/components/Typography.luau +8 -0
- package/out/ui/packages/typography/components/Typography.styles.luau +3 -1
- package/out/ui/packages/udimEditor/components/UDimEditor.luau +9 -1
- package/out/ui/packages/udimEditor/components/UDimEditor.styles.luau +25 -18
- package/out/ui/packages/vectorEditor/components/VectorEditor.luau +18 -3
- package/out/ui/packages/vectorEditor/components/VectorEditor.styles.luau +30 -16
- package/out/ui/packages/virtualList/components/VirtualList.styles.luau +1 -0
- package/out/ui/packages/weekGrid/components/WeekGrid.d.ts +24 -0
- package/out/ui/packages/weekGrid/components/WeekGrid.luau +187 -0
- package/out/ui/packages/weekGrid/components/weekColumns.d.ts +9 -0
- package/out/ui/packages/weekGrid/components/weekColumns.luau +25 -0
- package/out/ui/packages/weekGrid/index.d.ts +3 -0
- package/out/ui/packages/weekGrid/init.luau +8 -0
- package/package.json +2 -2
|
@@ -46,6 +46,71 @@ local function trim(value)
|
|
|
46
46
|
local _stop = stop
|
|
47
47
|
return string.sub(_value, _start, _stop)
|
|
48
48
|
end
|
|
49
|
+
local function stripCr(raw)
|
|
50
|
+
local _condition = #raw > 0
|
|
51
|
+
if _condition then
|
|
52
|
+
local _raw = raw
|
|
53
|
+
local _arg0 = #raw
|
|
54
|
+
local _arg1 = #raw
|
|
55
|
+
_condition = string.sub(_raw, _arg0, _arg1) == "\r"
|
|
56
|
+
end
|
|
57
|
+
if _condition then
|
|
58
|
+
local _raw = raw
|
|
59
|
+
local _arg1 = #raw - 1
|
|
60
|
+
return string.sub(_raw, 1, _arg1)
|
|
61
|
+
end
|
|
62
|
+
return raw
|
|
63
|
+
end
|
|
64
|
+
--* Two trailing spaces end a paragraph line. A trailing backslash is not a break.
|
|
65
|
+
local function endsWithHardBreak(raw)
|
|
66
|
+
local line = stripCr(raw)
|
|
67
|
+
local _condition = #line >= 2
|
|
68
|
+
if _condition then
|
|
69
|
+
local _arg0 = #line - 1
|
|
70
|
+
local _arg1 = #line
|
|
71
|
+
_condition = string.sub(line, _arg0, _arg1) == " "
|
|
72
|
+
end
|
|
73
|
+
return _condition
|
|
74
|
+
end
|
|
75
|
+
local function withoutHardBreak(raw)
|
|
76
|
+
local line = stripCr(raw)
|
|
77
|
+
if not endsWithHardBreak(line) then
|
|
78
|
+
return trimEnd(line)
|
|
79
|
+
end
|
|
80
|
+
local _arg1 = #line - 2
|
|
81
|
+
return trimEnd(string.sub(line, 1, _arg1))
|
|
82
|
+
end
|
|
83
|
+
--* Adjacent lines join with a space. A hard break on the previous line inserts a newline.
|
|
84
|
+
local function foldLines(rawLines)
|
|
85
|
+
local acc = ""
|
|
86
|
+
local breakNext = false
|
|
87
|
+
for index = 0, #rawLines - 1 do
|
|
88
|
+
local text = withoutHardBreak(rawLines[index + 1])
|
|
89
|
+
if index == 0 then
|
|
90
|
+
acc = text
|
|
91
|
+
elseif breakNext then
|
|
92
|
+
acc = `{acc}\n{text}`
|
|
93
|
+
else
|
|
94
|
+
acc = if #acc == 0 then text else `{acc} {text}`
|
|
95
|
+
end
|
|
96
|
+
breakNext = endsWithHardBreak(rawLines[index + 1])
|
|
97
|
+
end
|
|
98
|
+
return acc
|
|
99
|
+
end
|
|
100
|
+
--* `>` or `> ` starts a quote line. `>>` does not, so it stays ordinary text.
|
|
101
|
+
local function quoteBody(raw)
|
|
102
|
+
local line = stripCr(raw)
|
|
103
|
+
if #line == 0 or string.sub(line, 1, 1) ~= ">" then
|
|
104
|
+
return nil
|
|
105
|
+
end
|
|
106
|
+
if #line == 1 then
|
|
107
|
+
return ""
|
|
108
|
+
end
|
|
109
|
+
if string.sub(line, 2, 2) ~= " " then
|
|
110
|
+
return nil
|
|
111
|
+
end
|
|
112
|
+
return string.sub(line, 3)
|
|
113
|
+
end
|
|
49
114
|
local function headingLevel(line)
|
|
50
115
|
local n = 0
|
|
51
116
|
while true do
|
|
@@ -240,6 +305,138 @@ local function isHr(line)
|
|
|
240
305
|
end
|
|
241
306
|
return true
|
|
242
307
|
end
|
|
308
|
+
--* Split a pipe row. Leading and trailing pipes are optional. `\|` is a literal pipe.
|
|
309
|
+
local function splitCells(line)
|
|
310
|
+
local t = trim(line)
|
|
311
|
+
if (string.find(t, "|", 1, true)) == nil then
|
|
312
|
+
return nil
|
|
313
|
+
end
|
|
314
|
+
local body = t
|
|
315
|
+
if string.sub(body, 1, 1) == "|" then
|
|
316
|
+
body = string.sub(body, 2)
|
|
317
|
+
end
|
|
318
|
+
local _condition = #body > 0
|
|
319
|
+
if _condition then
|
|
320
|
+
local _body = body
|
|
321
|
+
local _arg0 = #body
|
|
322
|
+
local _arg1 = #body
|
|
323
|
+
_condition = string.sub(_body, _arg0, _arg1) == "|"
|
|
324
|
+
end
|
|
325
|
+
if _condition then
|
|
326
|
+
local _body = body
|
|
327
|
+
local _arg1 = #body - 1
|
|
328
|
+
body = string.sub(_body, 1, _arg1)
|
|
329
|
+
end
|
|
330
|
+
local cells = {}
|
|
331
|
+
local buf = ""
|
|
332
|
+
local i = 1
|
|
333
|
+
while i <= #body do
|
|
334
|
+
local _body = body
|
|
335
|
+
local _i = i
|
|
336
|
+
local _i_1 = i
|
|
337
|
+
local ch = string.sub(_body, _i, _i_1)
|
|
338
|
+
local _condition_1 = ch == "\\" and i < #body
|
|
339
|
+
if _condition_1 then
|
|
340
|
+
local _body_1 = body
|
|
341
|
+
local _arg0 = i + 1
|
|
342
|
+
local _arg1 = i + 1
|
|
343
|
+
_condition_1 = string.sub(_body_1, _arg0, _arg1) == "|"
|
|
344
|
+
end
|
|
345
|
+
if _condition_1 then
|
|
346
|
+
buf = `{buf}|`
|
|
347
|
+
i += 2
|
|
348
|
+
continue
|
|
349
|
+
end
|
|
350
|
+
if ch == "|" then
|
|
351
|
+
local _arg0 = trim(buf)
|
|
352
|
+
table.insert(cells, _arg0)
|
|
353
|
+
buf = ""
|
|
354
|
+
i += 1
|
|
355
|
+
continue
|
|
356
|
+
end
|
|
357
|
+
buf = `{buf}{ch}`
|
|
358
|
+
i += 1
|
|
359
|
+
end
|
|
360
|
+
local _arg0 = trim(buf)
|
|
361
|
+
table.insert(cells, _arg0)
|
|
362
|
+
return cells
|
|
363
|
+
end
|
|
364
|
+
local function cellAlign(cell)
|
|
365
|
+
local t = trim(cell)
|
|
366
|
+
local i = 1
|
|
367
|
+
local left = false
|
|
368
|
+
local right = false
|
|
369
|
+
if string.sub(t, 1, 1) == ":" then
|
|
370
|
+
left = true
|
|
371
|
+
i = 2
|
|
372
|
+
end
|
|
373
|
+
local dashes = 0
|
|
374
|
+
while true do
|
|
375
|
+
local _condition = i <= #t
|
|
376
|
+
if _condition then
|
|
377
|
+
local _i = i
|
|
378
|
+
local _i_1 = i
|
|
379
|
+
_condition = string.sub(t, _i, _i_1) == "-"
|
|
380
|
+
end
|
|
381
|
+
if not _condition then
|
|
382
|
+
break
|
|
383
|
+
end
|
|
384
|
+
dashes += 1
|
|
385
|
+
i += 1
|
|
386
|
+
end
|
|
387
|
+
local _condition = i <= #t
|
|
388
|
+
if _condition then
|
|
389
|
+
local _i = i
|
|
390
|
+
local _i_1 = i
|
|
391
|
+
_condition = string.sub(t, _i, _i_1) == ":"
|
|
392
|
+
end
|
|
393
|
+
if _condition then
|
|
394
|
+
right = true
|
|
395
|
+
i += 1
|
|
396
|
+
end
|
|
397
|
+
if i <= #t or dashes < 3 then
|
|
398
|
+
return nil
|
|
399
|
+
end
|
|
400
|
+
if left and right then
|
|
401
|
+
return "center"
|
|
402
|
+
end
|
|
403
|
+
if right then
|
|
404
|
+
return "right"
|
|
405
|
+
end
|
|
406
|
+
return "left"
|
|
407
|
+
end
|
|
408
|
+
local function delimiterAlign(cells)
|
|
409
|
+
if #cells == 0 then
|
|
410
|
+
return nil
|
|
411
|
+
end
|
|
412
|
+
local align = {}
|
|
413
|
+
for _, cell in cells do
|
|
414
|
+
local aligned = cellAlign(cell)
|
|
415
|
+
if aligned == nil then
|
|
416
|
+
return nil
|
|
417
|
+
end
|
|
418
|
+
table.insert(align, aligned)
|
|
419
|
+
end
|
|
420
|
+
return align
|
|
421
|
+
end
|
|
422
|
+
local function tableAt(lines, index)
|
|
423
|
+
if index + 1 >= #lines then
|
|
424
|
+
return nil
|
|
425
|
+
end
|
|
426
|
+
local header = splitCells(trimEnd(lines[index + 1]))
|
|
427
|
+
local delim = splitCells(trimEnd(lines[index + 2]))
|
|
428
|
+
if header == nil or delim == nil then
|
|
429
|
+
return nil
|
|
430
|
+
end
|
|
431
|
+
local align = delimiterAlign(delim)
|
|
432
|
+
if align == nil or #align ~= #header then
|
|
433
|
+
return nil
|
|
434
|
+
end
|
|
435
|
+
return {
|
|
436
|
+
align = align,
|
|
437
|
+
header = header,
|
|
438
|
+
}
|
|
439
|
+
end
|
|
243
440
|
local function listMarker(line)
|
|
244
441
|
local t = trim(line)
|
|
245
442
|
if #t >= 2 and (string.sub(t, 1, 2) == "- " or string.sub(t, 1, 2) == "* ") then
|
|
@@ -275,6 +472,24 @@ local function listMarker(line)
|
|
|
275
472
|
end
|
|
276
473
|
return nil
|
|
277
474
|
end
|
|
475
|
+
local function codeLanguage(info)
|
|
476
|
+
local _condition = string.split(trim(info), " ")[1]
|
|
477
|
+
if _condition == nil then
|
|
478
|
+
_condition = ""
|
|
479
|
+
end
|
|
480
|
+
local token = _condition
|
|
481
|
+
local name = string.lower(token)
|
|
482
|
+
if name == "luau" then
|
|
483
|
+
return "luau"
|
|
484
|
+
end
|
|
485
|
+
if name == "ts" then
|
|
486
|
+
return "ts"
|
|
487
|
+
end
|
|
488
|
+
if name == "json" then
|
|
489
|
+
return "json"
|
|
490
|
+
end
|
|
491
|
+
return "text"
|
|
492
|
+
end
|
|
278
493
|
--* Small markdown subset → blocks. Unsupported syntax stays plain text.
|
|
279
494
|
local function parseMarkdown(source)
|
|
280
495
|
local lines = string.split(source, "\n")
|
|
@@ -288,6 +503,7 @@ local function parseMarkdown(source)
|
|
|
288
503
|
continue
|
|
289
504
|
end
|
|
290
505
|
if #line >= 3 and string.sub(line, 1, 3) == "```" then
|
|
506
|
+
local language = codeLanguage(string.sub(line, 4))
|
|
291
507
|
local body = {}
|
|
292
508
|
i += 1
|
|
293
509
|
while i < #lines and not (#lines[i + 1] >= 3 and string.sub(trim(lines[i + 1]), 1, 3) == "```") do
|
|
@@ -301,6 +517,7 @@ local function parseMarkdown(source)
|
|
|
301
517
|
local _arg0 = {
|
|
302
518
|
kind = "code",
|
|
303
519
|
text = table.concat(body, "\n"),
|
|
520
|
+
language = language,
|
|
304
521
|
}
|
|
305
522
|
table.insert(blocks, _arg0)
|
|
306
523
|
continue
|
|
@@ -325,20 +542,113 @@ local function parseMarkdown(source)
|
|
|
325
542
|
i += 1
|
|
326
543
|
continue
|
|
327
544
|
end
|
|
328
|
-
if
|
|
329
|
-
local
|
|
545
|
+
if quoteBody(lines[i + 1]) ~= nil then
|
|
546
|
+
local groups = {}
|
|
547
|
+
local current = {}
|
|
548
|
+
while i < #lines do
|
|
549
|
+
local body = quoteBody(lines[i + 1])
|
|
550
|
+
if body == nil then
|
|
551
|
+
if trim(lines[i + 1]) ~= "" then
|
|
552
|
+
break
|
|
553
|
+
end
|
|
554
|
+
local ahead = i + 1
|
|
555
|
+
while ahead < #lines and trim(lines[ahead + 1]) == "" do
|
|
556
|
+
ahead += 1
|
|
557
|
+
end
|
|
558
|
+
if ahead >= #lines or quoteBody(lines[ahead + 1]) == nil then
|
|
559
|
+
break
|
|
560
|
+
end
|
|
561
|
+
body = ""
|
|
562
|
+
i = ahead
|
|
563
|
+
else
|
|
564
|
+
i += 1
|
|
565
|
+
end
|
|
566
|
+
if trim(body) == "" then
|
|
567
|
+
if #current > 0 then
|
|
568
|
+
local _current = current
|
|
569
|
+
table.insert(groups, _current)
|
|
570
|
+
end
|
|
571
|
+
current = {}
|
|
572
|
+
else
|
|
573
|
+
local _current = current
|
|
574
|
+
local _body = body
|
|
575
|
+
table.insert(_current, _body)
|
|
576
|
+
end
|
|
577
|
+
end
|
|
578
|
+
if #current > 0 then
|
|
579
|
+
local _current = current
|
|
580
|
+
table.insert(groups, _current)
|
|
581
|
+
end
|
|
582
|
+
if #groups == 0 then
|
|
583
|
+
table.insert(groups, {})
|
|
584
|
+
end
|
|
585
|
+
local _object = {
|
|
586
|
+
kind = "blockquote",
|
|
587
|
+
}
|
|
588
|
+
local _left = "paragraphs"
|
|
589
|
+
-- ▼ ReadonlyArray.map ▼
|
|
590
|
+
local _newValue = table.create(#groups)
|
|
591
|
+
local _callback = function(group)
|
|
592
|
+
-- ▼ ReadonlyArray.map ▼
|
|
593
|
+
local _newValue_1 = table.create(#group)
|
|
594
|
+
local _callback_1 = function(line)
|
|
595
|
+
return withoutHardBreak(line)
|
|
596
|
+
end
|
|
597
|
+
for _k, _v in group do
|
|
598
|
+
_newValue_1[_k] = _callback_1(_v, _k - 1, group)
|
|
599
|
+
end
|
|
600
|
+
-- ▲ ReadonlyArray.map ▲
|
|
601
|
+
return parseInlines(table.concat(_newValue_1, "\n"))
|
|
602
|
+
end
|
|
603
|
+
for _k, _v in groups do
|
|
604
|
+
_newValue[_k] = _callback(_v, _k - 1, groups)
|
|
605
|
+
end
|
|
606
|
+
-- ▲ ReadonlyArray.map ▲
|
|
607
|
+
_object[_left] = _newValue
|
|
608
|
+
table.insert(blocks, _object)
|
|
609
|
+
continue
|
|
610
|
+
end
|
|
611
|
+
local parsed = tableAt(lines, i)
|
|
612
|
+
if parsed ~= nil then
|
|
613
|
+
local _exp = parsed.header
|
|
614
|
+
-- ▼ ReadonlyArray.map ▼
|
|
615
|
+
local _newValue = table.create(#_exp)
|
|
616
|
+
local _callback = function(cell)
|
|
617
|
+
return parseInlines(cell)
|
|
618
|
+
end
|
|
619
|
+
for _k, _v in _exp do
|
|
620
|
+
_newValue[_k] = _callback(_v, _k - 1, _exp)
|
|
621
|
+
end
|
|
622
|
+
-- ▲ ReadonlyArray.map ▲
|
|
623
|
+
local header = _newValue
|
|
624
|
+
local rows = {}
|
|
625
|
+
i += 2
|
|
330
626
|
while i < #lines do
|
|
331
627
|
local cur = trimEnd(lines[i + 1])
|
|
332
|
-
if
|
|
628
|
+
if trim(cur) == "" then
|
|
629
|
+
break
|
|
630
|
+
end
|
|
631
|
+
local row = splitCells(cur)
|
|
632
|
+
if row == nil then
|
|
333
633
|
break
|
|
334
634
|
end
|
|
335
|
-
local
|
|
336
|
-
|
|
635
|
+
local cells = {}
|
|
636
|
+
for col = 0, #parsed.align - 1 do
|
|
637
|
+
local _condition = row[col + 1]
|
|
638
|
+
if _condition == nil then
|
|
639
|
+
_condition = ""
|
|
640
|
+
end
|
|
641
|
+
local _arg0 = parseInlines(_condition)
|
|
642
|
+
table.insert(cells, _arg0)
|
|
643
|
+
end
|
|
644
|
+
table.insert(rows, cells)
|
|
337
645
|
i += 1
|
|
338
646
|
end
|
|
339
647
|
local _arg0 = {
|
|
340
|
-
kind = "
|
|
341
|
-
|
|
648
|
+
kind = "table",
|
|
649
|
+
align = parsed.align,
|
|
650
|
+
header = header,
|
|
651
|
+
rows = rows,
|
|
342
652
|
}
|
|
343
653
|
table.insert(blocks, _arg0)
|
|
344
654
|
continue
|
|
@@ -365,7 +675,7 @@ local function parseMarkdown(source)
|
|
|
365
675
|
table.insert(blocks, _arg0)
|
|
366
676
|
continue
|
|
367
677
|
end
|
|
368
|
-
local
|
|
678
|
+
local rawPara = { lines[i + 1] }
|
|
369
679
|
i += 1
|
|
370
680
|
while i < #lines do
|
|
371
681
|
local cur = trimEnd(lines[i + 1])
|
|
@@ -381,31 +691,22 @@ local function parseMarkdown(source)
|
|
|
381
691
|
if headingLevel(cur) ~= nil then
|
|
382
692
|
break
|
|
383
693
|
end
|
|
384
|
-
if
|
|
694
|
+
if quoteBody(lines[i + 1]) ~= nil then
|
|
385
695
|
break
|
|
386
696
|
end
|
|
387
697
|
if listMarker(cur) ~= nil then
|
|
388
698
|
break
|
|
389
699
|
end
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
local _condition = #prev >= 2
|
|
393
|
-
if _condition then
|
|
394
|
-
local _arg0 = #prev - 1
|
|
395
|
-
_condition = string.sub(prev, _arg0) == " "
|
|
396
|
-
end
|
|
397
|
-
if _condition then
|
|
398
|
-
local _arg1 = #prev - 2
|
|
399
|
-
para[#para] = trimEnd(string.sub(prev, 1, _arg1))
|
|
400
|
-
table.insert(para, cur)
|
|
401
|
-
else
|
|
402
|
-
para[#para] = `{prev} {cur}`
|
|
700
|
+
if tableAt(lines, i) ~= nil then
|
|
701
|
+
break
|
|
403
702
|
end
|
|
703
|
+
local _arg0 = lines[i + 1]
|
|
704
|
+
table.insert(rawPara, _arg0)
|
|
404
705
|
i += 1
|
|
405
706
|
end
|
|
406
707
|
local _arg0 = {
|
|
407
708
|
kind = "paragraph",
|
|
408
|
-
inlines = parseInlines(
|
|
709
|
+
inlines = parseInlines(foldLines(rawPara)),
|
|
409
710
|
}
|
|
410
711
|
table.insert(blocks, _arg0)
|
|
411
712
|
end
|
|
@@ -432,7 +733,7 @@ local function escapeRich(text)
|
|
|
432
733
|
end
|
|
433
734
|
return out
|
|
434
735
|
end
|
|
435
|
-
--* Turn inline nodes into Roblox RichText. Links
|
|
736
|
+
--* Turn inline nodes into Roblox RichText. Links stay the label only.
|
|
436
737
|
local function inlinesToRichText(inlines)
|
|
437
738
|
local out = ""
|
|
438
739
|
for _, part in inlines do
|
|
@@ -447,13 +748,140 @@ local function inlinesToRichText(inlines)
|
|
|
447
748
|
elseif part.kind == "code" then
|
|
448
749
|
out = `{out}<font face="RobotoMono">{escapeRich(part.text)}</font>`
|
|
449
750
|
elseif part.kind == "link" then
|
|
450
|
-
out = `{out}<
|
|
751
|
+
out = `{out}<u>{escapeRich(part.text)}</u>`
|
|
451
752
|
end
|
|
452
753
|
end
|
|
453
754
|
return out
|
|
454
755
|
end
|
|
756
|
+
--* Click payload for a link inline. Other inlines are not activatable.
|
|
757
|
+
local function markdownLinkPayload(inline)
|
|
758
|
+
if inline.kind ~= "link" or #inline.text == 0 then
|
|
759
|
+
return nil
|
|
760
|
+
end
|
|
761
|
+
return {
|
|
762
|
+
text = inline.text,
|
|
763
|
+
href = inline.href,
|
|
764
|
+
}
|
|
765
|
+
end
|
|
766
|
+
local function isPunctuation(word)
|
|
767
|
+
if #word == 0 then
|
|
768
|
+
return false
|
|
769
|
+
end
|
|
770
|
+
for i = 1, #word do
|
|
771
|
+
local _word = word
|
|
772
|
+
local _i = i
|
|
773
|
+
local _i_1 = i
|
|
774
|
+
local ch = string.sub(_word, _i, _i_1)
|
|
775
|
+
if ch ~= "," and ch ~= "." and ch ~= ";" and ch ~= ":" and ch ~= "!" and ch ~= "?" and ch ~= ")" and ch ~= "]" then
|
|
776
|
+
return false
|
|
777
|
+
end
|
|
778
|
+
end
|
|
779
|
+
return true
|
|
780
|
+
end
|
|
781
|
+
local function richWord(kind, word)
|
|
782
|
+
local safe = escapeRich(word)
|
|
783
|
+
if kind == "bold" then
|
|
784
|
+
return `<b>{safe}</b>`
|
|
785
|
+
end
|
|
786
|
+
if kind == "italic" then
|
|
787
|
+
return `<i>{safe}</i>`
|
|
788
|
+
end
|
|
789
|
+
if kind == "code" then
|
|
790
|
+
return `<font face="RobotoMono">{safe}</font>`
|
|
791
|
+
end
|
|
792
|
+
return safe
|
|
793
|
+
end
|
|
794
|
+
--* Split a line into words and link payloads so a link can take a click.
|
|
795
|
+
local function inlinePieces(inlines)
|
|
796
|
+
local out = {}
|
|
797
|
+
for _, part in inlines do
|
|
798
|
+
local link = markdownLinkPayload(part)
|
|
799
|
+
if link ~= nil then
|
|
800
|
+
local _arg0 = {
|
|
801
|
+
kind = "link",
|
|
802
|
+
text = link.text,
|
|
803
|
+
href = link.href,
|
|
804
|
+
}
|
|
805
|
+
table.insert(out, _arg0)
|
|
806
|
+
continue
|
|
807
|
+
end
|
|
808
|
+
if part.kind == "link" then
|
|
809
|
+
continue
|
|
810
|
+
end
|
|
811
|
+
local word = ""
|
|
812
|
+
local flush = function()
|
|
813
|
+
if #word == 0 then
|
|
814
|
+
return nil
|
|
815
|
+
end
|
|
816
|
+
local prev = out[#out]
|
|
817
|
+
if prev ~= nil and prev.kind ~= "break" and isPunctuation(word) then
|
|
818
|
+
prev.text = `{prev.text}{word}`
|
|
819
|
+
else
|
|
820
|
+
local _arg0 = {
|
|
821
|
+
kind = "word",
|
|
822
|
+
text = richWord(part.kind, word),
|
|
823
|
+
}
|
|
824
|
+
table.insert(out, _arg0)
|
|
825
|
+
end
|
|
826
|
+
word = ""
|
|
827
|
+
end
|
|
828
|
+
local source = part.text
|
|
829
|
+
for i = 1, #source do
|
|
830
|
+
local _i = i
|
|
831
|
+
local _i_1 = i
|
|
832
|
+
local ch = string.sub(source, _i, _i_1)
|
|
833
|
+
if ch == " " or ch == "\t" or ch == "\r" then
|
|
834
|
+
flush()
|
|
835
|
+
continue
|
|
836
|
+
end
|
|
837
|
+
if ch == "\n" then
|
|
838
|
+
flush()
|
|
839
|
+
table.insert(out, {
|
|
840
|
+
kind = "break",
|
|
841
|
+
})
|
|
842
|
+
continue
|
|
843
|
+
end
|
|
844
|
+
word = `{word}{ch}`
|
|
845
|
+
end
|
|
846
|
+
flush()
|
|
847
|
+
end
|
|
848
|
+
return out
|
|
849
|
+
end
|
|
850
|
+
--* Line index of each piece. A piece wraps only when it does not fit beside the previous one.
|
|
851
|
+
local function inlineLines(pieces, maxWidth, gap)
|
|
852
|
+
if gap == nil then
|
|
853
|
+
gap = 1
|
|
854
|
+
end
|
|
855
|
+
local lineOf = {}
|
|
856
|
+
local line = 0
|
|
857
|
+
local used = 0
|
|
858
|
+
for _, piece in pieces do
|
|
859
|
+
if piece.kind == "break" then
|
|
860
|
+
local _line = line
|
|
861
|
+
table.insert(lineOf, _line)
|
|
862
|
+
line += 1
|
|
863
|
+
used = 0
|
|
864
|
+
continue
|
|
865
|
+
end
|
|
866
|
+
local width = #piece.text
|
|
867
|
+
if used > 0 and used + gap + width > maxWidth then
|
|
868
|
+
line += 1
|
|
869
|
+
used = width
|
|
870
|
+
elseif used == 0 then
|
|
871
|
+
used = width
|
|
872
|
+
else
|
|
873
|
+
used += gap + width
|
|
874
|
+
end
|
|
875
|
+
local _line = line
|
|
876
|
+
table.insert(lineOf, _line)
|
|
877
|
+
end
|
|
878
|
+
return lineOf
|
|
879
|
+
end
|
|
455
880
|
return {
|
|
456
881
|
parseMarkdown = parseMarkdown,
|
|
457
882
|
inlinesToPlain = inlinesToPlain,
|
|
458
883
|
inlinesToRichText = inlinesToRichText,
|
|
884
|
+
markdownLinkPayload = markdownLinkPayload,
|
|
885
|
+
inlinePieces = inlinePieces,
|
|
886
|
+
inlineLines = inlineLines,
|
|
459
887
|
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import React from "@rbxts/react";
|
|
2
2
|
import { CustomizedProps } from "../../../../theme/index";
|
|
3
|
+
import { Icons } from "../../../enums/index";
|
|
3
4
|
export interface MenuItem {
|
|
4
5
|
id: string;
|
|
5
6
|
text: string;
|
|
7
|
+
icon?: Icons;
|
|
6
8
|
disabled?: boolean;
|
|
9
|
+
tone?: "danger";
|
|
7
10
|
}
|
|
8
11
|
export interface MenuProps {
|
|
9
12
|
anchor?: GuiObject;
|
|
@@ -16,5 +19,5 @@ export interface MenuProps {
|
|
|
16
19
|
dense?: boolean;
|
|
17
20
|
selected?: string;
|
|
18
21
|
}
|
|
19
|
-
declare function Menu(props: CustomizedProps<Frame, MenuProps>): JSX.Element
|
|
22
|
+
declare function Menu(props: CustomizedProps<Frame, MenuProps>): JSX.Element;
|
|
20
23
|
export default Menu;
|