@rbxts/uiblox 0.2.0-alpha.35 → 0.2.0-alpha.37
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/out/theme/styles/utilities/focusRing.d.ts +5 -0
- package/out/theme/styles/utilities/focusRing.luau +11 -0
- package/out/theme/styles/utilities/index.d.ts +1 -0
- package/out/theme/styles/utilities/init.luau +1 -0
- package/out/theme/styles/utilities/resolveSx.d.ts +6 -1
- package/out/theme/styles/utilities/resolveSx.luau +53 -12
- package/out/ui/packages/accordion/components/Accordion.d.ts +1 -0
- package/out/ui/packages/accordion/components/Accordion.luau +55 -19
- package/out/ui/packages/accordion/components/Accordion.styles.luau +49 -29
- 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 +24 -1
- package/out/ui/packages/alert/components/Alert.styles.luau +11 -0
- 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 +59 -15
- package/out/ui/packages/appBar/components/AppBar.styles.luau +24 -0
- 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/avatarGroup/components/AvatarGroup.d.ts +14 -0
- package/out/ui/packages/avatarGroup/components/AvatarGroup.luau +102 -0
- package/out/ui/packages/avatarGroup/components/AvatarGroup.styles.d.ts +6 -0
- package/out/ui/packages/avatarGroup/components/AvatarGroup.styles.luau +50 -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/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 +20 -0
- 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 +16 -5
- package/out/ui/packages/breadcrumbs/components/Breadcrumbs.styles.luau +6 -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/button/components/Button.d.ts +2 -0
- package/out/ui/packages/button/components/Button.luau +59 -10
- 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/buttonGroup/components/ButtonGroup.d.ts +13 -0
- package/out/ui/packages/buttonGroup/components/ButtonGroup.luau +102 -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 +16 -7
- 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 +9 -4
- package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.luau +10 -1
- 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 +2 -1
- package/out/ui/packages/checkbox/components/Checkbox.styles.luau +2 -0
- package/out/ui/packages/chip/components/Chip.styles.d.ts +2 -1
- package/out/ui/packages/chip/components/Chip.styles.luau +9 -6
- 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/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/ColorSequenceEditor.luau +4 -2
- package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +4 -2
- 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 +167 -88
- 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 +5 -3
- 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 +57 -12
- 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 +1 -0
- package/out/ui/packages/drawer/components/Drawer.luau +18 -3
- package/out/ui/packages/drawer/components/drawerPlacement.d.ts +13 -1
- package/out/ui/packages/drawer/components/drawerPlacement.luau +28 -0
- package/out/ui/packages/fab/components/fabSize.d.ts +1 -1
- package/out/ui/packages/iconButton/components/IconButton.d.ts +2 -0
- package/out/ui/packages/iconButton/components/IconButton.luau +37 -3
- package/out/ui/packages/iconButton/components/transportGlyph.d.ts +9 -0
- package/out/ui/packages/iconButton/components/transportGlyph.luau +73 -0
- package/out/ui/packages/imageList/components/ImageList.d.ts +4 -0
- package/out/ui/packages/imageList/components/ImageList.luau +57 -11
- package/out/ui/packages/imageList/components/ImageList.styles.d.ts +1 -0
- package/out/ui/packages/imageList/components/ImageList.styles.luau +16 -10
- package/out/ui/packages/imageList/components/imageListLayout.d.ts +10 -0
- package/out/ui/packages/imageList/components/imageListLayout.luau +44 -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 +29 -9
- package/out/ui/packages/input/components/Input.styles.d.ts +1 -0
- package/out/ui/packages/input/components/Input.styles.luau +42 -12
- 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/multilineHeight.d.ts +1 -0
- package/out/ui/packages/input/components/multilineHeight.luau +11 -0
- package/out/ui/packages/link/components/Link.luau +13 -9
- package/out/ui/packages/link/components/Link.styles.d.ts +0 -1
- package/out/ui/packages/link/components/Link.styles.luau +1 -12
- package/out/ui/packages/listItem/components/ListItem.d.ts +6 -0
- package/out/ui/packages/listItem/components/ListItem.luau +97 -39
- package/out/ui/packages/listItem/components/ListItem.styles.d.ts +3 -0
- package/out/ui/packages/listItem/components/ListItem.styles.luau +52 -30
- 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 +12 -0
- package/out/ui/packages/listItem/components/listItemLayout.luau +41 -0
- package/out/ui/packages/markdown/components/Markdown.d.ts +2 -0
- package/out/ui/packages/markdown/components/Markdown.luau +91 -6
- package/out/ui/packages/markdown/components/Markdown.styles.luau +25 -0
- 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 +21 -1
- package/out/ui/packages/markdown/parseMarkdown.luau +109 -2
- package/out/ui/packages/menu/components/Menu.d.ts +3 -0
- package/out/ui/packages/menu/components/Menu.luau +68 -21
- 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 +67 -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/pager/components/Pager.d.ts +11 -0
- package/out/ui/packages/pager/components/Pager.luau +112 -0
- package/out/ui/packages/pager/components/Pager.styles.d.ts +2 -0
- package/out/ui/packages/pager/components/Pager.styles.luau +61 -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/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +5 -0
- 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 +50 -0
- package/out/ui/packages/popover/components/Popover.styles.d.ts +2 -0
- package/out/ui/packages/popover/components/Popover.styles.luau +26 -0
- package/out/ui/packages/popover/index.d.ts +2 -0
- package/out/ui/packages/popover/init.luau +5 -0
- package/out/ui/packages/radioGroup/components/RadioGroup.d.ts +4 -1
- package/out/ui/packages/radioGroup/components/RadioGroup.luau +51 -8
- 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 +4 -2
- 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/reorder/index.d.ts +2 -0
- package/out/ui/packages/reorder/init.luau +14 -0
- package/out/ui/packages/reorder/reorder.d.ts +24 -0
- package/out/ui/packages/reorder/reorder.luau +178 -0
- package/out/ui/packages/reorder/useReorderDrag.d.ts +15 -0
- package/out/ui/packages/reorder/useReorderDrag.luau +129 -0
- package/out/ui/packages/scroll/components/ScrollView.luau +76 -7
- package/out/ui/packages/select/components/Select.luau +18 -1
- package/out/ui/packages/select/components/Select.styles.luau +2 -5
- 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 +14 -2
- package/out/ui/packages/slider/components/RangeSlider.d.ts +16 -0
- package/out/ui/packages/slider/components/RangeSlider.luau +231 -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 +44 -11
- 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 +69 -7
- 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 +56 -9
- package/out/ui/packages/speedDial/components/SpeedDial.styles.d.ts +1 -0
- package/out/ui/packages/speedDial/components/SpeedDial.styles.luau +45 -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/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 +3 -0
- 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.styles.luau +2 -5
- package/out/ui/packages/table/components/Table.luau +8 -5
- 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 +70 -2
- 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 +7 -0
- package/out/ui/packages/text/components/Text.luau +54 -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 +102 -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 +99 -0
- package/out/ui/packages/timeline/components/Timeline.styles.d.ts +2 -0
- package/out/ui/packages/timeline/components/Timeline.styles.luau +106 -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 +59 -12
- package/out/ui/packages/toast/components/Toast.styles.luau +6 -3
- package/out/ui/packages/toast/components/toastPlace.d.ts +12 -0
- package/out/ui/packages/toast/components/toastPlace.luau +31 -0
- 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 +30 -0
- 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/vectorEditor/components/VectorEditor.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 +67 -69
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
-- Compiled with roblox-ts v3.0.0
|
|
2
|
+
local TS = _G[script]
|
|
3
|
+
local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
|
|
4
|
+
local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
|
|
5
|
+
local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
|
|
6
|
+
local buttonGroupEdge = TS.import(script, script.Parent, "buttonGroupEdge").buttonGroupEdge
|
|
7
|
+
local useButtonGroupStyles = TS.import(script, script.Parent, "ButtonGroup.styles").default
|
|
8
|
+
local function ButtonGroup(props)
|
|
9
|
+
local _binding = props
|
|
10
|
+
local items = _binding.items
|
|
11
|
+
local onItem = _binding.onItem
|
|
12
|
+
local disabled = _binding.disabled
|
|
13
|
+
local size = _binding.size
|
|
14
|
+
local className = _binding.className
|
|
15
|
+
local sx = _binding.sx
|
|
16
|
+
local id = _binding.id
|
|
17
|
+
local ref = _binding.ref
|
|
18
|
+
local styles = useButtonGroupStyles({
|
|
19
|
+
size = size,
|
|
20
|
+
})
|
|
21
|
+
local count = #items
|
|
22
|
+
local groupOff = disabled == true
|
|
23
|
+
local _attributes = {
|
|
24
|
+
tag = "frame",
|
|
25
|
+
}
|
|
26
|
+
local _condition = id
|
|
27
|
+
if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
|
|
28
|
+
_condition = "ButtonGroup"
|
|
29
|
+
end
|
|
30
|
+
_attributes.key = _condition
|
|
31
|
+
_attributes.hostRef = ref
|
|
32
|
+
_attributes.base = styles.root
|
|
33
|
+
_attributes.className = className
|
|
34
|
+
_attributes.sx = sx
|
|
35
|
+
_attributes.state = {
|
|
36
|
+
disabled = groupOff,
|
|
37
|
+
}
|
|
38
|
+
local _attributes_1 = table.clone(styles.corner)
|
|
39
|
+
setmetatable(_attributes_1, nil)
|
|
40
|
+
local _exp = React.createElement("uicorner", _attributes_1)
|
|
41
|
+
local _attributes_2 = table.clone(styles.stroke)
|
|
42
|
+
setmetatable(_attributes_2, nil)
|
|
43
|
+
local _exp_1 = React.createElement("uistroke", _attributes_2)
|
|
44
|
+
local _attributes_3 = table.clone(styles.list)
|
|
45
|
+
setmetatable(_attributes_3, nil)
|
|
46
|
+
local _exp_2 = React.createElement("uilistlayout", _attributes_3)
|
|
47
|
+
-- ▼ ReadonlyArray.map ▼
|
|
48
|
+
local _newValue = table.create(#items)
|
|
49
|
+
local _callback = function(item, index)
|
|
50
|
+
local off = groupOff or item.disabled == true
|
|
51
|
+
local active = canActivate(off)
|
|
52
|
+
local edge = buttonGroupEdge(index, count)
|
|
53
|
+
local rule = edge == "start" or edge == "middle"
|
|
54
|
+
local _attributes_4 = {
|
|
55
|
+
key = `{item.label}-{index}`,
|
|
56
|
+
}
|
|
57
|
+
for _k, _v in styles.item do
|
|
58
|
+
_attributes_4[_k] = _v
|
|
59
|
+
end
|
|
60
|
+
_attributes_4.Text = item.label
|
|
61
|
+
_attributes_4.TextTransparency = if off then 0.5 else 0
|
|
62
|
+
_attributes_4.Active = active
|
|
63
|
+
_attributes_4.Selectable = active
|
|
64
|
+
_attributes_4.LayoutOrder = index * 2
|
|
65
|
+
_attributes_4.Event = {
|
|
66
|
+
Activated = function()
|
|
67
|
+
if active then
|
|
68
|
+
local _result = onItem
|
|
69
|
+
if _result ~= nil then
|
|
70
|
+
_result(index)
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end,
|
|
74
|
+
}
|
|
75
|
+
local _attributes_5 = table.clone(styles.pad)
|
|
76
|
+
setmetatable(_attributes_5, nil)
|
|
77
|
+
local _exp_3 = React.createElement("textbutton", _attributes_4, React.createElement("uipadding", _attributes_5))
|
|
78
|
+
local _result
|
|
79
|
+
if rule then
|
|
80
|
+
local _attributes_6 = {
|
|
81
|
+
key = `Rule-{index}`,
|
|
82
|
+
}
|
|
83
|
+
for _k, _v in styles.rule do
|
|
84
|
+
_attributes_6[_k] = _v
|
|
85
|
+
end
|
|
86
|
+
_attributes_6.LayoutOrder = index * 2 + 1
|
|
87
|
+
_result = React.createElement("frame", _attributes_6)
|
|
88
|
+
else
|
|
89
|
+
_result = nil
|
|
90
|
+
end
|
|
91
|
+
return React.createElement(React.Fragment, nil, _exp_3, _result)
|
|
92
|
+
end
|
|
93
|
+
for _k, _v in items do
|
|
94
|
+
_newValue[_k] = _callback(_v, _k - 1, items)
|
|
95
|
+
end
|
|
96
|
+
-- ▲ ReadonlyArray.map ▲
|
|
97
|
+
return React.createElement(SxHost, _attributes, _exp, _exp_1, _exp_2, React.createElement(React.Fragment, nil, _newValue))
|
|
98
|
+
end
|
|
99
|
+
local default = ButtonGroup
|
|
100
|
+
return {
|
|
101
|
+
default = default,
|
|
102
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
-- Compiled with roblox-ts v3.0.0
|
|
2
|
+
local TS = _G[script]
|
|
3
|
+
local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
|
|
4
|
+
local componentStyles = _theme.componentStyles
|
|
5
|
+
local controlMetrics = _theme.controlMetrics
|
|
6
|
+
local createStyles = _theme.createStyles
|
|
7
|
+
local useButtonGroupStyles = componentStyles("ButtonGroup", function(theme, _param)
|
|
8
|
+
local size = _param.size
|
|
9
|
+
local metrics = controlMetrics(theme.density, size)
|
|
10
|
+
local button = theme.typography.variants.button
|
|
11
|
+
return createStyles({
|
|
12
|
+
root = {
|
|
13
|
+
AutomaticSize = Enum.AutomaticSize.XY,
|
|
14
|
+
Size = UDim2.fromScale(0, 0),
|
|
15
|
+
BackgroundColor3 = theme.palette.surface.paper,
|
|
16
|
+
BorderSizePixel = 0,
|
|
17
|
+
ClipsDescendants = true,
|
|
18
|
+
},
|
|
19
|
+
list = {
|
|
20
|
+
FillDirection = Enum.FillDirection.Horizontal,
|
|
21
|
+
VerticalAlignment = Enum.VerticalAlignment.Center,
|
|
22
|
+
SortOrder = Enum.SortOrder.LayoutOrder,
|
|
23
|
+
Padding = UDim.new(0, 0),
|
|
24
|
+
},
|
|
25
|
+
corner = {
|
|
26
|
+
CornerRadius = UDim.new(0, theme.shape.borderRadius),
|
|
27
|
+
},
|
|
28
|
+
stroke = {
|
|
29
|
+
Color = theme.palette.border,
|
|
30
|
+
Thickness = 1,
|
|
31
|
+
ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
|
|
32
|
+
},
|
|
33
|
+
item = {
|
|
34
|
+
AutomaticSize = Enum.AutomaticSize.X,
|
|
35
|
+
Size = UDim2.new(0, 0, 0, metrics.buttonHeight),
|
|
36
|
+
BackgroundTransparency = 1,
|
|
37
|
+
BorderSizePixel = 0,
|
|
38
|
+
AutoButtonColor = false,
|
|
39
|
+
Font = theme.typography.fontFamilies[button.family],
|
|
40
|
+
TextSize = button.size,
|
|
41
|
+
TextColor3 = theme.palette.text.primary,
|
|
42
|
+
},
|
|
43
|
+
pad = {
|
|
44
|
+
PaddingLeft = UDim.new(0, theme.padding.calc(2)),
|
|
45
|
+
PaddingRight = UDim.new(0, theme.padding.calc(2)),
|
|
46
|
+
},
|
|
47
|
+
rule = {
|
|
48
|
+
Size = UDim2.new(0, 1, 0, metrics.buttonHeight),
|
|
49
|
+
BackgroundColor3 = theme.palette.border,
|
|
50
|
+
BorderSizePixel = 0,
|
|
51
|
+
},
|
|
52
|
+
})
|
|
53
|
+
end)
|
|
54
|
+
local default = useButtonGroupStyles
|
|
55
|
+
return {
|
|
56
|
+
default = default,
|
|
57
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
-- Compiled with roblox-ts v3.0.0
|
|
2
|
+
local function buttonGroupEdge(index, count)
|
|
3
|
+
if count <= 1 or index < 0 then
|
|
4
|
+
return "only"
|
|
5
|
+
end
|
|
6
|
+
if index == 0 then
|
|
7
|
+
return "start"
|
|
8
|
+
end
|
|
9
|
+
if index >= count - 1 then
|
|
10
|
+
return "end"
|
|
11
|
+
end
|
|
12
|
+
return "middle"
|
|
13
|
+
end
|
|
14
|
+
return {
|
|
15
|
+
buttonGroupEdge = buttonGroupEdge,
|
|
16
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
-- Compiled with roblox-ts v3.0.0
|
|
2
|
+
local TS = _G[script]
|
|
3
|
+
local exports = {}
|
|
4
|
+
exports.ButtonGroup = TS.import(script, script, "components", "ButtonGroup").default
|
|
5
|
+
exports.buttonGroupEdge = TS.import(script, script, "components", "buttonGroupEdge").buttonGroupEdge
|
|
6
|
+
return exports
|
|
@@ -13,12 +13,31 @@ local function Card(props)
|
|
|
13
13
|
end
|
|
14
14
|
local square = _binding.square
|
|
15
15
|
local actions = _binding.actions
|
|
16
|
+
local fullWidth = _binding.fullWidth
|
|
16
17
|
local children = _binding.children
|
|
17
18
|
local className = _binding.className
|
|
18
19
|
local sx = _binding.sx
|
|
19
20
|
local id = _binding.id
|
|
20
21
|
local ref = _binding.ref
|
|
21
|
-
local styles = useCardStyles(
|
|
22
|
+
local styles = useCardStyles({
|
|
23
|
+
fullWidth = fullWidth,
|
|
24
|
+
})
|
|
25
|
+
local _result
|
|
26
|
+
if fullWidth == true then
|
|
27
|
+
local _object = {
|
|
28
|
+
Size = UDim2.new(1, 0, 0, 0),
|
|
29
|
+
AutomaticSize = Enum.AutomaticSize.Y,
|
|
30
|
+
}
|
|
31
|
+
if sx then
|
|
32
|
+
for _k, _v in sx do
|
|
33
|
+
_object[_k] = _v
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
_result = _object
|
|
37
|
+
else
|
|
38
|
+
_result = sx
|
|
39
|
+
end
|
|
40
|
+
local paperSx = _result
|
|
22
41
|
local _attributes = {
|
|
23
42
|
key = "Column",
|
|
24
43
|
}
|
|
@@ -73,7 +92,7 @@ local function Card(props)
|
|
|
73
92
|
elevation = elevation,
|
|
74
93
|
square = square,
|
|
75
94
|
className = className,
|
|
76
|
-
sx =
|
|
95
|
+
sx = paperSx,
|
|
77
96
|
id = id,
|
|
78
97
|
ref = ref,
|
|
79
98
|
}, React.createElement("frame", _attributes, _exp, _condition, _condition_1, _exp_1, _condition_2))
|
|
@@ -3,11 +3,17 @@ local TS = _G[script]
|
|
|
3
3
|
local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
|
|
4
4
|
local componentStyles = _theme.componentStyles
|
|
5
5
|
local createStyles = _theme.createStyles
|
|
6
|
-
local
|
|
6
|
+
local cardColumnWidth = TS.import(script, script.Parent, "cardWidth").cardColumnWidth
|
|
7
|
+
local useCardStyles = componentStyles("Card", function(theme, _param)
|
|
8
|
+
local fullWidth = _param.fullWidth
|
|
9
|
+
if fullWidth == nil then
|
|
10
|
+
fullWidth = false
|
|
11
|
+
end
|
|
12
|
+
local width = cardColumnWidth(fullWidth, theme.padding.calc(32))
|
|
7
13
|
return createStyles({
|
|
8
14
|
column = {
|
|
9
|
-
AutomaticSize = Enum.AutomaticSize.
|
|
10
|
-
Size = UDim2.
|
|
15
|
+
AutomaticSize = Enum.AutomaticSize.Y,
|
|
16
|
+
Size = UDim2.new(width.scale, width.offset, 0, 0),
|
|
11
17
|
BackgroundTransparency = 1,
|
|
12
18
|
BorderSizePixel = 0,
|
|
13
19
|
},
|
|
@@ -18,8 +24,9 @@ local useCardStyles = componentStyles("Card", function(theme)
|
|
|
18
24
|
},
|
|
19
25
|
title = {
|
|
20
26
|
LayoutOrder = 1,
|
|
21
|
-
AutomaticSize = Enum.AutomaticSize.
|
|
22
|
-
Size = UDim2.
|
|
27
|
+
AutomaticSize = Enum.AutomaticSize.Y,
|
|
28
|
+
Size = UDim2.new(1, 0, 0, 0),
|
|
29
|
+
TextWrapped = true,
|
|
23
30
|
BackgroundTransparency = 1,
|
|
24
31
|
BorderSizePixel = 0,
|
|
25
32
|
Font = theme.typography.fontFamilies.default,
|
|
@@ -29,8 +36,9 @@ local useCardStyles = componentStyles("Card", function(theme)
|
|
|
29
36
|
},
|
|
30
37
|
subtitle = {
|
|
31
38
|
LayoutOrder = 2,
|
|
32
|
-
AutomaticSize = Enum.AutomaticSize.
|
|
33
|
-
Size = UDim2.
|
|
39
|
+
AutomaticSize = Enum.AutomaticSize.Y,
|
|
40
|
+
Size = UDim2.new(1, 0, 0, 0),
|
|
41
|
+
TextWrapped = true,
|
|
34
42
|
BackgroundTransparency = 1,
|
|
35
43
|
BorderSizePixel = 0,
|
|
36
44
|
Font = theme.typography.fontFamilies.default,
|
|
@@ -57,6 +65,7 @@ local useCardStyles = componentStyles("Card", function(theme)
|
|
|
57
65
|
HorizontalAlignment = Enum.HorizontalAlignment.Right,
|
|
58
66
|
Padding = UDim.new(0, theme.padding.calc(1)),
|
|
59
67
|
SortOrder = Enum.SortOrder.LayoutOrder,
|
|
68
|
+
Wraps = true,
|
|
60
69
|
},
|
|
61
70
|
})
|
|
62
71
|
end)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface CardColumnWidth {
|
|
2
|
+
scale: number;
|
|
3
|
+
offset: number;
|
|
4
|
+
}
|
|
5
|
+
/** Fluid cards fill the parent. The default stays the fixed column. */
|
|
6
|
+
export declare function cardColumnWidth(fullWidth: boolean | undefined, fixed: number): CardColumnWidth;
|
|
7
|
+
/** A title wider than the column wraps. A short title stays one line. */
|
|
8
|
+
export declare function cardTitleWrap(textWidth: number, column: number): boolean;
|
|
9
|
+
/** Two small actions are wider than the fixed column, so the row wraps. */
|
|
10
|
+
export declare function cardActionWrap(column: number, button: number, count: number, gap?: number): boolean;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
-- Compiled with roblox-ts v3.0.0
|
|
2
|
+
--* Fluid cards fill the parent. The default stays the fixed column.
|
|
3
|
+
local function cardColumnWidth(fullWidth, fixed)
|
|
4
|
+
if fullWidth == true then
|
|
5
|
+
return {
|
|
6
|
+
scale = 1,
|
|
7
|
+
offset = 0,
|
|
8
|
+
}
|
|
9
|
+
end
|
|
10
|
+
return {
|
|
11
|
+
scale = 0,
|
|
12
|
+
offset = fixed,
|
|
13
|
+
}
|
|
14
|
+
end
|
|
15
|
+
--* A title wider than the column wraps. A short title stays one line.
|
|
16
|
+
local function cardTitleWrap(textWidth, column)
|
|
17
|
+
if column <= 0 then
|
|
18
|
+
return false
|
|
19
|
+
end
|
|
20
|
+
return textWidth > column
|
|
21
|
+
end
|
|
22
|
+
--* Two small actions are wider than the fixed column, so the row wraps.
|
|
23
|
+
local function cardActionWrap(column, button, count, gap)
|
|
24
|
+
if gap == nil then
|
|
25
|
+
gap = 0
|
|
26
|
+
end
|
|
27
|
+
if count < 2 or column <= 0 then
|
|
28
|
+
return false
|
|
29
|
+
end
|
|
30
|
+
return button * count + gap * (count - 1) > column
|
|
31
|
+
end
|
|
32
|
+
return {
|
|
33
|
+
cardColumnWidth = cardColumnWidth,
|
|
34
|
+
cardTitleWrap = cardTitleWrap,
|
|
35
|
+
cardActionWrap = cardActionWrap,
|
|
36
|
+
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
-- Compiled with roblox-ts v3.0.0
|
|
2
2
|
local TS = _G[script]
|
|
3
3
|
local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
|
|
4
|
+
local cx = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").cx
|
|
4
5
|
local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
|
|
5
6
|
local NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
|
|
6
7
|
local useCFrameEditorStyles = TS.import(script, script.Parent, "CFrameEditor.styles").default
|
|
7
|
-
local
|
|
8
|
+
local _cframeValue = TS.import(script, script.Parent, "cframeValue")
|
|
9
|
+
local cframeAxis = _cframeValue.cframeAxis
|
|
10
|
+
local nextCFrameParts = _cframeValue.nextCFrameParts
|
|
8
11
|
local POSITION = { "X", "Y", "Z" }
|
|
9
12
|
local ORIENTATION = { "RX", "RY", "RZ" }
|
|
10
13
|
local function CFrameEditor(props)
|
|
@@ -65,15 +68,17 @@ local function CFrameEditor(props)
|
|
|
65
68
|
local _attributes_6 = table.clone(styles.row)
|
|
66
69
|
setmetatable(_attributes_6, nil)
|
|
67
70
|
local _exp_3 = React.createElement("uilistlayout", _attributes_6)
|
|
68
|
-
local _attributes_7 = table.clone(styles.label)
|
|
71
|
+
local _attributes_7 = table.clone(cx(styles.label, if cframeAxis(field) == "X" then styles.labelX elseif cframeAxis(field) == "Y" then styles.labelY else styles.labelZ))
|
|
69
72
|
setmetatable(_attributes_7, nil)
|
|
70
|
-
_attributes_7.Text = field
|
|
73
|
+
_attributes_7.Text = cframeAxis(field)
|
|
71
74
|
local _exp_4 = React.createElement("textlabel", _attributes_7)
|
|
72
75
|
local _attributes_8 = table.clone(styles.field)
|
|
73
76
|
setmetatable(_attributes_8, nil)
|
|
74
77
|
return React.createElement("frame", _attributes_5, _exp_3, _exp_4, React.createElement("frame", _attributes_8, React.createElement(NumberInput, {
|
|
75
78
|
value = amounts[offset + index + 1],
|
|
79
|
+
places = 3,
|
|
76
80
|
disabled = disabled,
|
|
81
|
+
size = "small",
|
|
77
82
|
width = UDim.new(1, 0),
|
|
78
83
|
onChange = function(amount)
|
|
79
84
|
return commit(field, amount)
|
|
@@ -103,7 +108,7 @@ local function CFrameEditor(props)
|
|
|
103
108
|
}
|
|
104
109
|
local _attributes_1 = table.clone(styles.wrap)
|
|
105
110
|
setmetatable(_attributes_1, nil)
|
|
106
|
-
return React.createElement(SxHost, _attributes, React.createElement("uilistlayout", _attributes_1), group("Position", POSITION, 1, 0), group("
|
|
111
|
+
return React.createElement(SxHost, _attributes, React.createElement("uilistlayout", _attributes_1), group("Position", POSITION, 1, 0), group("Rotation (degrees)", ORIENTATION, 2, 3))
|
|
107
112
|
end
|
|
108
113
|
local default = CFrameEditor
|
|
109
114
|
return {
|
|
@@ -46,11 +46,20 @@ local useCFrameEditorStyles = componentStyles("CFrameEditor", function(theme)
|
|
|
46
46
|
label = {
|
|
47
47
|
Size = UDim2.new(0, theme.spacing.calc(2.5), 1, 0),
|
|
48
48
|
BackgroundTransparency = 1,
|
|
49
|
-
Font = theme.typography.fontFamilies.
|
|
49
|
+
Font = theme.typography.fontFamilies.semibold,
|
|
50
50
|
TextSize = theme.typography.fontSizes.button,
|
|
51
51
|
TextColor3 = theme.palette.text.secondary,
|
|
52
52
|
TextXAlignment = Enum.TextXAlignment.Left,
|
|
53
53
|
},
|
|
54
|
+
labelX = {
|
|
55
|
+
TextColor3 = theme.palette.status.error.main,
|
|
56
|
+
},
|
|
57
|
+
labelY = {
|
|
58
|
+
TextColor3 = theme.palette.status.success.main,
|
|
59
|
+
},
|
|
60
|
+
labelZ = {
|
|
61
|
+
TextColor3 = theme.palette.status.info.main,
|
|
62
|
+
},
|
|
54
63
|
field = {
|
|
55
64
|
Size = UDim2.new(1, -theme.spacing.calc(2.5), 1, 0),
|
|
56
65
|
BackgroundTransparency = 1,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export type CFrameField = "X" | "Y" | "Z" | "RX" | "RY" | "RZ";
|
|
2
2
|
export declare function cframeFields(): CFrameField[];
|
|
3
|
+
export declare function cframeAxis(field: CFrameField): "X" | "Y" | "Z";
|
|
3
4
|
export declare function nextCFrameParts(x: number, y: number, z: number, rx: number, ry: number, rz: number, field: CFrameField, amount: number): number[];
|
|
@@ -3,6 +3,18 @@ local FIELDS = { "X", "Y", "Z", "RX", "RY", "RZ" }
|
|
|
3
3
|
local function cframeFields()
|
|
4
4
|
return FIELDS
|
|
5
5
|
end
|
|
6
|
+
local function cframeAxis(field)
|
|
7
|
+
if field == "RX" then
|
|
8
|
+
return "X"
|
|
9
|
+
end
|
|
10
|
+
if field == "RY" then
|
|
11
|
+
return "Y"
|
|
12
|
+
end
|
|
13
|
+
if field == "RZ" then
|
|
14
|
+
return "Z"
|
|
15
|
+
end
|
|
16
|
+
return field
|
|
17
|
+
end
|
|
6
18
|
local function nextCFrameParts(x, y, z, rx, ry, rz, field, amount)
|
|
7
19
|
local parts = { x, y, z, rx, ry, rz }
|
|
8
20
|
local index = if field == "X" then 0 elseif field == "Y" then 1 elseif field == "Z" then 2 elseif field == "RX" then 3 elseif field == "RY" then 4 else 5
|
|
@@ -11,5 +23,6 @@ local function nextCFrameParts(x, y, z, rx, ry, rz, field, amount)
|
|
|
11
23
|
end
|
|
12
24
|
return {
|
|
13
25
|
cframeFields = cframeFields,
|
|
26
|
+
cframeAxis = cframeAxis,
|
|
14
27
|
nextCFrameParts = nextCFrameParts,
|
|
15
28
|
}
|
|
@@ -38,6 +38,7 @@ local function Checkbox(props)
|
|
|
38
38
|
local fill = _binding_1.fill
|
|
39
39
|
local activeStroke = _binding_1.activeStroke
|
|
40
40
|
local idleStroke = _binding_1.idleStroke
|
|
41
|
+
local focus = _binding_1.focus
|
|
41
42
|
local hovering, setHovering = useState(false)
|
|
42
43
|
local pressed, setPressed = useState(false)
|
|
43
44
|
local focused, setFocused = useState(false)
|
|
@@ -109,7 +110,7 @@ local function Checkbox(props)
|
|
|
109
110
|
local _attributes_3 = table.clone(corner)
|
|
110
111
|
setmetatable(_attributes_3, nil)
|
|
111
112
|
local _exp_1 = React.createElement("uicorner", _attributes_3)
|
|
112
|
-
local _attributes_4 = table.clone(cx(stroke, if
|
|
113
|
+
local _attributes_4 = table.clone(cx(stroke, if pointer == "focus" then focus elseif filled or pointer == "press" then activeStroke else idleStroke, {
|
|
113
114
|
Transparency = strokeTransparency,
|
|
114
115
|
}))
|
|
115
116
|
setmetatable(_attributes_4, nil)
|
|
@@ -4,6 +4,7 @@ local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "the
|
|
|
4
4
|
local controlMetrics = _theme.controlMetrics
|
|
5
5
|
local createStyles = _theme.createStyles
|
|
6
6
|
local componentStyles = _theme.componentStyles
|
|
7
|
+
local focusRing = _theme.focusRing
|
|
7
8
|
local useCheckboxStyles = componentStyles("Checkbox", function(theme, _param)
|
|
8
9
|
local size = _param.size
|
|
9
10
|
local metrics = controlMetrics(theme.density, size)
|
|
@@ -61,6 +62,7 @@ local useCheckboxStyles = componentStyles("Checkbox", function(theme, _param)
|
|
|
61
62
|
idleStroke = {
|
|
62
63
|
Color = theme.palette.text.secondary,
|
|
63
64
|
},
|
|
65
|
+
focus = focusRing(theme.palette.focus),
|
|
64
66
|
})
|
|
65
67
|
end)
|
|
66
68
|
local default = useCheckboxStyles
|
|
@@ -4,6 +4,7 @@ local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "the
|
|
|
4
4
|
local componentStyles = _theme.componentStyles
|
|
5
5
|
local controlMetrics = _theme.controlMetrics
|
|
6
6
|
local createStyles = _theme.createStyles
|
|
7
|
+
local chipTone = TS.import(script, script.Parent, "chipTone").chipTone
|
|
7
8
|
local useChipStyles = componentStyles("Chip", function(theme, _param)
|
|
8
9
|
local selected = _param.selected
|
|
9
10
|
if selected == nil then
|
|
@@ -30,13 +31,15 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
|
|
|
30
31
|
local padY = if size == "small" then 0.25 elseif size == "large" then 0.75 else 0.5
|
|
31
32
|
local padX = if size == "small" then 1 elseif size == "large" then 2 else 1.5
|
|
32
33
|
local deletePx = metrics.icon
|
|
33
|
-
local
|
|
34
|
-
local
|
|
34
|
+
local tone = chipTone(color)
|
|
35
|
+
local status = if tone == "success" then theme.palette.status.success elseif tone == "error" then theme.palette.status.error elseif tone == "primary" then theme.palette.primary else nil
|
|
36
|
+
local filledTone = status ~= nil and variant ~= "outlined"
|
|
37
|
+
local ink = if disabled then theme.palette.text.disabled elseif status == nil then theme.palette.text.primary elseif variant == "outlined" then status.main else status.on
|
|
35
38
|
return createStyles({
|
|
36
39
|
root = {
|
|
37
40
|
AutomaticSize = Enum.AutomaticSize.XY,
|
|
38
41
|
Size = UDim2.fromScale(0, 0),
|
|
39
|
-
BackgroundColor3 = if
|
|
42
|
+
BackgroundColor3 = if filledTone and status ~= nil then status.main elseif selected then theme.palette.action.selected else theme.palette.surface.input,
|
|
40
43
|
BackgroundTransparency = if variant == "outlined" and selected ~= true then 1 else 0,
|
|
41
44
|
BorderSizePixel = 0,
|
|
42
45
|
AutoButtonColor = false,
|
|
@@ -56,9 +59,9 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
|
|
|
56
59
|
CornerRadius = UDim.new(theme.shape.pillScale, 0),
|
|
57
60
|
},
|
|
58
61
|
stroke = {
|
|
59
|
-
Color = if
|
|
62
|
+
Color = if status ~= nil then status.main else theme.palette.border,
|
|
60
63
|
ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
|
|
61
|
-
Transparency = if variant == "outlined" then (if disabled then 0.5 else 0) elseif
|
|
64
|
+
Transparency = if variant == "outlined" then (if disabled then 0.5 else 0) elseif tone ~= "default" or selected then 1 else 0,
|
|
62
65
|
},
|
|
63
66
|
row = {
|
|
64
67
|
FillDirection = Enum.FillDirection.Horizontal,
|
|
@@ -81,7 +84,7 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
|
|
|
81
84
|
BackgroundTransparency = 1,
|
|
82
85
|
BorderSizePixel = 0,
|
|
83
86
|
AutoButtonColor = false,
|
|
84
|
-
ImageColor3 = if disabled then theme.palette.text.disabled elseif
|
|
87
|
+
ImageColor3 = if disabled then theme.palette.text.disabled elseif filledTone and status ~= nil then status.on else theme.palette.text.secondary,
|
|
85
88
|
LayoutOrder = 2,
|
|
86
89
|
},
|
|
87
90
|
})
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
-- Compiled with roblox-ts v3.0.0
|
|
2
|
+
--* Unknown colors stay the plain chip. Primary, success, and error keep their tone.
|
|
3
|
+
local function chipTone(color)
|
|
4
|
+
if color == "primary" or color == "success" or color == "error" then
|
|
5
|
+
return color
|
|
6
|
+
end
|
|
7
|
+
return "default"
|
|
8
|
+
end
|
|
9
|
+
return {
|
|
10
|
+
chipTone = chipTone,
|
|
11
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "@rbxts/react";
|
|
2
|
+
import { CustomizedProps } from "../../../../theme/index";
|
|
3
|
+
export interface CollapseProps {
|
|
4
|
+
open?: boolean;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
declare function Collapse(props: CustomizedProps<Frame, CollapseProps>): JSX.Element;
|
|
8
|
+
export default Collapse;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
-- Compiled with roblox-ts v3.0.0
|
|
2
|
+
local TS = _G[script]
|
|
3
|
+
local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
|
|
4
|
+
local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
|
|
5
|
+
local collapseOpen = TS.import(script, script.Parent, "collapseOpen").collapseOpen
|
|
6
|
+
local useCollapseStyles = TS.import(script, script.Parent, "Collapse.styles").default
|
|
7
|
+
local function Collapse(props)
|
|
8
|
+
local _binding = props
|
|
9
|
+
local open = _binding.open
|
|
10
|
+
local children = _binding.children
|
|
11
|
+
local className = _binding.className
|
|
12
|
+
local sx = _binding.sx
|
|
13
|
+
local id = _binding.id
|
|
14
|
+
local ref = _binding.ref
|
|
15
|
+
local styles = useCollapseStyles()
|
|
16
|
+
local _attributes = {
|
|
17
|
+
tag = "frame",
|
|
18
|
+
}
|
|
19
|
+
local _condition = id
|
|
20
|
+
if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
|
|
21
|
+
_condition = "Collapse"
|
|
22
|
+
end
|
|
23
|
+
_attributes.key = _condition
|
|
24
|
+
_attributes.hostRef = ref
|
|
25
|
+
_attributes.base = styles.root
|
|
26
|
+
_attributes.className = className
|
|
27
|
+
_attributes.sx = sx
|
|
28
|
+
_attributes.Visible = collapseOpen(open)
|
|
29
|
+
return React.createElement(SxHost, _attributes, children)
|
|
30
|
+
end
|
|
31
|
+
local default = Collapse
|
|
32
|
+
return {
|
|
33
|
+
default = default,
|
|
34
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-- Compiled with roblox-ts v3.0.0
|
|
2
|
+
local TS = _G[script]
|
|
3
|
+
local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
|
|
4
|
+
local componentStyles = _theme.componentStyles
|
|
5
|
+
local createStyles = _theme.createStyles
|
|
6
|
+
local useCollapseStyles = componentStyles("Collapse", function(_theme)
|
|
7
|
+
return createStyles({
|
|
8
|
+
root = {
|
|
9
|
+
AutomaticSize = Enum.AutomaticSize.Y,
|
|
10
|
+
Size = UDim2.new(1, 0, 0, 0),
|
|
11
|
+
BackgroundTransparency = 1,
|
|
12
|
+
BorderSizePixel = 0,
|
|
13
|
+
ClipsDescendants = true,
|
|
14
|
+
},
|
|
15
|
+
})
|
|
16
|
+
end)
|
|
17
|
+
local default = useCollapseStyles
|
|
18
|
+
return {
|
|
19
|
+
default = default,
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function collapseOpen(open?: boolean): open is true;
|