@tamagui/select 1.0.1-beta.72 → 1.0.1-beta.75

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/select",
3
- "version": "1.0.1-beta.72",
3
+ "version": "1.0.1-beta.75",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -26,14 +26,14 @@
26
26
  "@floating-ui/react-native": "^0.7.0",
27
27
  "@radix-ui/react-use-callback-ref": "^0.1.0",
28
28
  "@radix-ui/react-use-previous": "^0.1.1",
29
- "@tamagui/compose-refs": "^1.0.1-beta.72",
30
- "@tamagui/core": "^1.0.1-beta.72",
31
- "@tamagui/create-context": "^1.0.1-beta.72",
32
- "@tamagui/list-item": "^1.0.1-beta.72",
33
- "@tamagui/separator": "^1.0.1-beta.72",
34
- "@tamagui/stacks": "^1.0.1-beta.72",
35
- "@tamagui/text": "^1.0.1-beta.72",
36
- "@tamagui/use-controllable-state": "^1.0.1-beta.72"
29
+ "@tamagui/compose-refs": "^1.0.1-beta.75",
30
+ "@tamagui/core": "^1.0.1-beta.75",
31
+ "@tamagui/create-context": "^1.0.1-beta.75",
32
+ "@tamagui/list-item": "^1.0.1-beta.75",
33
+ "@tamagui/separator": "^1.0.1-beta.75",
34
+ "@tamagui/stacks": "^1.0.1-beta.75",
35
+ "@tamagui/text": "^1.0.1-beta.75",
36
+ "@tamagui/use-controllable-state": "^1.0.1-beta.75"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "react": "*",
@@ -41,7 +41,7 @@
41
41
  "react-native": "*"
42
42
  },
