Created
April 21, 2024 02:52
-
-
Save ladifire/21fb3e774cf62ac50d0700fd50d1ccb2 to your computer and use it in GitHub Desktop.
Original code for PressableText from Facebook frontend
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| __d("PressableText.react", ["Pressability", "PressableGroupContext", "RecoverableViolationWithComponentStack.react", "gkx", "joinClasses", "justknobx", "react", "stylex", "useCometErrorProject", "useMergeRefs", "useWebPressableTouchStartHandler"], (function(a, b, c, d, e, f, g) { | |
| "use strict"; | |
| var h, i, j = i || (i = d("react")); | |
| b = i; | |
| var k = b.useCallback | |
| , l = b.useContext | |
| , m = b.useRef | |
| , n = b.useState | |
| , o = ["menuitem", "tab", "none"] | |
| , p = { | |
| article: "article", | |
| banner: "header", | |
| complementary: "aside", | |
| contentinfo: "footer", | |
| figure: "figure", | |
| form: "form", | |
| heading: "h1", | |
| label: "label", | |
| link: "a", | |
| list: "ul", | |
| listitem: "li", | |
| main: "main", | |
| navigation: "nav", | |
| none: "div", | |
| region: "section" | |
| }; | |
| function q(a, b) { | |
| var c = "div"; | |
| if ((b == null ? void 0 : b.url) != null && (b == null ? void 0 : b.url) !== "#" || o.includes(a) && (b == null ? void 0 : b.url) != null) | |
| c = "a"; | |
| else if (a != null) { | |
| b = p[a]; | |
| b != null && (c = b) | |
| } | |
| return c | |
| } | |
| var r = function(a) { | |
| var b = a.target | |
| , c = b.tagName; | |
| c = b.isContentEditable || c === "A" && b.href != null || c === "BUTTON" || c === "INPUT" || c === "SELECT" || c === "TEXTAREA"; | |
| if (b.tabIndex === 0 && !c) { | |
| c = a.key; | |
| if (c === "Enter") | |
| return !0; | |
| a = b.getAttribute("role"); | |
| if ((c === " " || c === "Spacebar") && (a === "button" || a === "combobox" || a === "menuitem" || a === "menuitemradio" || a === "option")) | |
| return !0 | |
| } | |
| return !1 | |
| }; | |
| function s(a) { | |
| return typeof document !== "undefined" && typeof document.contains === "function" ? document.contains(a) : !1 | |
| } | |
| function t(a) { | |
| a = a; | |
| while (a != null) { | |
| if (a.tagName === "A" && a.href != null) | |
| return !0; | |
| a = a.parentNode | |
| } | |
| return !1 | |
| } | |
| function u(a, b) { | |
| var d = a.altKey | |
| , e = a.ctrlKey | |
| , f = a.currentTarget | |
| , g = a.metaKey | |
| , h = a.shiftKey; | |
| a = a.target; | |
| var i = a; | |
| c("justknobx")._("450") && (i = s(a) ? a : f); | |
| a = t(i); | |
| f = d || e || g || h; | |
| return b !== !1 && a && !f | |
| } | |
| function a(a) { | |
| var b = m(null) | |
| , e = n(!1) | |
| , f = e[0]; | |
| e = e[1]; | |
| var g = n(!1) | |
| , i = g[0]; | |
| g = g[1]; | |
| var o = n(!1) | |
| , p = o[0]; | |
| o = o[1]; | |
| var s = n(!1) | |
| , t = s[0]; | |
| s = s[1]; | |
| var x = l(c("PressableGroupContext")) | |
| , y = a.accessibilityLabel | |
| , z = a.accessibilityRelationship | |
| , A = a.accessibilityRole | |
| , B = a.accessibilityState | |
| , C = a.children | |
| , D = a.className_DEPRECATED | |
| , E = a.direction | |
| , F = a.disabled | |
| , G = a.focusable | |
| , H = a.forwardedRef | |
| , I = a.link | |
| , J = a.nativeID | |
| , K = a.onBlur | |
| , L = a.onContextMenu | |
| , M = a.onFocus | |
| , N = a.onFocusChange | |
| , O = a.onFocusVisibleChange | |
| , P = a.onHoverChange | |
| , aa = a.onHoverEnd | |
| , ba = a.onHoverMove | |
| , ca = a.onHoverStart | |
| , Q = a.onPress | |
| , da = a.onPressChange | |
| , ea = a.onPressEnd | |
| , fa = a.onPressMove | |
| , ga = a.onPressStart | |
| , ha = a.preventContextMenu | |
| , R = a.preventDefault | |
| , ia = a.selectable | |
| , S = a.style | |
| , T = a.suppressFocusRing | |
| , U = a.testID; | |
| U = a.testOnly_state; | |
| var V = a.xstyle; | |
| a = babelHelpers.objectWithoutPropertiesLoose(a, ["accessibilityLabel", "accessibilityRelationship", "accessibilityRole", "accessibilityState", "children", "className_DEPRECATED", "direction", "disabled", "focusable", "forwardedRef", "link", "nativeID", "onBlur", "onContextMenu", "onFocus", "onFocusChange", "onFocusVisibleChange", "onHoverChange", "onHoverEnd", "onHoverMove", "onHoverStart", "onPress", "onPressChange", "onPressEnd", "onPressMove", "onPressStart", "preventContextMenu", "preventDefault", "selectable", "style", "suppressFocusRing", "testID", "testOnly_state", "xstyle"]); | |
| var W = q(A, I); | |
| F = F === !0 || (B == null ? void 0 : B.disabled) === !0; | |
| var X = B == null ? void 0 : B.hidden | |
| , Y = W === "a" && F !== !0; | |
| f = { | |
| disabled: F === !0 || (U == null ? void 0 : U.disabled) === !0 || !1, | |
| focused: f || (U == null ? void 0 : U.focused) === !0, | |
| focusVisible: i && T !== !0 || (U == null ? void 0 : U.focusVisible) === !0, | |
| hovered: p || (U == null ? void 0 : U.hovered) === !0, | |
| pressed: t || (U == null ? void 0 : U.pressed) === !0 | |
| }; | |
| i = typeof C === "function" ? C(f) : C; | |
| T = typeof D === "function" ? D(f) : D; | |
| p = typeof S === "function" ? S(f) : S; | |
| t = typeof V === "function" ? V(f) : V; | |
| d("Pressability").usePressability(b, { | |
| disabled: F, | |
| onBlur: K, | |
| onContextMenu: L, | |
| onFocus: M, | |
| onFocusChange: v(e, N), | |
| onFocusVisibleChange: v(g, O), | |
| onHoverChange: v(o, P), | |
| onHoverEnd: aa, | |
| onHoverMove: ba, | |
| onHoverStart: ca, | |
| onPressChange: v(s, da), | |
| onPressEnd: ea, | |
| onPressMove: fa, | |
| onPressStart: ga, | |
| preventContextMenu: ha, | |
| preventDefault: R == null ? !0 : R | |
| }); | |
| U = k(function(a) { | |
| Q && Q(a), | |
| (Q || I != null) && a.stopPropagation(), | |
| u(a, R) && a.nativeEvent.preventDefault() | |
| }, [I, Q, R]); | |
| C = k(function(a) { | |
| if (r(a)) { | |
| var b = a.key; | |
| (b === " " || b === "Spacebar") && a.preventDefault(); | |
| Q && (Q(a), | |
| a.stopPropagation()) | |
| } | |
| }, [Q]); | |
| var ja, Z; | |
| switch (E) { | |
| case "none": | |
| break; | |
| default: | |
| E != null && (Z = E); | |
| break | |
| } | |
| D = c("useMergeRefs")(b, H); | |
| c("useWebPressableTouchStartHandler")(b, x, U); | |
| var $; | |
| S = W === "a" || A === "button"; | |
| S ? X === !0 || G === !1 || !c("gkx")("21059") && F === !0 ? $ = -1 : $ = 0 : c("gkx")("21059") ? X !== !0 && G !== !1 && A !== "none" && ($ = 0) : F !== !0 && X !== !0 && G !== !1 && A !== "none" && ($ = 0); | |
| V = I == null ? void 0 : I.download; | |
| K = (V === !0 || typeof V === "string") && Y; | |
| L = A === "none" ? "presentation" : A; | |
| M = j.jsx(W, babelHelpers["extends"]({}, a, { | |
| "aria-activedescendant": z == null ? void 0 : z.activedescendant, | |
| "aria-busy": B == null ? void 0 : B.busy, | |
| "aria-checked": B == null ? void 0 : B.checked, | |
| "aria-controls": z == null ? void 0 : z.controls, | |
| "aria-current": z == null ? void 0 : z.current, | |
| "aria-describedby": z == null ? void 0 : z.describedby, | |
| "aria-details": z == null ? void 0 : z.details, | |
| "aria-disabled": F === !0 && L !== "presentation" ? F : void 0, | |
| "aria-expanded": B == null ? void 0 : B.expanded, | |
| "aria-haspopup": z == null ? void 0 : z.haspopup, | |
| "aria-hidden": X, | |
| "aria-invalid": B == null ? void 0 : B.invalid, | |
| "aria-label": y, | |
| "aria-labelledby": z == null ? void 0 : z.labelledby, | |
| "aria-owns": z == null ? void 0 : z.owns, | |
| "aria-pressed": B == null ? void 0 : B.pressed, | |
| "aria-readonly": B == null ? void 0 : B.readonly, | |
| "aria-required": B == null ? void 0 : B.required, | |
| "aria-selected": B == null ? void 0 : B.selected, | |
| attributionsrc: Y ? I == null ? void 0 : I.attributionsrc : void 0, | |
| children: i, | |
| className: c("joinClasses")((h || (h = c("stylex")))(w.root, ia === !1 && w.notSelectable, f.disabled && w.disabled, !f.focusVisible && w.focusNotVisible, f.focusVisible && S && w.linkFocusRing, t, x && w.rootInGroup), T), | |
| "data-testid": void 0, | |
| dir: Z, | |
| download: K ? V : void 0, | |
| href: Y ? I == null ? void 0 : I.url : void 0, | |
| id: J, | |
| onClick: F ? void 0 : U, | |
| onKeyDown: F ? void 0 : C, | |
| ref: D, | |
| rel: Y ? I == null ? void 0 : I.rel : void 0, | |
| role: L, | |
| style: p, | |
| tabIndex: $, | |
| target: Y ? I == null ? void 0 : I.target : void 0 | |
| })); | |
| return M | |
| } | |
| a.displayName = a.name + " [from " + f.id + "]"; | |
| function v(a, b) { | |
| return k(function(c) { | |
| a(c), | |
| b && b(c) | |
| }, [b, a]) | |
| } | |
| var w = { | |
| disabled: { | |
| cursor: "x1h6gzvc", | |
| $$css: !0 | |
| }, | |
| focusNotVisible: { | |
| outline: "x1a2a7pz", | |
| $$css: !0 | |
| }, | |
| linkFocusRing: { | |
| outline: "x1gje4rg", | |
| $$css: !0 | |
| }, | |
| notSelectable: { | |
| userSelect: "x87ps6o", | |
| $$css: !0 | |
| }, | |
| root: { | |
| WebkitTapHighlightColor: "x1i10hfl", | |
| backgroundColor: "xjbqb8w", | |
| borderTopStyle: "x1ejq31n", | |
| borderEndStyle: "xd10rxx", | |
| borderBottomStyle: "x1sy0etr", | |
| borderStartStyle: "x17r0tee", | |
| borderTopWidth: "x972fbf", | |
| borderEndWidth: "xcfux6l", | |
| borderBottomWidth: "x1qhh985", | |
| borderStartWidth: "xm0m39n", | |
| boxSizing: "x9f619", | |
| cursor: "x1ypdohk", | |
| display: "xt0psk2", | |
| listStyle: "xe8uvvx", | |
| marginTop: "xdj266r", | |
| marginEnd: "x11i5rnm", | |
| marginBottom: "xat24cr", | |
| marginStart: "x1mh8g0r", | |
| paddingTop: "xexx8yu", | |
| paddingEnd: "x4uap5", | |
| paddingBottom: "x18d9i69", | |
| paddingStart: "xkhd6sd", | |
| textAlign: "x16tdsg8", | |
| textDecoration: "x1hl2dhg", | |
| touchAction: "xggy1nq", | |
| $$css: !0 | |
| }, | |
| rootInGroup: { | |
| touchAction: "x5ve5x3", | |
| $$css: !0 | |
| } | |
| }; | |
| g["default"] = a | |
| } | |
| ), 98); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment