@oxy.so/bloom 3.0.1 → 3.1.0
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/docs/adoption-matrix.mdx +266 -0
- package/docs/checkbox.mdx +16 -0
- package/docs/composition.mdx +88 -16
- package/docs/date-picker.mdx +11 -0
- package/docs/field.mdx +35 -4
- package/docs/file-upload.mdx +13 -0
- package/docs/input-group.mdx +22 -0
- package/docs/input-otp.mdx +14 -0
- package/docs/layout.mdx +34 -0
- package/docs/migrating-to-3.0.mdx +43 -4
- package/docs/phone-input.mdx +17 -0
- package/docs/radio.mdx +16 -0
- package/docs/rating.mdx +14 -0
- package/docs/segmented-control.mdx +16 -4
- package/docs/select.mdx +22 -0
- package/docs/slider.mdx +14 -0
- package/docs/stepper.mdx +3 -1
- package/docs/switch.mdx +14 -0
- package/docs/text-field.mdx +14 -0
- package/docs/textarea.mdx +20 -0
- package/lib/commonjs/bottom-sheet/BottomSheetBase.js +11 -4
- package/lib/commonjs/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/commonjs/checkbox/Checkbox.js +24 -8
- package/lib/commonjs/checkbox/Checkbox.js.map +1 -1
- package/lib/commonjs/date-picker/TimeField.js +18 -6
- package/lib/commonjs/date-picker/TimeField.js.map +1 -1
- package/lib/commonjs/dialog/DialogContent.js +36 -29
- package/lib/commonjs/dialog/DialogContent.js.map +1 -1
- package/lib/commonjs/field/index.js +7 -0
- package/lib/commonjs/field/index.js.map +1 -1
- package/lib/commonjs/field/membership.js +105 -0
- package/lib/commonjs/field/membership.js.map +1 -0
- package/lib/commonjs/file-upload/FileUpload.js +17 -3
- package/lib/commonjs/file-upload/FileUpload.js.map +1 -1
- package/lib/commonjs/index.js +21 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +21 -0
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/input-group/InputGroup.js +18 -5
- package/lib/commonjs/input-group/InputGroup.js.map +1 -1
- package/lib/commonjs/input-otp/InputOtp.js +20 -8
- package/lib/commonjs/input-otp/InputOtp.js.map +1 -1
- package/lib/commonjs/layout/index.js +7 -0
- package/lib/commonjs/layout/index.js.map +1 -1
- package/lib/commonjs/layout/screen-scope.js +61 -0
- package/lib/commonjs/layout/screen-scope.js.map +1 -0
- package/lib/commonjs/phone-input/PhoneInput.js +20 -8
- package/lib/commonjs/phone-input/PhoneInput.js.map +1 -1
- package/lib/commonjs/radio/Radio.js +35 -9
- package/lib/commonjs/radio/Radio.js.map +1 -1
- package/lib/commonjs/rating/RatingInput.js +14 -6
- package/lib/commonjs/rating/RatingInput.js.map +1 -1
- package/lib/commonjs/segmented-control/SegmentedControl.js +38 -8
- package/lib/commonjs/segmented-control/SegmentedControl.js.map +1 -1
- package/lib/commonjs/select/Select.js +15 -3
- package/lib/commonjs/select/Select.js.map +1 -1
- package/lib/commonjs/select/Select.web.js +13 -5
- package/lib/commonjs/select/Select.web.js.map +1 -1
- package/lib/commonjs/slider/Slider.js +17 -3
- package/lib/commonjs/slider/Slider.js.map +1 -1
- package/lib/commonjs/stepper/Stepper.js +16 -7
- package/lib/commonjs/stepper/Stepper.js.map +1 -1
- package/lib/commonjs/styles/styled-primitives.js.map +1 -1
- package/lib/commonjs/switch/Switch.js +23 -8
- package/lib/commonjs/switch/Switch.js.map +1 -1
- package/lib/commonjs/text-field/TextField.js +19 -4
- package/lib/commonjs/text-field/TextField.js.map +1 -1
- package/lib/commonjs/textarea/Textarea.js +39 -15
- package/lib/commonjs/textarea/Textarea.js.map +1 -1
- package/lib/module/bottom-sheet/BottomSheetBase.js +8 -1
- package/lib/module/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/module/checkbox/Checkbox.js +24 -8
- package/lib/module/checkbox/Checkbox.js.map +1 -1
- package/lib/module/date-picker/TimeField.js +19 -5
- package/lib/module/date-picker/TimeField.js.map +1 -1
- package/lib/module/dialog/DialogContent.js +37 -30
- package/lib/module/dialog/DialogContent.js.map +1 -1
- package/lib/module/field/index.js +1 -0
- package/lib/module/field/index.js.map +1 -1
- package/lib/module/field/membership.js +101 -0
- package/lib/module/field/membership.js.map +1 -0
- package/lib/module/file-upload/FileUpload.js +17 -3
- package/lib/module/file-upload/FileUpload.js.map +1 -1
- package/lib/module/index.js +2 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +2 -2
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/input-group/InputGroup.js +19 -4
- package/lib/module/input-group/InputGroup.js.map +1 -1
- package/lib/module/input-otp/InputOtp.js +21 -7
- package/lib/module/input-otp/InputOtp.js.map +1 -1
- package/lib/module/layout/index.js +4 -1
- package/lib/module/layout/index.js.map +1 -1
- package/lib/module/layout/screen-scope.js +57 -0
- package/lib/module/layout/screen-scope.js.map +1 -0
- package/lib/module/phone-input/PhoneInput.js +22 -9
- package/lib/module/phone-input/PhoneInput.js.map +1 -1
- package/lib/module/radio/Radio.js +35 -9
- package/lib/module/radio/Radio.js.map +1 -1
- package/lib/module/rating/RatingInput.js +15 -5
- package/lib/module/rating/RatingInput.js.map +1 -1
- package/lib/module/segmented-control/SegmentedControl.js +38 -8
- package/lib/module/segmented-control/SegmentedControl.js.map +1 -1
- package/lib/module/select/Select.js +15 -3
- package/lib/module/select/Select.js.map +1 -1
- package/lib/module/select/Select.web.js +14 -4
- package/lib/module/select/Select.web.js.map +1 -1
- package/lib/module/slider/Slider.js +17 -3
- package/lib/module/slider/Slider.js.map +1 -1
- package/lib/module/stepper/Stepper.js +17 -6
- package/lib/module/stepper/Stepper.js.map +1 -1
- package/lib/module/styles/styled-primitives.js.map +1 -1
- package/lib/module/switch/Switch.js +23 -8
- package/lib/module/switch/Switch.js.map +1 -1
- package/lib/module/text-field/TextField.js +19 -4
- package/lib/module/text-field/TextField.js.map +1 -1
- package/lib/module/textarea/Textarea.js +39 -15
- package/lib/module/textarea/Textarea.js.map +1 -1
- package/lib/typescript/commonjs/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/checkbox/Checkbox.d.ts.map +1 -1
- package/lib/typescript/commonjs/checkbox/types.d.ts +5 -0
- package/lib/typescript/commonjs/checkbox/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/date-picker/TimeField.d.ts +1 -1
- package/lib/typescript/commonjs/date-picker/TimeField.d.ts.map +1 -1
- package/lib/typescript/commonjs/date-picker/types.d.ts +6 -3
- package/lib/typescript/commonjs/date-picker/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/DialogContent.d.ts.map +1 -1
- package/lib/typescript/commonjs/field/index.d.ts +2 -0
- package/lib/typescript/commonjs/field/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/field/membership.d.ts +60 -0
- package/lib/typescript/commonjs/field/membership.d.ts.map +1 -0
- package/lib/typescript/commonjs/file-upload/FileUpload.d.ts +1 -1
- package/lib/typescript/commonjs/file-upload/FileUpload.d.ts.map +1 -1
- package/lib/typescript/commonjs/floating/types.d.ts +13 -0
- package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -3
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +3 -3
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/input-group/InputGroup.d.ts +1 -1
- package/lib/typescript/commonjs/input-group/InputGroup.d.ts.map +1 -1
- package/lib/typescript/commonjs/input-otp/InputOtp.d.ts.map +1 -1
- package/lib/typescript/commonjs/input-otp/types.d.ts +7 -1
- package/lib/typescript/commonjs/input-otp/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/layout/index.d.ts +4 -1
- package/lib/typescript/commonjs/layout/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/layout/screen-scope.d.ts +40 -0
- package/lib/typescript/commonjs/layout/screen-scope.d.ts.map +1 -0
- package/lib/typescript/commonjs/phone-input/PhoneInput.d.ts.map +1 -1
- package/lib/typescript/commonjs/radio/Radio.d.ts +1 -1
- package/lib/typescript/commonjs/radio/Radio.d.ts.map +1 -1
- package/lib/typescript/commonjs/radio/types.d.ts +11 -3
- package/lib/typescript/commonjs/radio/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/rating/RatingInput.d.ts +1 -1
- package/lib/typescript/commonjs/rating/RatingInput.d.ts.map +1 -1
- package/lib/typescript/commonjs/rating/types.d.ts +6 -3
- package/lib/typescript/commonjs/rating/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/segmented-control/SegmentedControl.d.ts +18 -2
- package/lib/typescript/commonjs/segmented-control/SegmentedControl.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/Select.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/Select.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/types.d.ts +8 -1
- package/lib/typescript/commonjs/select/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/slider/Slider.d.ts.map +1 -1
- package/lib/typescript/commonjs/stepper/Stepper.d.ts +1 -1
- package/lib/typescript/commonjs/stepper/Stepper.d.ts.map +1 -1
- package/lib/typescript/commonjs/stepper/types.d.ts +8 -1
- package/lib/typescript/commonjs/stepper/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/styles/styled-primitives.d.ts +16 -0
- package/lib/typescript/commonjs/styles/styled-primitives.d.ts.map +1 -1
- package/lib/typescript/commonjs/switch/Switch.d.ts.map +1 -1
- package/lib/typescript/commonjs/switch/types.d.ts +7 -0
- package/lib/typescript/commonjs/switch/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/text-field/TextField.d.ts.map +1 -1
- package/lib/typescript/commonjs/textarea/Textarea.d.ts +1 -1
- package/lib/typescript/commonjs/textarea/Textarea.d.ts.map +1 -1
- package/lib/typescript/module/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
- package/lib/typescript/module/checkbox/Checkbox.d.ts.map +1 -1
- package/lib/typescript/module/checkbox/types.d.ts +5 -0
- package/lib/typescript/module/checkbox/types.d.ts.map +1 -1
- package/lib/typescript/module/date-picker/TimeField.d.ts +1 -1
- package/lib/typescript/module/date-picker/TimeField.d.ts.map +1 -1
- package/lib/typescript/module/date-picker/types.d.ts +6 -3
- package/lib/typescript/module/date-picker/types.d.ts.map +1 -1
- package/lib/typescript/module/dialog/DialogContent.d.ts.map +1 -1
- package/lib/typescript/module/field/index.d.ts +2 -0
- package/lib/typescript/module/field/index.d.ts.map +1 -1
- package/lib/typescript/module/field/membership.d.ts +60 -0
- package/lib/typescript/module/field/membership.d.ts.map +1 -0
- package/lib/typescript/module/file-upload/FileUpload.d.ts +1 -1
- package/lib/typescript/module/file-upload/FileUpload.d.ts.map +1 -1
- package/lib/typescript/module/floating/types.d.ts +13 -0
- package/lib/typescript/module/floating/types.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +3 -3
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +3 -3
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/input-group/InputGroup.d.ts +1 -1
- package/lib/typescript/module/input-group/InputGroup.d.ts.map +1 -1
- package/lib/typescript/module/input-otp/InputOtp.d.ts.map +1 -1
- package/lib/typescript/module/input-otp/types.d.ts +7 -1
- package/lib/typescript/module/input-otp/types.d.ts.map +1 -1
- package/lib/typescript/module/layout/index.d.ts +4 -1
- package/lib/typescript/module/layout/index.d.ts.map +1 -1
- package/lib/typescript/module/layout/screen-scope.d.ts +40 -0
- package/lib/typescript/module/layout/screen-scope.d.ts.map +1 -0
- package/lib/typescript/module/phone-input/PhoneInput.d.ts.map +1 -1
- package/lib/typescript/module/radio/Radio.d.ts +1 -1
- package/lib/typescript/module/radio/Radio.d.ts.map +1 -1
- package/lib/typescript/module/radio/types.d.ts +11 -3
- package/lib/typescript/module/radio/types.d.ts.map +1 -1
- package/lib/typescript/module/rating/RatingInput.d.ts +1 -1
- package/lib/typescript/module/rating/RatingInput.d.ts.map +1 -1
- package/lib/typescript/module/rating/types.d.ts +6 -3
- package/lib/typescript/module/rating/types.d.ts.map +1 -1
- package/lib/typescript/module/segmented-control/SegmentedControl.d.ts +18 -2
- package/lib/typescript/module/segmented-control/SegmentedControl.d.ts.map +1 -1
- package/lib/typescript/module/select/Select.d.ts.map +1 -1
- package/lib/typescript/module/select/Select.web.d.ts.map +1 -1
- package/lib/typescript/module/select/types.d.ts +8 -1
- package/lib/typescript/module/select/types.d.ts.map +1 -1
- package/lib/typescript/module/slider/Slider.d.ts.map +1 -1
- package/lib/typescript/module/stepper/Stepper.d.ts +1 -1
- package/lib/typescript/module/stepper/Stepper.d.ts.map +1 -1
- package/lib/typescript/module/stepper/types.d.ts +8 -1
- package/lib/typescript/module/stepper/types.d.ts.map +1 -1
- package/lib/typescript/module/styles/styled-primitives.d.ts +16 -0
- package/lib/typescript/module/styles/styled-primitives.d.ts.map +1 -1
- package/lib/typescript/module/switch/Switch.d.ts.map +1 -1
- package/lib/typescript/module/switch/types.d.ts +7 -0
- package/lib/typescript/module/switch/types.d.ts.map +1 -1
- package/lib/typescript/module/text-field/TextField.d.ts.map +1 -1
- package/lib/typescript/module/textarea/Textarea.d.ts +1 -1
- package/lib/typescript/module/textarea/Textarea.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/bottom-sheet/BottomSheetBase.tsx +6 -1
- package/src/checkbox/Checkbox.tsx +24 -8
- package/src/checkbox/types.ts +5 -0
- package/src/date-picker/TimeField.tsx +14 -3
- package/src/date-picker/types.ts +6 -3
- package/src/dialog/DialogContent.tsx +6 -2
- package/src/field/index.ts +2 -0
- package/src/field/membership.ts +164 -0
- package/src/file-upload/FileUpload.tsx +14 -3
- package/src/floating/types.ts +13 -0
- package/src/index.ts +9 -2
- package/src/index.web.ts +9 -2
- package/src/input-group/InputGroup.tsx +13 -2
- package/src/input-otp/InputOtp.tsx +19 -5
- package/src/input-otp/types.ts +7 -1
- package/src/layout/index.ts +4 -1
- package/src/layout/screen-scope.tsx +54 -0
- package/src/phone-input/PhoneInput.tsx +20 -8
- package/src/radio/Radio.tsx +32 -9
- package/src/radio/types.ts +11 -3
- package/src/rating/RatingInput.tsx +10 -3
- package/src/rating/types.ts +6 -3
- package/src/segmented-control/SegmentedControl.tsx +51 -8
- package/src/select/Select.tsx +14 -2
- package/src/select/Select.web.tsx +11 -2
- package/src/select/types.ts +8 -1
- package/src/slider/Slider.tsx +13 -3
- package/src/stepper/Stepper.tsx +12 -4
- package/src/stepper/types.ts +8 -1
- package/src/styles/styled-primitives.ts +16 -0
- package/src/switch/Switch.tsx +22 -9
- package/src/switch/types.ts +7 -0
- package/src/text-field/TextField.tsx +16 -4
- package/src/textarea/Textarea.tsx +38 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useMemo","useRef","useState","Platform","TextInput","View","useTheme","BUTTON_SHADOW","DANGER_TABLE","colorRamp","mixColor","resolveButtonRamps","MONO_FONT_FAMILY","TEXT_FIELD_RADIUS","TEXT_FIELD_TRANSITION_MS","TYPE_SCALE","jsx","_jsx","DIGITS_ONLY","BOX_SIZE","BOX_GAP","GROUP_GAP","RING_WIDTH","DIGIT_TEXT","IS_WEB","OS","resolveInputOtpPalette","theme","c","colors","accent","neutral","n","red","negative","isDark","background","backgroundDisabled","backgroundInvalid","border","borderHover","borderInvalid","ring","text","textDisabled","textInvalid","shadow","dark","card","light","resolveInputOtpBoxPaint","palette","hovered","focused","invalid","disabled","interactive","borderColor","backgroundColor","color","boxShadow","clean","raw","length","replace","slice","WEB_BOX_STYLE","outlineWidth","outlineStyle","transitionProperty","transitionDuration","transitionTimingFunction","undefined","InputOtp","value","defaultValue","onChange","onComplete","isInvalid","isDisabled","disabledAlias","groupEvery","autoFocus","accessibilityLabel","style","testID","inputsRef","internal","setInternal","focusedIndex","setFocusedIndex","hoveredIndex","setHoveredIndex","controlled","code","commit","next","cleaned","focusBox","index","current","Math","max","min","focus","writeFrom","digits","incoming","chars","padEnd","split","offset","join","trimEnd","onKeyPress","event","key","nativeEvent","preventDefault","role","flexDirection","alignItems","gap","children","Array","from","_","digit","gapBefore","paint","ref","node","onMouseEnter","onMouseLeave","inputMode","keyboardType","autoComplete","textContentType","maxLength","selectTextOnFocus","caretHidden","editable","onChangeText","onFocus","onBlur","keyboardAppearance","width","height","marginLeft","padding","borderRadius","borderWidth","textAlign","textAlignVertical","fontFamily","fontSize","fontWeight","fontVariant","includeFontPadding","lineHeight","cursor"],"sourceRoot":"../../../src","sources":["input-otp/InputOtp.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrE,SACEC,QAAQ,EACRC,SAAS,EACTC,IAAI,QAIC,cAAc;AAErB,SAASC,QAAQ,QAAQ,uBAAoB;AAE7C,SACEC,aAAa,EACbC,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,kBAAkB,QACb,qBAAkB;AACzB,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,wBAAwB,QACnB,yBAAsB;AAC7B,SAASC,UAAU,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,WAAW,GAAG,KAAK;AACzB,MAAMC,QAAQ,GAAG,EAAE;AACnB,MAAMC,OAAO,GAAG,CAAC;AACjB,MAAMC,SAAS,GAAG,EAAE;AACpB,MAAMC,UAAU,GAAG,CAAC;AACpB;AACA,MAAMC,UAAU,GAAGR,UAAU,CAAC,gBAAgB,CAAC;AAC/C,MAAMS,MAAM,GAAGrB,QAAQ,CAACsB,EAAE,KAAK,KAAK;AA2BpC;AACA,OAAO,SAASC,sBAAsBA,CAACC,KAAY,EAAmB;EACpE,MAAMC,CAAC,GAAGD,KAAK,CAACE,MAAM;EACtB,MAAM;IAAEC,MAAM;IAAEC,OAAO,EAAEC;EAAE,CAAC,GAAGrB,kBAAkB,CAACgB,KAAK,CAAC;EACxD,MAAMM,GAAG,GAAGxB,SAAS,CAACmB,CAAC,CAACM,QAAQ,EAAE1B,YAAY,CAAC;EAE/C,IAAImB,KAAK,CAACQ,MAAM,EAAE;IAChB,OAAO;MACLC,UAAU,EAAEJ,CAAC,CAAC,GAAG,CAAC;MAClBK,kBAAkB,EAAEL,CAAC,CAAC,GAAG,CAAC;MAC1BM,iBAAiB,EAAE5B,QAAQ,CAACkB,CAAC,CAACQ,UAAU,EAAEH,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;MACxDM,MAAM,EAAEP,CAAC,CAAC,GAAG,CAAC;MACdQ,WAAW,EAAER,CAAC,CAAC,GAAG,CAAC;MACnBS,aAAa,EAAER,GAAG,CAAC,GAAG,CAAC;MACvBS,IAAI,EAAEZ,MAAM,CAAC,GAAG,CAAC;MACjBa,IAAI,EAAEf,CAAC,CAACe,IAAI;MACZC,YAAY,EAAEZ,CAAC,CAAC,GAAG,CAAC;MACpBa,WAAW,EAAEZ,GAAG,CAAC,GAAG,CAAC;MACrBa,MAAM,EAAEvC,aAAa,CAACwC;IACxB,CAAC;EACH;EACA,OAAO;IACLX,UAAU,EAAER,CAAC,CAACoB,IAAI;IAClBX,kBAAkB,EAAEL,CAAC,CAAC,GAAG,CAAC;IAC1BM,iBAAiB,EAAEL,GAAG,CAAC,GAAG,CAAC;IAC3BM,MAAM,EAAEP,CAAC,CAAC,GAAG,CAAC;IACdQ,WAAW,EAAER,CAAC,CAAC,GAAG,CAAC;IACnBS,aAAa,EAAER,GAAG,CAAC,GAAG,CAAC;IACvBS,IAAI,EAAEZ,MAAM,CAAC,GAAG,CAAC;IACjBa,IAAI,EAAEf,CAAC,CAACe,IAAI;IACZC,YAAY,EAAEZ,CAAC,CAAC,GAAG,CAAC;IACpBa,WAAW,EAAEZ,GAAG,CAAC,GAAG,CAAC;IACrBa,MAAM,EAAEvC,aAAa,CAAC0C;EACxB,CAAC;AACH;AASA;AACA,OAAO,SAASC,uBAAuBA,CACrCC,OAAwB,EACxB;EAAEC,OAAO;EAAEC,OAAO;EAAEC,OAAO;EAAEC;AAA2B,CAAC,EAC2B;EACpF,MAAMC,WAAW,GAAG,CAACD,QAAQ;EAC7B;EACA;EACA;EACA,MAAME,WAAW,GACfJ,OAAO,IAAIG,WAAW,GAClBL,OAAO,CAACT,IAAI,GACZY,OAAO,GACLH,OAAO,CAACV,aAAa,GACrBW,OAAO,IAAII,WAAW,GACpBL,OAAO,CAACX,WAAW,GACnBW,OAAO,CAACZ,MAAM;EACxB,MAAMmB,eAAe,GAAGH,QAAQ,GAC5BJ,OAAO,CAACd,kBAAkB,GAC1BiB,OAAO,GACLH,OAAO,CAACb,iBAAiB,GACzBa,OAAO,CAACf,UAAU;EACxB,MAAMuB,KAAK,GAAGJ,QAAQ,GAAGJ,OAAO,CAACP,YAAY,GAAGU,OAAO,GAAGH,OAAO,CAACN,WAAW,GAAGM,OAAO,CAACR,IAAI;EAC5F,MAAMiB,SAAS,GAAGL,QAAQ,GACtB,MAAM,GACNF,OAAO,GACL,SAAS/B,UAAU,MAAM6B,OAAO,CAACT,IAAI,KAAKS,OAAO,CAACL,MAAM,EAAE,GAC1DK,OAAO,CAACL,MAAM;EACpB,OAAO;IAAEY,eAAe;IAAED,WAAW;IAAEE,KAAK;IAAEC;EAAU,CAAC;AAC3D;AAEA,MAAMC,KAAK,GAAGA,CAACC,GAAW,EAAEC,MAAc,KAAKD,GAAG,CAACE,OAAO,CAAC9C,WAAW,EAAE,EAAE,CAAC,CAAC+C,KAAK,CAAC,CAAC,EAAEF,MAAM,CAAC;AAE5F,MAAMG,aAAoC,GAAG1C,MAAM,GAC9C;EACC2C,YAAY,EAAE,CAAC;EACfC,YAAY,EAAE,MAAM;EACpBC,kBAAkB,EAAE,4CAA4C;EAChEC,kBAAkB,EAAE,GAAGxD,wBAAwB,IAAI;EACnDyD,wBAAwB,EAAE;AAC5B,CAAC,GACDC,SAAS;AAEb,OAAO,SAASC,QAAQA,CAAC;EACvBV,MAAM,GAAG,CAAC;EACVW,KAAK;EACLC,YAAY,GAAG,EAAE;EACjBC,QAAQ;EACRC,UAAU;EACVC,SAAS,GAAG,KAAK;EACjBC,UAAU;EACVxB,QAAQ,EAAEyB,aAAa;EACvBC,UAAU;EACVC,SAAS,GAAG,KAAK;EACjBC,kBAAkB,GAAG,eAAe;EACpCC,KAAK;EACLC;AACa,CAAC,EAAE;EAChB,MAAM1D,KAAK,GAAGrB,QAAQ,CAAC,CAAC;EACxB,MAAM6C,OAAO,GAAGnD,OAAO,CAAC,MAAM0B,sBAAsB,CAACC,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACrE,MAAM4B,QAAQ,GAAGwB,UAAU,IAAIC,aAAa,IAAI,KAAK;EAErD,MAAMM,SAAS,GAAGrF,MAAM,CAA0B,EAAE,CAAC;EACrD,MAAM,CAACsF,QAAQ,EAAEC,WAAW,CAAC,GAAGtF,QAAQ,CAAC,MAAM2D,KAAK,CAACc,YAAY,EAAEZ,MAAM,CAAC,CAAC;EAC3E,MAAM,CAAC0B,YAAY,EAAEC,eAAe,CAAC,GAAGxF,QAAQ,CAAgB,IAAI,CAAC;EACrE,MAAM,CAACyF,YAAY,EAAEC,eAAe,CAAC,GAAG1F,QAAQ,CAAgB,IAAI,CAAC;EAErE,MAAM2F,UAAU,GAAGnB,KAAK,KAAKF,SAAS;EACtC,MAAMsB,IAAI,GAAGjC,KAAK,CAACgC,UAAU,GAAGnB,KAAK,GAAGa,QAAQ,EAAExB,MAAM,CAAC;EAEzD,MAAMgC,MAAM,GAAGhG,WAAW,CACvBiG,IAAY,IAAK;IAChB,MAAMC,OAAO,GAAGpC,KAAK,CAACmC,IAAI,EAAEjC,MAAM,CAAC;IACnC,IAAI,CAAC8B,UAAU,EAAEL,WAAW,CAACS,OAAO,CAAC;IACrCrB,QAAQ,GAAGqB,OAAO,CAAC;IACnB,IAAIA,OAAO,CAAClC,MAAM,KAAKA,MAAM,EAAEc,UAAU,GAAGoB,OAAO,CAAC;EACtD,CAAC,EACD,CAACJ,UAAU,EAAE9B,MAAM,EAAEa,QAAQ,EAAEC,UAAU,CAC3C,CAAC;EAED,MAAMqB,QAAQ,GAAGnG,WAAW,CACzBoG,KAAa,IAAK;IACjBb,SAAS,CAACc,OAAO,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACJ,KAAK,EAAEpC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAEyC,KAAK,CAAC,CAAC;EACtE,CAAC,EACD,CAACzC,MAAM,CACT,CAAC;;EAED;EACA,MAAM0C,SAAS,GAAGA,CAACN,KAAa,EAAEO,MAAc,KAAK;IACnD,MAAMC,QAAQ,GAAGD,MAAM,CAAC1C,OAAO,CAAC9C,WAAW,EAAE,EAAE,CAAC;IAChD,IAAIyF,QAAQ,KAAK,EAAE,EAAE;IACrB,MAAMC,KAAK,GAAGd,IAAI,CAACe,MAAM,CAAC9C,MAAM,EAAE,GAAG,CAAC,CAAC+C,KAAK,CAAC,EAAE,CAAC;IAChD,KAAK,IAAIC,MAAM,GAAG,CAAC,EAAEA,MAAM,GAAGJ,QAAQ,CAAC5C,MAAM,IAAIoC,KAAK,GAAGY,MAAM,GAAGhD,MAAM,EAAEgD,MAAM,IAAI,CAAC,EAAE;MACrFH,KAAK,CAACT,KAAK,GAAGY,MAAM,CAAC,GAAGJ,QAAQ,CAACI,MAAM,CAAW;IACpD;IACAhB,MAAM,CAACa,KAAK,CAACI,IAAI,CAAC,EAAE,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;IAChCf,QAAQ,CAACC,KAAK,GAAGQ,QAAQ,CAAC5C,MAAM,CAAC;EACnC,CAAC;EAED,MAAMmD,UAAU,GAAGA,CAACC,KAAuD,EAAEhB,KAAa,KAAK;IAC7F,MAAM;MAAEiB;IAAI,CAAC,GAAGD,KAAK,CAACE,WAAW;IACjC,IAAID,GAAG,KAAK,WAAW,EAAE;MACvBD,KAAK,CAACG,cAAc,CAAC,CAAC;MACtB,MAAMV,KAAK,GAAGd,IAAI,CAACe,MAAM,CAAC9C,MAAM,EAAE,GAAG,CAAC,CAAC+C,KAAK,CAAC,EAAE,CAAC;MAChD,IAAIhB,IAAI,CAACK,KAAK,CAAC,IAAIL,IAAI,CAACK,KAAK,CAAC,KAAK,GAAG,EAAE;QACtC;QACA;QACAS,KAAK,CAACT,KAAK,CAAC,GAAG,GAAG;QAClBJ,MAAM,CAACa,KAAK,CAACI,IAAI,CAAC,EAAE,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;QAChC;MACF;MACAL,KAAK,CAACP,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;MACnCJ,MAAM,CAACa,KAAK,CAACI,IAAI,CAAC,EAAE,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;MAChCf,QAAQ,CAACC,KAAK,GAAG,CAAC,CAAC;MACnB;IACF;IACA,IAAIiB,GAAG,KAAK,WAAW,EAAE;MACvBD,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBpB,QAAQ,CAACC,KAAK,GAAG,CAAC,CAAC;IACrB,CAAC,MAAM,IAAIiB,GAAG,KAAK,YAAY,EAAE;MAC/BD,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBpB,QAAQ,CAACC,KAAK,GAAG,CAAC,CAAC;IACrB;EACF,CAAC;EAED,oBACElF,IAAA,CAACZ,IAAI;IACHkH,IAAI,EAAC,OAAO;IACZpC,kBAAkB,EAAEA,kBAAmB;IACvCE,MAAM,EAAEA;IACR;IACA;IAAA;IACAD,KAAK,EAAE,CAAC;MAAEoC,aAAa,EAAE,KAAK;MAAEC,UAAU,EAAE,QAAQ;MAAEC,GAAG,EAAEtG;IAAQ,CAAC,EAAEgE,KAAK,CAAE;IAAAuC,QAAA,EAC5EC,KAAK,CAACC,IAAI,CAAC;MAAE9D;IAAO,CAAC,EAAE,CAAC+D,CAAC,EAAE3B,KAAK,KAAK;MACpC,MAAM4B,KAAK,GAAGjC,IAAI,CAACK,KAAK,CAAC,IAAI,EAAE;MAC/B,MAAM6B,SAAS,GAAG/C,UAAU,KAAKT,SAAS,IAAIS,UAAU,GAAG,CAAC,IAAIkB,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGlB,UAAU,KAAK,CAAC;MACrG,MAAMgD,KAAK,GAAG/E,uBAAuB,CAACC,OAAO,EAAE;QAC7CC,OAAO,EAAEuC,YAAY,KAAKQ,KAAK;QAC/B9C,OAAO,EAAEoC,YAAY,KAAKU,KAAK;QAC/B7C,OAAO,EAAEwB,SAAS;QAClBvB;MACF,CAAC,CAAC;MAEF,oBACEtC,IAAA,CAACb,SAAS;QAER8H,GAAG,EAAGC,IAAI,IAAK;UACb7C,SAAS,CAACc,OAAO,CAACD,KAAK,CAAC,GAAGgC,IAAI;QACjC,CAAE;QAAA,IACG3G,MAAM,GACN;UACC+B,QAAQ;UACR6E,YAAY,EAAEA,CAAA,KAAMxC,eAAe,CAACO,KAAK,CAAC;UAC1CkC,YAAY,EAAEA,CAAA,KAAMzC,eAAe,CAAEQ,OAAO,IAAMA,OAAO,KAAKD,KAAK,GAAG,IAAI,GAAGC,OAAQ;QACvF,CAAC,GACD,CAAC,CAAC;QACNf,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,IAAIc,KAAK,EAAE,GAAG3B;QACxC;QACA;QACA;QAAA;QACA8D,SAAS,EAAC,SAAS;QACnBC,YAAY,EAAC,YAAY;QACzBC,YAAY,EAAErI,QAAQ,CAACsB,EAAE,KAAK,SAAS,GAAG,SAAS,GAAG,eAAgB;QACtEgH,eAAe,EAAC,aAAa;QAC7BvD,SAAS,EAAEA,SAAS,IAAIiB,KAAK,KAAK;QAClC;QAAA;QACAuC,SAAS,EAAE3E,MAAO;QAClB4E,iBAAiB;QACjBC,WAAW,EAAE,KAAM;QACnBC,QAAQ,EAAE,CAACtF,QAAS;QACpB4B,kBAAkB,EAAE,SAASgB,KAAK,GAAG,CAAC,OAAOpC,MAAM,EAAG;QACtD,gBAAce,SAAS,IAAIN,SAAU;QACrC,iBAAejB,QAAQ,IAAIiB,SAAU;QACrCE,KAAK,EAAEqD,KAAK,KAAK,GAAG,GAAG,EAAE,GAAGA,KAAM;QAClCe,YAAY,EAAGnG,IAAI,IAAK8D,SAAS,CAACN,KAAK,EAAExD,IAAI,CAAE;QAC/CuE,UAAU,EAAGC,KAAK,IAAKD,UAAU,CAACC,KAAK,EAAEhB,KAAK,CAAE;QAChD4C,OAAO,EAAEA,CAAA,KAAMrD,eAAe,CAACS,KAAK,CAAE;QACtC6C,MAAM,EAAEA,CAAA,KAAMtD,eAAe,CAAEU,OAAO,IAAMA,OAAO,KAAKD,KAAK,GAAG,IAAI,GAAGC,OAAQ,CAAE;QACjF6C,kBAAkB,EAAEtH,KAAK,CAACQ,MAAM,GAAG,MAAM,GAAG,OAAQ;QACpDiD,KAAK,EAAE,CACL;UACE8D,KAAK,EAAE/H,QAAQ;UACfgI,MAAM,EAAEhI,QAAQ;UAChBiI,UAAU,EAAEpB,SAAS,GAAG3G,SAAS,GAAG,CAAC;UACrCgI,OAAO,EAAE,CAAC;UACVC,YAAY,EAAEzI,iBAAiB;UAC/B0I,WAAW,EAAE,CAAC;UACdC,SAAS,EAAE,QAAQ;UACnBC,iBAAiB,EAAE,QAAQ;UAC3BC,UAAU,EAAE9I,gBAAgB;UAC5B+I,QAAQ,EAAEpI,UAAU,CAACoI,QAAQ;UAC7BC,UAAU,EAAErI,UAAU,CAACqI,UAAU;UACjCC,WAAW,EAAE,CAAC,cAAc,CAAC;UAC7BC,kBAAkB,EAAE,KAAK;UACzB,GAAG7B;QACL,CAAC,EACDzG,MAAM,GAAG;UAAEuI,UAAU,EAAExI,UAAU,CAACwI;QAAW,CAAC,GAAGvF,SAAS,EAC1DhD,MAAM,IAAI+B,QAAQ,GAAI;UAAEyG,MAAM,EAAE;QAAc,CAAC,GAA4BxF,SAAS,EACpFN,aAAa;MACb,GAtDGiC,KAuDN,CAAC;IAEN,CAAC;EAAC,CACE,CAAC;AAEX","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useRef","useState","Platform","TextInput","View","useTheme","BUTTON_SHADOW","DANGER_TABLE","colorRamp","mixColor","resolveButtonRamps","MONO_FONT_FAMILY","TEXT_FIELD_RADIUS","TEXT_FIELD_TRANSITION_MS","TYPE_SCALE","useFieldMembership","jsx","_jsx","DIGITS_ONLY","BOX_SIZE","BOX_GAP","GROUP_GAP","RING_WIDTH","DIGIT_TEXT","IS_WEB","OS","resolveInputOtpPalette","theme","c","colors","accent","neutral","n","red","negative","isDark","background","backgroundDisabled","backgroundInvalid","border","borderHover","borderInvalid","ring","text","textDisabled","textInvalid","shadow","dark","card","light","resolveInputOtpBoxPaint","palette","hovered","focused","invalid","disabled","interactive","borderColor","backgroundColor","color","boxShadow","clean","raw","length","replace","slice","WEB_BOX_STYLE","outlineWidth","outlineStyle","transitionProperty","transitionDuration","transitionTimingFunction","undefined","InputOtp","value","defaultValue","onChange","onComplete","isInvalid","isDisabled","disabledAlias","groupEvery","autoFocus","accessibilityLabel","style","testID","membership","groupName","inputsRef","internal","setInternal","focusedIndex","setFocusedIndex","hoveredIndex","setHoveredIndex","controlled","code","commit","next","cleaned","focusBox","index","current","Math","max","min","focus","writeFrom","digits","incoming","chars","padEnd","split","offset","join","trimEnd","onKeyPress","event","key","nativeEvent","preventDefault","role","describedBy","flexDirection","alignItems","gap","children","Array","from","_","digit","gapBefore","paint","ref","node","onMouseEnter","onMouseLeave","inputMode","keyboardType","autoComplete","textContentType","maxLength","selectTextOnFocus","caretHidden","editable","onChangeText","onFocus","onBlur","keyboardAppearance","width","height","marginLeft","padding","borderRadius","borderWidth","textAlign","textAlignVertical","fontFamily","fontSize","fontWeight","fontVariant","includeFontPadding","lineHeight","cursor"],"sourceRoot":"../../../src","sources":["input-otp/InputOtp.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,10 +7,13 @@
|
|
|
7
7
|
* `edge` answers "how far from the edge"; `bottom-edge` and `top-edge` answer
|
|
8
8
|
* "what is already parked there"; `scroll-offset` answers "which scroller am I
|
|
9
9
|
* following". A surface that floats at an edge needs the first two; chrome that
|
|
10
|
-
* reacts to scrolling needs the third.
|
|
10
|
+
* reacts to scrolling needs the third. `screen-scope` answers "am I my own
|
|
11
|
+
* screen" — a modal or a sheet, whose chrome must claim and read its own edges
|
|
12
|
+
* rather than the screen's underneath.
|
|
11
13
|
*/
|
|
12
14
|
export { EDGE_GAP, windowEdgeGap } from "./edge.js";
|
|
13
15
|
export { BottomEdgeProvider, useBottomEdgeInset, useClaimBottomEdge } from "./bottom-edge.js";
|
|
14
16
|
export { TopEdgeProvider, useClaimTopEdge, useTopEdgeInset } from "./top-edge.js";
|
|
15
17
|
export { ScrollOffsetProvider, useScrollOffset } from "./scroll-offset.js";
|
|
18
|
+
export { ScreenScope } from "./screen-scope.js";
|
|
16
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EDGE_GAP","windowEdgeGap","BottomEdgeProvider","useBottomEdgeInset","useClaimBottomEdge","TopEdgeProvider","useClaimTopEdge","useTopEdgeInset","ScrollOffsetProvider","useScrollOffset"],"sourceRoot":"../../../src","sources":["layout/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,aAAa,QAAQ,WAAQ;AAChD,SAASC,kBAAkB,EAAEC,kBAAkB,EAAEC,kBAAkB,QAAQ,kBAAe;AAC1F,SAASC,eAAe,EAAEC,eAAe,EAAEC,eAAe,QAAQ,eAAY;AAC9E,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,oBAAiB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["EDGE_GAP","windowEdgeGap","BottomEdgeProvider","useBottomEdgeInset","useClaimBottomEdge","TopEdgeProvider","useClaimTopEdge","useTopEdgeInset","ScrollOffsetProvider","useScrollOffset","ScreenScope"],"sourceRoot":"../../../src","sources":["layout/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,aAAa,QAAQ,WAAQ;AAChD,SAASC,kBAAkB,EAAEC,kBAAkB,EAAEC,kBAAkB,QAAQ,kBAAe;AAC1F,SAASC,eAAe,EAAEC,eAAe,EAAEC,eAAe,QAAQ,eAAY;AAC9E,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,oBAAiB;AACvE,SAASC,WAAW,QAAQ,mBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A surface that is its OWN screen, for the two contracts that are screen-scoped.
|
|
5
|
+
*
|
|
6
|
+
* ## What goes wrong without it
|
|
7
|
+
*
|
|
8
|
+
* `top-edge.tsx` and `scroll-offset.ts` are per-SCREEN by design: one registry
|
|
9
|
+
* of what is parked at the top, one scroller that the chrome follows. A modal,
|
|
10
|
+
* a bottom sheet or a detail panel is a second screen drawn over the first, and
|
|
11
|
+
* both contracts reach into it from outside:
|
|
12
|
+
*
|
|
13
|
+
* - A header inside a full-screen dialog CLAIMS the top edge of the screen
|
|
14
|
+
* underneath it. The claim combines with `max`, so the page behind the modal
|
|
15
|
+
* is padded for a header it cannot see — and when the modal closes the claim
|
|
16
|
+
* unregisters, so the padding appears and disappears with the modal.
|
|
17
|
+
* - Chrome inside the sheet READS the page's scroll offset and follows a
|
|
18
|
+
* scroller the user is not touching. The sheet's own list scrolls and the
|
|
19
|
+
* sheet's header does not react; the page behind scrolls and it does.
|
|
20
|
+
*
|
|
21
|
+
* Neither throws, neither warns, and both look like layout decisions.
|
|
22
|
+
*
|
|
23
|
+
* ## What it does
|
|
24
|
+
*
|
|
25
|
+
* Nests a fresh `TopEdgeProvider` (an empty registry the surface's own chrome
|
|
26
|
+
* claims against) and publishes a `null` scroll offset, which is the honest
|
|
27
|
+
* value: nothing inside has said which scroller it owns yet. A scroll owner
|
|
28
|
+
* INSIDE the surface publishes its own offset in the ordinary way and wins,
|
|
29
|
+
* because it is nearer.
|
|
30
|
+
*
|
|
31
|
+
* The BOTTOM edge is scoped too, and for the same reason read from the other
|
|
32
|
+
* side: the bottom edge is the tab bar and the FAB, and a sheet covers both. A
|
|
33
|
+
* form inside a sheet that padded itself for a tab bar it is drawn over ends in
|
|
34
|
+
* a band of empty space.
|
|
35
|
+
*
|
|
36
|
+
* Bloom's own overlay surfaces mount it (`DialogBody`, `BottomSheetBase`), so a
|
|
37
|
+
* consumer gets this by using them. It is exported for a surface Bloom does not
|
|
38
|
+
* own — an app's own full-screen route presented over another.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
import { BottomEdgeProvider } from "./bottom-edge.js";
|
|
42
|
+
import { ScrollOffsetProvider } from "./scroll-offset.js";
|
|
43
|
+
import { TopEdgeProvider } from "./top-edge.js";
|
|
44
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
45
|
+
export function ScreenScope({
|
|
46
|
+
children
|
|
47
|
+
}) {
|
|
48
|
+
return /*#__PURE__*/_jsx(TopEdgeProvider, {
|
|
49
|
+
children: /*#__PURE__*/_jsx(BottomEdgeProvider, {
|
|
50
|
+
children: /*#__PURE__*/_jsx(ScrollOffsetProvider, {
|
|
51
|
+
value: null,
|
|
52
|
+
children: children
|
|
53
|
+
})
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=screen-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BottomEdgeProvider","ScrollOffsetProvider","TopEdgeProvider","jsx","_jsx","ScreenScope","children","value"],"sourceRoot":"../../../src","sources":["layout/screen-scope.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,kBAAkB,QAAQ,kBAAe;AAClD,SAASC,oBAAoB,QAAQ,oBAAiB;AACtD,SAASC,eAAe,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7C,OAAO,SAASC,WAAWA,CAAC;EAAEC;AAA4B,CAAC,EAAE;EAC3D,oBACEF,IAAA,CAACF,eAAe;IAAAI,QAAA,eACdF,IAAA,CAACJ,kBAAkB;MAAAM,QAAA,eAGjBF,IAAA,CAACH,oBAAoB;QAACM,KAAK,EAAE,IAAK;QAAAD,QAAA,EAAEA;MAAQ,CAAuB;IAAC,CAClD;EAAC,CACN,CAAC;AAEtB","ignoreList":[]}
|
|
@@ -5,7 +5,8 @@ import { View } from 'react-native';
|
|
|
5
5
|
import { useControllableState } from "../hooks/use-controllable-state.js";
|
|
6
6
|
import { TextField, TextFieldHint, TextFieldIcon, TextFieldInput, TextFieldLabel } from "../text-field/index.js";
|
|
7
7
|
import { CountryCodeSelect } from "./CountryCodeSelect.js";
|
|
8
|
-
import {
|
|
8
|
+
import { useFieldMembership } from "../field/membership.js";
|
|
9
|
+
|
|
9
10
|
/**
|
|
10
11
|
* A phone number field: `Input` with a country-code `Select` in its
|
|
11
12
|
* leading addon — `label`, the field (`h-9 pl-1 pr-2`, `h-8 pl-1 pr-1.5` on
|
|
@@ -16,6 +17,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
16
17
|
* (`onCountryChange` hands over both the ISO code and the `Country`), so a
|
|
17
18
|
* caller composes the E.164 string however its backend wants it.
|
|
18
19
|
*/
|
|
20
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
21
|
export function PhoneInput({
|
|
20
22
|
label,
|
|
21
23
|
accessibilityLabel,
|
|
@@ -23,7 +25,7 @@ export function PhoneInput({
|
|
|
23
25
|
hint,
|
|
24
26
|
required,
|
|
25
27
|
tooltip,
|
|
26
|
-
size
|
|
28
|
+
size,
|
|
27
29
|
isInvalid,
|
|
28
30
|
disabled,
|
|
29
31
|
value,
|
|
@@ -40,6 +42,17 @@ export function PhoneInput({
|
|
|
40
42
|
testID,
|
|
41
43
|
style
|
|
42
44
|
}) {
|
|
45
|
+
// The country select is a SECOND control inside this field, and it is the one
|
|
46
|
+
// a `Field disabled` used to miss: the number input reads the field context
|
|
47
|
+
// itself, the select does not, so the picker stayed operable inside a disabled
|
|
48
|
+
// field. Resolving membership here hands the same state to both halves.
|
|
49
|
+
const field = useFieldMembership({
|
|
50
|
+
accessibilityLabel,
|
|
51
|
+
label: label ?? 'Phone number',
|
|
52
|
+
disabled,
|
|
53
|
+
invalid: isInvalid,
|
|
54
|
+
required
|
|
55
|
+
});
|
|
43
56
|
const [text, setText] = useControllableState({
|
|
44
57
|
value,
|
|
45
58
|
defaultValue,
|
|
@@ -51,27 +64,27 @@ export function PhoneInput({
|
|
|
51
64
|
}, style],
|
|
52
65
|
testID: testID,
|
|
53
66
|
children: [label ? /*#__PURE__*/_jsx(TextFieldLabel, {
|
|
54
|
-
required: required,
|
|
67
|
+
required: field.required,
|
|
55
68
|
tooltip: tooltip,
|
|
56
69
|
children: label
|
|
57
70
|
}) : null, /*#__PURE__*/_jsxs(TextField, {
|
|
58
71
|
size: size,
|
|
59
|
-
isInvalid:
|
|
60
|
-
disabled: disabled,
|
|
72
|
+
isInvalid: field.invalid,
|
|
73
|
+
disabled: field.disabled,
|
|
61
74
|
leadingAddon: /*#__PURE__*/_jsx(CountryCodeSelect, {
|
|
62
75
|
value: country,
|
|
63
76
|
defaultValue: defaultCountry,
|
|
64
77
|
onValueChange: onCountryChange,
|
|
65
78
|
countries: countries,
|
|
66
79
|
label: countrySelectLabel,
|
|
67
|
-
disabled: disabled
|
|
80
|
+
disabled: field.disabled
|
|
68
81
|
}),
|
|
69
82
|
children: [/*#__PURE__*/_jsx(TextFieldInput, {
|
|
70
|
-
label: accessibilityLabel ??
|
|
83
|
+
label: field.accessibilityLabel ?? 'Phone number',
|
|
71
84
|
placeholder: placeholder ?? null,
|
|
72
85
|
value: text,
|
|
73
86
|
onChangeText: setText,
|
|
74
|
-
isInvalid:
|
|
87
|
+
isInvalid: field.invalid,
|
|
75
88
|
keyboardType: "phone-pad",
|
|
76
89
|
autoComplete: "tel",
|
|
77
90
|
textContentType: "telephoneNumber",
|
|
@@ -82,7 +95,7 @@ export function PhoneInput({
|
|
|
82
95
|
position: "trailing"
|
|
83
96
|
}) : null]
|
|
84
97
|
}), hint ? /*#__PURE__*/_jsx(TextFieldHint, {
|
|
85
|
-
isInvalid:
|
|
98
|
+
isInvalid: field.invalid,
|
|
86
99
|
children: hint
|
|
87
100
|
}) : null]
|
|
88
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","useControllableState","TextField","TextFieldHint","TextFieldIcon","TextFieldInput","TextFieldLabel","CountryCodeSelect","jsx","_jsx","jsxs","_jsxs","PhoneInput","label","accessibilityLabel","placeholder","hint","required","tooltip","size","isInvalid","disabled","value","defaultValue","onChangeText","country","defaultCountry","onCountryChange","countries","countrySelectLabel","trailingIcon","onFocus","onBlur","testID","style","text","setText","onChange","width","children","leadingAddon","onValueChange","keyboardType","autoComplete","textContentType","undefined","icon","position"],"sourceRoot":"../../../src","sources":["phone-input/PhoneInput.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,oBAAoB,QAAQ,oCAAiC;AACtE,SACEC,SAAS,EACTC,aAAa,EACbC,aAAa,EACbC,cAAc,EACdC,cAAc,QACT,wBAAe;AACtB,SAASC,iBAAiB,QAAQ,wBAAqB;
|
|
1
|
+
{"version":3,"names":["React","View","useControllableState","TextField","TextFieldHint","TextFieldIcon","TextFieldInput","TextFieldLabel","CountryCodeSelect","useFieldMembership","jsx","_jsx","jsxs","_jsxs","PhoneInput","label","accessibilityLabel","placeholder","hint","required","tooltip","size","isInvalid","disabled","value","defaultValue","onChangeText","country","defaultCountry","onCountryChange","countries","countrySelectLabel","trailingIcon","onFocus","onBlur","testID","style","field","invalid","text","setText","onChange","width","children","leadingAddon","onValueChange","keyboardType","autoComplete","textContentType","undefined","icon","position"],"sourceRoot":"../../../src","sources":["phone-input/PhoneInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ import { useRingOffsetStyle } from "../styles/surface-levels.js";
|
|
|
10
10
|
import { resolveButtonRamps } from "../button/shared.js";
|
|
11
11
|
import { focusRingShadow, interactiveWebCss, useInteractiveWebCss } from "../styles/interactive-web-css.js";
|
|
12
12
|
import { RadioIndicator } from "../radio-indicator/index.js";
|
|
13
|
+
import { useFieldMembership } from "../field/membership.js";
|
|
13
14
|
import { RadioCard } from "./RadioCard.js";
|
|
14
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
16
|
/**
|
|
@@ -105,9 +106,20 @@ const RadioComponent = function Radio({
|
|
|
105
106
|
style,
|
|
106
107
|
labelStyle,
|
|
107
108
|
accessibilityLabel,
|
|
109
|
+
nativeID,
|
|
108
110
|
testID
|
|
109
111
|
}) {
|
|
110
112
|
const theme = useTheme();
|
|
113
|
+
// ADJACENT label (see `field/membership.ts`); the field's `disabled` is a
|
|
114
|
+
// constraint, so a radio inside a disabled field cannot re-enable itself.
|
|
115
|
+
const field = useFieldMembership({
|
|
116
|
+
accessibilityLabel,
|
|
117
|
+
label,
|
|
118
|
+
labelPlacement: 'adjacent',
|
|
119
|
+
disabled,
|
|
120
|
+
nativeID
|
|
121
|
+
});
|
|
122
|
+
const isDisabled = field.disabled;
|
|
111
123
|
const ringOffset = useRingOffsetStyle();
|
|
112
124
|
useInteractiveWebCss(STYLE_ID, BLOOM_RADIO_CSS);
|
|
113
125
|
const sizeConfig = SIZE_CONFIG[size];
|
|
@@ -120,15 +132,15 @@ const RadioComponent = function Radio({
|
|
|
120
132
|
// Re-choosing the chosen option is a no-op. A radio, unlike a checkbox, has
|
|
121
133
|
// no "off" — firing here would make a group's `onValueChange` report a
|
|
122
134
|
// change that did not happen.
|
|
123
|
-
if (
|
|
135
|
+
if (isDisabled || selected) return;
|
|
124
136
|
onSelect(value);
|
|
125
|
-
}, [
|
|
137
|
+
}, [isDisabled, selected, onSelect, value]);
|
|
126
138
|
const rowStyle = {
|
|
127
139
|
flexDirection: 'row',
|
|
128
140
|
alignItems: 'flex-start',
|
|
129
141
|
gap: LABEL_GAP,
|
|
130
142
|
// `opacity-50` on the whole row.
|
|
131
|
-
opacity:
|
|
143
|
+
opacity: isDisabled ? DISABLED_OPACITY : 1,
|
|
132
144
|
// The `:focus-visible` ring colour, read by the adopted sheet.
|
|
133
145
|
'--bloom-radio-ring': color ?? accent[500],
|
|
134
146
|
...ringOffset
|
|
@@ -141,7 +153,9 @@ const RadioComponent = function Radio({
|
|
|
141
153
|
} : {}),
|
|
142
154
|
style: [rowStyle, style],
|
|
143
155
|
onPress: handlePress,
|
|
144
|
-
disabled:
|
|
156
|
+
disabled: isDisabled,
|
|
157
|
+
nativeID: field.nativeID,
|
|
158
|
+
"aria-describedby": field.describedBy,
|
|
145
159
|
accessibilityRole: "radio"
|
|
146
160
|
// `aria-checked`, not `accessibilityState`: react-native-web never reads
|
|
147
161
|
// the latter, so an option that set only it announced no state at all.
|
|
@@ -150,7 +164,7 @@ const RadioComponent = function Radio({
|
|
|
150
164
|
// travels on the `disabled` prop, which both map.
|
|
151
165
|
,
|
|
152
166
|
"aria-checked": selected,
|
|
153
|
-
accessibilityLabel: accessibilityLabel
|
|
167
|
+
accessibilityLabel: field.accessibilityLabel,
|
|
154
168
|
hitSlop: HIT_SLOP,
|
|
155
169
|
testID: testID,
|
|
156
170
|
children: [/*#__PURE__*/_jsx(View, {
|
|
@@ -213,13 +227,25 @@ const RadioGroupComponent = function RadioGroup({
|
|
|
213
227
|
variant = 'default',
|
|
214
228
|
testID
|
|
215
229
|
}) {
|
|
230
|
+
// The group is one control made of several, so a `Field` around it names the
|
|
231
|
+
// GROUP and disables every option — `multiple` is the field's side of that
|
|
232
|
+
// (`docs/field.mdx`), and each radio keeps its own id and its own name.
|
|
233
|
+
// `label` here is a NAME, not rendered text — the group draws no label of its
|
|
234
|
+
// own — so it goes in as the caller's name and outranks the field's.
|
|
235
|
+
const field = useFieldMembership({
|
|
236
|
+
accessibilityLabel: label,
|
|
237
|
+
disabled
|
|
238
|
+
});
|
|
239
|
+
const isDisabled = field.disabled;
|
|
216
240
|
return /*#__PURE__*/_jsx(View, {
|
|
217
241
|
style: [{
|
|
218
242
|
gap: space.sm
|
|
219
243
|
}, style],
|
|
220
244
|
accessibilityRole: "radiogroup",
|
|
221
|
-
accessibilityLabel:
|
|
222
|
-
"aria-label":
|
|
245
|
+
accessibilityLabel: field.accessibilityLabel,
|
|
246
|
+
"aria-label": field.accessibilityLabel,
|
|
247
|
+
"aria-describedby": field.describedBy,
|
|
248
|
+
"aria-invalid": field.invalid || undefined,
|
|
223
249
|
testID: testID,
|
|
224
250
|
children: options.map(option => variant === 'card' ? /*#__PURE__*/_jsx(RadioCard, {
|
|
225
251
|
value: option.value,
|
|
@@ -227,7 +253,7 @@ const RadioGroupComponent = function RadioGroup({
|
|
|
227
253
|
onSelect: onValueChange,
|
|
228
254
|
title: option.label ?? option.value,
|
|
229
255
|
description: option.description,
|
|
230
|
-
disabled:
|
|
256
|
+
disabled: isDisabled || option.disabled === true,
|
|
231
257
|
color: color,
|
|
232
258
|
testID: option.testID
|
|
233
259
|
}, option.value) : /*#__PURE__*/_jsx(Radio, {
|
|
@@ -237,7 +263,7 @@ const RadioGroupComponent = function RadioGroup({
|
|
|
237
263
|
label: option.label,
|
|
238
264
|
description: option.description,
|
|
239
265
|
size: size,
|
|
240
|
-
disabled:
|
|
266
|
+
disabled: isDisabled || option.disabled === true,
|
|
241
267
|
color: color,
|
|
242
268
|
labelStyle: labelStyle,
|
|
243
269
|
testID: option.testID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useCallback","useMemo","View","Platform","Pressable","useTheme","Text","TYPE_SCALE","space","DISABLED_OPACITY","useRingOffsetStyle","resolveButtonRamps","focusRingShadow","interactiveWebCss","useInteractiveWebCss","RadioIndicator","RadioCard","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","indicator","label","description","medium","large","LABEL_GAP","DESCRIPTION_GAP","HIT_SLOP","top","bottom","left","right","STYLE_ID","ROW","DOT","BLOOM_RADIO_CSS","selector","varPrefix","base","transition","hover","declarations","outlineOffset","extraRules","IS_WEB","OS","RadioComponent","Radio","value","selected","onSelect","size","disabled","color","style","labelStyle","accessibilityLabel","testID","theme","ringOffset","sizeConfig","accent","neutral","hasText","Boolean","handlePress","rowStyle","flexDirection","alignItems","gap","opacity","dataSet","bloomRadio","onPress","accessibilityRole","hitSlop","children","bloomRadioDot","borderRadius","marginTop","lineHeight","selectedColor","flex","variant","colors","text","RadioGroupComponent","RadioGroup","onValueChange","options","sm","map","option","title"],"sourceRoot":"../../../src","sources":["radio/Radio.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACzD,SAASC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,cAAc;AAExD,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,IAAI,QAAQ,wBAAe;AAEpC,SAASC,UAAU,QAAQ,wBAAqB;AAEhD,SAASC,KAAK,EAAEC,gBAAgB,QAAQ,qBAAkB;AAC1D,SAASC,kBAAkB,QAAQ,6BAA0B;AAC7D,SAASC,kBAAkB,QAAQ,qBAAkB;AACrD,SAASC,eAAe,EAAEC,iBAAiB,EAAEC,oBAAoB,QAAQ,kCAA+B;AAExG,SAASC,cAAc,QAAQ,6BAAoB;AACnD,SAASC,SAAS,QAAQ,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,WAGL,GAAG;EACFC,KAAK,EAAE;IAAEC,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,eAAe;IAAEC,WAAW,EAAE;EAAiB,CAAC;EAC/EC,MAAM,EAAE;IAAEH,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,aAAa;IAAEC,WAAW,EAAE;EAAe,CAAC;EAC5EE,KAAK,EAAE;IAAEJ,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,iBAAiB;IAAEC,WAAW,EAAE;EAAe;AAChF,CAAC;;AAED;AACA,MAAMG,SAAS,GAAG,CAAC;;AAEnB;AACA,MAAMC,eAAe,GAAG,CAAC;AAEzB,MAAMC,QAAQ,GAAG;EAAEC,GAAG,EAAE,CAAC;EAAEC,MAAM,EAAE,CAAC;EAAEC,IAAI,EAAE,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAU;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,QAAQ,GAAG,qBAAqB;AACtC,MAAMC,GAAG,GAAG,oBAAoB;AAChC,MAAMC,GAAG,GAAG,wBAAwB;AAEpC,MAAMC,eAAe,
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useMemo","View","Platform","Pressable","useTheme","Text","TYPE_SCALE","space","DISABLED_OPACITY","useRingOffsetStyle","resolveButtonRamps","focusRingShadow","interactiveWebCss","useInteractiveWebCss","RadioIndicator","useFieldMembership","RadioCard","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","indicator","label","description","medium","large","LABEL_GAP","DESCRIPTION_GAP","HIT_SLOP","top","bottom","left","right","STYLE_ID","ROW","DOT","BLOOM_RADIO_CSS","selector","varPrefix","base","transition","hover","declarations","outlineOffset","extraRules","IS_WEB","OS","RadioComponent","Radio","value","selected","onSelect","size","disabled","color","style","labelStyle","accessibilityLabel","nativeID","testID","theme","field","labelPlacement","isDisabled","ringOffset","sizeConfig","accent","neutral","hasText","Boolean","handlePress","rowStyle","flexDirection","alignItems","gap","opacity","dataSet","bloomRadio","onPress","describedBy","accessibilityRole","hitSlop","children","bloomRadioDot","borderRadius","marginTop","lineHeight","selectedColor","flex","variant","colors","text","RadioGroupComponent","RadioGroup","onValueChange","options","sm","invalid","undefined","map","option","title"],"sourceRoot":"../../../src","sources":["radio/Radio.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,8 @@ import { useRingOffsetStyle } from "../styles/surface-levels.js";
|
|
|
10
10
|
import { DISABLED_OPACITY } from "../styles/tokens.js";
|
|
11
11
|
import { webDataSet } from "../styles/web-data.js";
|
|
12
12
|
import { useTheme } from "../theme/use-theme.js";
|
|
13
|
-
import {
|
|
13
|
+
import { useFieldMembership } from "../field/membership.js";
|
|
14
|
+
|
|
14
15
|
/**
|
|
15
16
|
* The star PICKER — `Rating`'s counterpart for a review form. `Rating` draws a
|
|
16
17
|
* rating that exists; this one is how a rating comes to exist.
|
|
@@ -43,7 +44,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
43
44
|
* does not render a cleared state the group cannot express. `Rating` still
|
|
44
45
|
* DISPLAYS fractional values — a display has no target and no keyboard.
|
|
45
46
|
*/
|
|
46
|
-
|
|
47
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
47
48
|
const SIZE_CONFIG = {
|
|
48
49
|
small: {
|
|
49
50
|
star: 24,
|
|
@@ -93,13 +94,20 @@ function RatingInputComponent({
|
|
|
93
94
|
onChange,
|
|
94
95
|
max = 5,
|
|
95
96
|
size = 'medium',
|
|
96
|
-
disabled = false,
|
|
97
|
+
disabled: disabledProp = false,
|
|
97
98
|
accessibilityLabel,
|
|
98
99
|
formatStarLabel = defaultStarLabel,
|
|
99
100
|
style,
|
|
100
101
|
testID
|
|
101
102
|
}) {
|
|
102
103
|
const theme = useTheme();
|
|
104
|
+
// A row of stars draws no words, so the `radiogroup`'s name is a prop or the
|
|
105
|
+
// enclosing `Field`'s label; the field's `disabled` freezes the whole row.
|
|
106
|
+
const field = useFieldMembership({
|
|
107
|
+
accessibilityLabel,
|
|
108
|
+
disabled: disabledProp
|
|
109
|
+
});
|
|
110
|
+
const disabled = field.disabled;
|
|
103
111
|
const ringOffset = useRingOffsetStyle();
|
|
104
112
|
useInteractiveWebCss(STYLE_ID, BLOOM_RATING_INPUT_CSS);
|
|
105
113
|
const {
|
|
@@ -159,8 +167,10 @@ function RatingInputComponent({
|
|
|
159
167
|
return /*#__PURE__*/_jsx(View, {
|
|
160
168
|
testID: testID,
|
|
161
169
|
accessibilityRole: "radiogroup",
|
|
162
|
-
|
|
163
|
-
|
|
170
|
+
nativeID: field.nativeID,
|
|
171
|
+
accessibilityLabel: field.accessibilityLabel,
|
|
172
|
+
"aria-label": field.accessibilityLabel,
|
|
173
|
+
"aria-describedby": field.describedBy,
|
|
164
174
|
"aria-disabled": disabled || undefined,
|
|
165
175
|
style: [{
|
|
166
176
|
flexDirection: 'row',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useCallback","useMemo","useState","Platform","Pressable","View","resolveButtonRamps","RiStarFill","RiStarLine","focusRingShadow","interactiveWebCss","useInteractiveWebCss","useRingOffsetStyle","DISABLED_OPACITY","webDataSet","useTheme","jsx","_jsx","SIZE_CONFIG","small","star","gap","medium","large","IS_WEB","OS","HIT_SLOP","top","bottom","left","right","STYLE_ID","STAR","BLOOM_RATING_INPUT_CSS","selector","varPrefix","reset","base","transition","disabled","opacity","extraRules","defaultStarLabel","value","RatingInputComponent","onChange","max","size","accessibilityLabel","formatStarLabel","style","testID","theme","ringOffset","accent","neutral","config","hovered","setHovered","total","Math","round","chosen","min","shown","choose","next","clamped","onKeyDown","e","from","key","preventDefault","tabStop","emptyColor","isDark","starStyle","padding","borderRadius","accessibilityRole","undefined","flexDirection","alignItems","children","Array","length","_","index","filled","Glyph","name","webProps","tabIndex","onPress","onHoverIn","onHoverOut","current","hitSlop","bloomRatingStar","width","height","fill","RatingInput","displayName"],"sourceRoot":"../../../src","sources":["rating/RatingInput.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACnE,SAASC,QAAQ,EAAEC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAExD,SAASC,kBAAkB,QAAQ,qBAAkB;AACrD,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,eAAe,EAAEC,iBAAiB,EAAEC,oBAAoB,QAAQ,kCAA+B;AACxG,SAASC,kBAAkB,QAAQ,6BAA0B;AAC7D,SAASC,gBAAgB,QAAQ,qBAAkB;AACnD,SAASC,UAAU,QAAQ,uBAAoB;AAE/C,SAASC,QAAQ,QAAQ,uBAAoB;
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useMemo","useState","Platform","Pressable","View","resolveButtonRamps","RiStarFill","RiStarLine","focusRingShadow","interactiveWebCss","useInteractiveWebCss","useRingOffsetStyle","DISABLED_OPACITY","webDataSet","useTheme","useFieldMembership","jsx","_jsx","SIZE_CONFIG","small","star","gap","medium","large","IS_WEB","OS","HIT_SLOP","top","bottom","left","right","STYLE_ID","STAR","BLOOM_RATING_INPUT_CSS","selector","varPrefix","reset","base","transition","disabled","opacity","extraRules","defaultStarLabel","value","RatingInputComponent","onChange","max","size","disabledProp","accessibilityLabel","formatStarLabel","style","testID","theme","field","ringOffset","accent","neutral","config","hovered","setHovered","total","Math","round","chosen","min","shown","choose","next","clamped","onKeyDown","e","from","key","preventDefault","tabStop","emptyColor","isDark","starStyle","padding","borderRadius","accessibilityRole","nativeID","describedBy","undefined","flexDirection","alignItems","children","Array","length","_","index","filled","Glyph","name","webProps","tabIndex","onPress","onHoverIn","onHoverOut","current","hitSlop","bloomRatingStar","width","height","fill","RatingInput","displayName"],"sourceRoot":"../../../src","sources":["rating/RatingInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ import { useInteractionState } from "../hooks/use-interaction-state.js";
|
|
|
9
9
|
import { borderRadius, DISABLED_OPACITY } from "../styles/tokens.js";
|
|
10
10
|
import { NOT_DISABLED, interactiveWebCss, useInteractiveWebCss } from "../styles/interactive-web-css.js";
|
|
11
11
|
import { mixColor, resolveButtonRamps } from "../button/shared.js";
|
|
12
|
+
import { useFieldMembership } from "../field/membership.js";
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* A segmented control. Colours come from Bloom's theme through
|
|
@@ -138,10 +139,24 @@ export function SegmentedControl({
|
|
|
138
139
|
onChange,
|
|
139
140
|
children,
|
|
140
141
|
style,
|
|
141
|
-
|
|
142
|
+
disabled = false,
|
|
143
|
+
accessibilityHint,
|
|
144
|
+
nativeID,
|
|
145
|
+
testID
|
|
142
146
|
}) {
|
|
143
147
|
const theme = useTheme();
|
|
144
148
|
useInteractiveWebCss(STYLE_ID, SEGMENTED_CSS);
|
|
149
|
+
// The group is ONE control made of several segments, so a `Field` names the
|
|
150
|
+
// group and disables all of it. `label` is the group's name rather than
|
|
151
|
+
// rendered text, so the field's label only fills in what is missing.
|
|
152
|
+
// `label` is a NAME rather than rendered text (the segments carry the words),
|
|
153
|
+
// so it goes in as the caller's own name and outranks the field's.
|
|
154
|
+
const field = useFieldMembership({
|
|
155
|
+
accessibilityLabel: label,
|
|
156
|
+
disabled,
|
|
157
|
+
nativeID
|
|
158
|
+
});
|
|
159
|
+
const isDisabled = field.disabled;
|
|
145
160
|
const palette = useMemo(() => resolveSegmentedPalette(theme), [theme]);
|
|
146
161
|
const [selectedPosition, setSelectedPosition] = useState(null);
|
|
147
162
|
const contextValue = useMemo(() => {
|
|
@@ -150,6 +165,7 @@ export function SegmentedControl({
|
|
|
150
165
|
size,
|
|
151
166
|
variant,
|
|
152
167
|
palette,
|
|
168
|
+
disabled: isDisabled,
|
|
153
169
|
selectedValue: value,
|
|
154
170
|
selectedPosition,
|
|
155
171
|
onSelectValue: (val, position) => {
|
|
@@ -165,7 +181,7 @@ export function SegmentedControl({
|
|
|
165
181
|
});
|
|
166
182
|
}
|
|
167
183
|
};
|
|
168
|
-
}, [value, selectedPosition, setSelectedPosition, onChange, type, size, variant, palette]);
|
|
184
|
+
}, [value, selectedPosition, setSelectedPosition, onChange, type, size, variant, palette, isDisabled]);
|
|
169
185
|
const solid = variant === 'solid';
|
|
170
186
|
const padding = solid ? TRACK_PADDING : 0;
|
|
171
187
|
// The control's height is LOCKED to the segment height plus the track
|
|
@@ -174,8 +190,16 @@ export function SegmentedControl({
|
|
|
174
190
|
// height, blowing the control up into a giant block on native.
|
|
175
191
|
const height = GEOMETRY[size].height + padding * 2;
|
|
176
192
|
return /*#__PURE__*/_jsxs(View, {
|
|
177
|
-
|
|
193
|
+
testID: testID,
|
|
194
|
+
nativeID: field.nativeID,
|
|
195
|
+
accessibilityLabel: field.accessibilityLabel,
|
|
178
196
|
accessibilityHint: accessibilityHint ?? '',
|
|
197
|
+
"aria-describedby": field.describedBy,
|
|
198
|
+
"aria-invalid": field.invalid || undefined
|
|
199
|
+
// A `View`, so `aria-disabled` is the only spelling that reaches web —
|
|
200
|
+
// there is no `disabled` prop for react-native-web to derive it from.
|
|
201
|
+
,
|
|
202
|
+
"aria-disabled": isDisabled || undefined,
|
|
179
203
|
style: [{
|
|
180
204
|
position: 'relative',
|
|
181
205
|
flexDirection: 'row',
|
|
@@ -232,10 +256,16 @@ export function SegmentedControlItem({
|
|
|
232
256
|
updatePositionRef.current(positionRef.current);
|
|
233
257
|
}
|
|
234
258
|
}, [needsUpdate]);
|
|
259
|
+
|
|
260
|
+
// The group's `disabled` is a constraint, so it is OR-ed with the item's own
|
|
261
|
+
// — a segment cannot re-enable itself inside a disabled group, and a `Field
|
|
262
|
+
// disabled` reaches every segment through the group.
|
|
263
|
+
const isDisabled = ctx.disabled || disabled === true;
|
|
235
264
|
const onPress = useCallback(() => {
|
|
265
|
+
if (isDisabled) return;
|
|
236
266
|
ctx.onSelectValue(value, position);
|
|
237
267
|
onPressProp?.();
|
|
238
|
-
}, [ctx, value, position, onPressProp]);
|
|
268
|
+
}, [isDisabled, ctx, value, position, onPressProp]);
|
|
239
269
|
|
|
240
270
|
// We render the segment as a flat `Pressable` (not Bloom's `Button`)
|
|
241
271
|
// for two reasons:
|
|
@@ -257,13 +287,13 @@ export function SegmentedControlItem({
|
|
|
257
287
|
height: geometry.height,
|
|
258
288
|
paddingHorizontal: geometry.paddingHorizontal,
|
|
259
289
|
borderRadius: borderRadius.full,
|
|
260
|
-
opacity:
|
|
290
|
+
opacity: isDisabled ? DISABLED_OPACITY : 1,
|
|
261
291
|
'--bloom-segmented-ring': ctx.palette.ring
|
|
262
292
|
};
|
|
263
293
|
const itemContext = useMemo(() => ({
|
|
264
294
|
active,
|
|
265
|
-
hovered: hovered && !
|
|
266
|
-
}), [active, hovered,
|
|
295
|
+
hovered: hovered && !isDisabled
|
|
296
|
+
}), [active, hovered, isDisabled]);
|
|
267
297
|
return /*#__PURE__*/_jsx(View, {
|
|
268
298
|
style: {
|
|
269
299
|
flexGrow: 1,
|
|
@@ -303,7 +333,7 @@ export function SegmentedControlItem({
|
|
|
303
333
|
'aria-checked': active
|
|
304
334
|
}),
|
|
305
335
|
role: itemRole,
|
|
306
|
-
disabled:
|
|
336
|
+
disabled: isDisabled,
|
|
307
337
|
testID: testID,
|
|
308
338
|
style: [itemStyle, style],
|
|
309
339
|
children: /*#__PURE__*/_jsx(InternalItemContext.Provider, {
|