43
43
  "devDependencies": {
44
- "@tamagui/build": "^1.0.1-beta.72",
44
+ "@tamagui/build": "^1.0.1-beta.75",
45
45
  "@types/react-native": "^0.67.3",
46
46
  "react": "*",
47
47
  "react-dom": "*",
package/src/Select.tsx CHANGED
@@ -70,14 +70,6 @@ function getVisualOffsetTop() {
70
70
  return !/^((?!chrome|android).)*safari/i.test(userAgent) ? visualViewport.offsetTop : 0
71
71
  }
72
72
 
73
- const getSelectItemSize = (val: SizeTokens, { tokens }: VariantSpreadExtras<any>) => {
74
- const padding = getVariableValue(tokens.size[val])
75
- return {
76
- paddingHorizontal: padding / 2,
77
- paddingVertical: padding / 4,
78
- }
79
- }
80
-
81
73
  /* -------------------------------------------------------------------------------------------------
82
74
  * SelectContext
83
75
  * -----------------------------------------------------------------------------------------------*/
@@ -132,9 +124,6 @@ type GenericElement = HTMLElement | View
132
124
 
133
125
  type Direction = 'ltr' | 'rtl'
134
126
 
135
- const OPEN_KEYS = [' ', 'Enter', 'ArrowUp', 'ArrowDown']
136
- const SELECTION_KEYS = [' ', 'Enter']
137
-
138
127
  /* -------------------------------------------------------------------------------------------------
139
128
  * SelectTrigger
140
129
  * -----------------------------------------------------------------------------------------------*/
@@ -194,6 +183,7 @@ const VALUE_NAME = 'SelectValue'
194
183
 
195
184
  const SelectValueFrame = styled(Paragraph, {
196
185
  name: VALUE_NAME,
186
+ selectable: false,
197
187
  })
198
188
 
199
189
  type SelectValueProps = GetProps<typeof SelectValueFrame> & {
@@ -274,6 +264,7 @@ export const SelectViewportFrame = styled(ThemeableStack, {
274
264
  elevate: true,
275
265
  overflow: 'hidden',
276
266
  userSelect: 'none',
267
+ maxHeight: '100%',
277
268
 
278
269
  variants: {
279
270
  size: {
@@ -407,7 +398,7 @@ export const SelectItem = React.forwardRef<TamaguiElement, SelectItemProps>(
407
398
  setOpen(false)
408
399
  }
409
400
 
410
- React.useEffect(() => {
401
+ React.useLayoutEffect(() => {
411
402
  clearTimeout(timeoutRef.current)
412
403
  if (open) {
413
404
  if (selectedIndex !== index) {
@@ -442,7 +433,8 @@ export const SelectItem = React.forwardRef<TamaguiElement, SelectItemProps>(
442
433
  textId={textId || ''}
443
434
  isSelected={isSelected}
444
435
  onItemTextChange={React.useCallback((node) => {
445
- // setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? '').trim())
436
+ // @ts-ignore
437
+ setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? '').trim())
446
438
  }, [])}
447
439
  >
448
440
  <ListItem
@@ -478,7 +470,7 @@ const ITEM_TEXT_NAME = 'SelectItemText'
478
470
 
479
471
  export const SelectItemTextFrame = styled(Paragraph, {
480
472
  name: ITEM_TEXT_NAME,
481
- cursor: 'default',
473
+ selectable: false,
482
474
  })
483
475
 
484
476
  type SelectItemTextProps = GetProps<typeof SelectItemTextFrame>
@@ -717,6 +709,7 @@ const SelectScrollButtonImpl = React.forwardRef<
717
709
  const handleScrollArrowChange = () => {
718
710
  const floating = floatingRef.current
719
711
  const isUp = dir === 'up'
712
+
720
713
  if (floating) {
721
714
  const value = isUp ? -SCROLL_ARROW_VELOCITY : SCROLL_ARROW_VELOCITY
722
715
  const multi =
@@ -726,6 +719,7 @@ const SelectScrollButtonImpl = React.forwardRef<
726
719
  floating.scrollHeight - floating.clientHeight - SCROLL_ARROW_THRESHOLD * 2)
727
720
  ? 2
728
721
  : 1
722
+
729
723
  floating.scrollTop += multi * (isUp ? -SCROLL_ARROW_VELOCITY : SCROLL_ARROW_VELOCITY)
730
724
 
731
725
  increaseHeight(floating, multi === 2 ? value * 2 : value)
@@ -740,6 +734,7 @@ const SelectScrollButtonImpl = React.forwardRef<
740
734
  componentName={componentName}
741
735
  aria-hidden
742
736
  {...scrollIndicatorProps}
737
+ zIndex={1000}
743
738
  // @ts-expect-error
744
739
  position={strategy}
745
740
  left={x || 0}
@@ -835,6 +830,7 @@ export const Select = withStaticProperties(
835
830
  const [selectedIndex, setSelectedIndex] = React.useState(
836
831
  Math.max(0, listContentRef.current.indexOf(value))
837
832
  )
833
+
838
834
  const [controlledScrolling, setControlledScrolling] = React.useState(false)
839
835
  const [middlewareType, setMiddlewareType] = React.useState<'align' | 'fallback'>('align')
840
836
 
@@ -1271,6 +1267,11 @@ export const Select = withStaticProperties(
1271
1267
  position: strategy,
1272
1268
  top: y ?? '',
1273
1269
  left: x ?? '',
1270
+ outline: 0,
1271
+ overflowY: 'auto',
1272
+ listStyleType: 'none',
1273
+ scrollbarWidth: 'none',
1274
+ userSelect: 'none',
1274
1275
  },
1275
1276
  onPointerEnter() {
1276
1277
  setControlledScrolling(false)
@@ -1295,22 +1296,12 @@ export const Select = withStaticProperties(
1295
1296
  dataRef={context.dataRef}
1296
1297
  listRef={listItemsRef}
1297
1298
  onChange={setValue}
1298
- selectedIndex={0}
1299
+ selectedIndex={selectedIndex}
1299
1300
  setActiveIndex={setActiveIndex}
1300
1301
  setOpen={setOpen}
1301
1302
  setSelectedIndex={setSelectedIndex}
1302
1303
  value={value}
1303
- // trigger={trigger}
1304
- // onTriggerChange={setTrigger}
1305
- // contentId={useId() || ''}
1306
- // value={value}
1307
- // onValueChange={setValue}
1308
1304
  open={open}
1309
- // onOpenChange={setOpen}
1310
- // TODO
1311
- // dir={'rtl'} //direction}
1312
- // bubbleSelect={bubbleSelect}
1313
- // triggerPointerDownPosRef={triggerPointerDownPosRef}
1314
1305
  >
1315
1306
  {/* <Collection.Provider scope={__scopeSelect}>{children}</Collection.Provider> */}
1316
1307
  {children}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../src/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../src/Select.tsx"],"names":[],"mappings":"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"}