panelui-native 0.77.0 → 0.79.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/lib/module/components/area-chart/index.js +32 -25
- package/lib/module/components/area-chart/index.js.map +1 -1
- package/lib/module/components/bottom-sheet/index.js +97 -15
- package/lib/module/components/bottom-sheet/index.js.map +1 -1
- package/lib/module/components/funnel-chart/index.js +15 -2
- package/lib/module/components/funnel-chart/index.js.map +1 -1
- package/lib/module/components/heatmap-chart/index.js +19 -27
- package/lib/module/components/heatmap-chart/index.js.map +1 -1
- package/lib/module/components/hex-chart/index.js +2 -0
- package/lib/module/components/hex-chart/index.js.map +1 -1
- package/lib/module/components/line-chart/index.js +38 -31
- package/lib/module/components/line-chart/index.js.map +1 -1
- package/lib/module/components/map/index.js +63 -39
- package/lib/module/components/map/index.js.map +1 -1
- package/lib/module/components/map/map-children.js +54 -0
- package/lib/module/components/map/map-children.js.map +1 -0
- package/lib/module/components/map/maplibre.js +31 -3
- package/lib/module/components/map/maplibre.js.map +1 -1
- package/lib/module/components/markdown-editor/index.js +288 -34
- package/lib/module/components/markdown-editor/index.js.map +1 -1
- package/lib/module/components/markdown-editor/markdown-transforms.js +272 -9
- package/lib/module/components/markdown-editor/markdown-transforms.js.map +1 -1
- package/lib/module/components/marquee/index.js +205 -46
- package/lib/module/components/marquee/index.js.map +1 -1
- package/lib/module/components/panelside/index.js +162 -34
- package/lib/module/components/panelside/index.js.map +1 -1
- package/lib/module/components/pie-chart/index.js +15 -2
- package/lib/module/components/pie-chart/index.js.map +1 -1
- package/lib/module/components/plot/index.js +42 -44
- package/lib/module/components/plot/index.js.map +1 -1
- package/lib/module/components/progress-button/index.js +617 -0
- package/lib/module/components/progress-button/index.js.map +1 -0
- package/lib/module/components/progress-button/progress-button-hold.js +91 -0
- package/lib/module/components/progress-button/progress-button-hold.js.map +1 -0
- package/lib/module/components/scatter-chart/index.js +6 -25
- package/lib/module/components/scatter-chart/index.js.map +1 -1
- package/lib/module/components/section-rail/index.js +40 -17
- package/lib/module/components/section-rail/index.js.map +1 -1
- package/lib/module/components/split-view/index.js +54 -10
- package/lib/module/components/split-view/index.js.map +1 -1
- package/lib/module/components/theme-selector/index.js +239 -0
- package/lib/module/components/theme-selector/index.js.map +1 -0
- package/lib/module/components/theme-selector/theme-preview.js +320 -0
- package/lib/module/components/theme-selector/theme-preview.js.map +1 -0
- package/lib/module/components/timeline/index.js +145 -14
- package/lib/module/components/timeline/index.js.map +1 -1
- package/lib/module/components/toast/index.js +45 -11
- package/lib/module/components/toast/index.js.map +1 -1
- package/lib/module/components/treemap-chart/index.js +63 -6
- package/lib/module/components/treemap-chart/index.js.map +1 -1
- package/lib/module/components/waterfall-chart/index.js +20 -4
- package/lib/module/components/waterfall-chart/index.js.map +1 -1
- package/lib/module/hooks/index.js +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/use-scroll-sections.js +44 -2
- package/lib/module/hooks/use-scroll-sections.js.map +1 -1
- package/lib/module/hooks/use-skeleton-handoff.js +58 -0
- package/lib/module/hooks/use-skeleton-handoff.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/area-chart/index.d.ts +1 -1
- package/lib/typescript/src/components/area-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/src/components/funnel-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/heatmap-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/hex-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/line-chart/index.d.ts +1 -1
- package/lib/typescript/src/components/line-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/map/index.d.ts +8 -4
- package/lib/typescript/src/components/map/index.d.ts.map +1 -1
- package/lib/typescript/src/components/map/map-children.d.ts +41 -0
- package/lib/typescript/src/components/map/map-children.d.ts.map +1 -0
- package/lib/typescript/src/components/map/maplibre.d.ts +8 -4
- package/lib/typescript/src/components/map/maplibre.d.ts.map +1 -1
- package/lib/typescript/src/components/markdown-editor/index.d.ts +64 -5
- package/lib/typescript/src/components/markdown-editor/index.d.ts.map +1 -1
- package/lib/typescript/src/components/markdown-editor/markdown-transforms.d.ts +33 -5
- package/lib/typescript/src/components/markdown-editor/markdown-transforms.d.ts.map +1 -1
- package/lib/typescript/src/components/marquee/index.d.ts +55 -2
- package/lib/typescript/src/components/marquee/index.d.ts.map +1 -1
- package/lib/typescript/src/components/panelside/index.d.ts +79 -4
- package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
- package/lib/typescript/src/components/pie-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/plot/index.d.ts +1 -3
- package/lib/typescript/src/components/plot/index.d.ts.map +1 -1
- package/lib/typescript/src/components/progress-button/index.d.ts +311 -0
- package/lib/typescript/src/components/progress-button/index.d.ts.map +1 -0
- package/lib/typescript/src/components/progress-button/progress-button-hold.d.ts +60 -0
- package/lib/typescript/src/components/progress-button/progress-button-hold.d.ts.map +1 -0
- package/lib/typescript/src/components/scatter-chart/index.d.ts +1 -1
- package/lib/typescript/src/components/scatter-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/section-rail/index.d.ts.map +1 -1
- package/lib/typescript/src/components/split-view/index.d.ts +10 -1
- package/lib/typescript/src/components/split-view/index.d.ts.map +1 -1
- package/lib/typescript/src/components/theme-selector/index.d.ts +107 -0
- package/lib/typescript/src/components/theme-selector/index.d.ts.map +1 -0
- package/lib/typescript/src/components/theme-selector/theme-preview.d.ts +32 -0
- package/lib/typescript/src/components/theme-selector/theme-preview.d.ts.map +1 -0
- package/lib/typescript/src/components/timeline/index.d.ts +7 -0
- package/lib/typescript/src/components/timeline/index.d.ts.map +1 -1
- package/lib/typescript/src/components/toast/index.d.ts.map +1 -1
- package/lib/typescript/src/components/treemap-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/waterfall-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/index.d.ts +1 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/use-scroll-sections.d.ts +1 -0
- package/lib/typescript/src/hooks/use-scroll-sections.d.ts.map +1 -1
- package/lib/typescript/src/hooks/use-skeleton-handoff.d.ts +11 -0
- package/lib/typescript/src/hooks/use-skeleton-handoff.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -4
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/area-chart/index.tsx +49 -37
- package/src/components/bottom-sheet/index.tsx +109 -11
- package/src/components/funnel-chart/index.tsx +10 -2
- package/src/components/heatmap-chart/index.tsx +27 -22
- package/src/components/hex-chart/index.tsx +22 -6
- package/src/components/line-chart/index.tsx +57 -43
- package/src/components/map/index.tsx +63 -36
- package/src/components/map/map-children.ts +66 -0
- package/src/components/map/maplibre.ts +32 -4
- package/src/components/markdown-editor/index.tsx +413 -35
- package/src/components/markdown-editor/markdown-transforms.ts +274 -10
- package/src/components/marquee/index.tsx +254 -58
- package/src/components/panelside/index.tsx +179 -40
- package/src/components/pie-chart/index.tsx +10 -2
- package/src/components/plot/index.tsx +66 -50
- package/src/components/progress-button/index.tsx +684 -0
- package/src/components/progress-button/progress-button-hold.ts +88 -0
- package/src/components/scatter-chart/index.tsx +4 -25
- package/src/components/section-rail/index.tsx +39 -19
- package/src/components/split-view/index.tsx +53 -8
- package/src/components/theme-selector/index.tsx +281 -0
- package/src/components/theme-selector/theme-preview.tsx +205 -0
- package/src/components/timeline/index.tsx +143 -17
- package/src/components/toast/index.tsx +60 -11
- package/src/components/treemap-chart/index.tsx +65 -8
- package/src/components/waterfall-chart/index.tsx +14 -4
- package/src/hooks/index.ts +5 -0
- package/src/hooks/use-scroll-sections.ts +52 -3
- package/src/hooks/use-skeleton-handoff.ts +69 -0
- package/src/index.ts +25 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","View","Gesture","GestureDetector","Animated","runOnJS","useAnimatedStyle","useReducedMotion","useSharedValue","withSpring","tv","selectionTick","DEFAULT_MIN_HEIGHT","clamp","nearestSnapIndex","resolveLength","resolveSnapPoints","useSplitViewIndexLifecycle","jsx","_jsx","SPRING","damping","stiffness","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","GRIP_SPRING","splitViewVariants","slots","root","top","bottom","dragArea","handle","SplitViewContext","useSplitViewContext","component","context","Error","useSplitView","SplitViewRoot","className","snapPoints","minHeight","maxHeight","defaultSnapIndex","snapIndex","snapIndexProp","onSnapIndexChange","onSnap","disabled","animateOnMount","children","onLayout","props","reducedMotion","animate","container","setContainer","dragAreaHeight","setDragAreaHeight","topHeight","dragging","settled","room","Math","max","minPx","maxPx","pointsKey","JSON","stringify","points","index","requestIndex","requestToken","count","length","onSnapRef","current","report","height","moveTo","undefined","snapTo","target","value","finish","finished","handleLayout","event","nativeEvent","layout","measureDragArea","abs","measured","Provider","SplitViewTop","style","animatedStyle","unmeasured","flexGrow","flexBasis","flexShrink","SplitViewBottom","SplitViewDragArea","accessibilityLabel","start","landed","settle","pan","Pan","enabled","activeOffsetY","failOffsetX","onBegin","onUpdate","translationY","next","onFinalize","velocityY","step","direction","gesture","accessible","accessibilityRole","accessibilityState","accessibilityValue","min","now","accessibilityActions","name","onAccessibilityAction","actionName","SplitViewHandle","transform","scaleX","displayName","SplitView","Object","assign","Top","Bottom","DragArea","Handle","DEFAULT_SNAP_POINTS","normalizeSnapIndex"],"sourceRoot":"../../../../src","sources":["components/split-view/index.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,SACEA,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QAEH,OAAO;AACd,SAASC,IAAI,QAAgD,cAAc;AAC3E,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,OAAOC,QAAQ,IACbC,OAAO,EACPC,gBAAgB,EAChBC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QAEL,yBAAyB;AAChC,SAASC,EAAE,QAAQ,mBAAmB;AACtC,SAASC,aAAa,QAAQ,wBAAqB;AACnD,SACEC,kBAAkB,EAClBC,KAAK,EACLC,gBAAgB,EAChBC,aAAa,EACbC,iBAAiB,QACZ,sBAAmB;AAC1B,SAASC,0BAA0B,QAAQ,2BAAwB;;AAEnE;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,MAAMC,MAAM,GAAG;EACbC,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,GAAG;EACdC,IAAI,EAAE,GAAG;EACTC,iBAAiB,EAAE,KAAK;EACxBC,yBAAyB,EAAE,IAAI;EAC/BC,kBAAkB,EAAE;AACtB,CAAU;;AAEV;AACA,MAAMC,WAAW,GAAG;EAAEN,OAAO,EAAE,EAAE;EAAEC,SAAS,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAI,CAAU;AAEvE,MAAMK,iBAAiB,GAAGlB,EAAE,CAAC;EAC3BmB,KAAK,EAAE;IACLC,IAAI,EAAE,iCAAiC;IACvCC,GAAG,EAAE,wBAAwB;IAC7BC,MAAM,EAAE,+BAA+B;IACvCC,QAAQ,EAAE,yCAAyC;IACnDC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAqBF,MAAMC,gBAAgB,gBAAGzC,aAAa,CAA+B,IAAI,CAAC;AAE1E,SAAS0C,mBAAmBA,CAACC,SAAiB,EAAyB;EACrE,MAAMC,OAAO,GAAG1C,UAAU,CAACuC,gBAAgB,CAAC;EAC5C,IAAI,CAACG,OAAO,EAAE,MAAM,IAAIC,KAAK,CAAC,GAAGF,SAAS,oCAAoC,CAAC;EAC/E,OAAOC,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,YAAYA,CAAA,EAAG;EAC7B,OAAOJ,mBAAmB,CAAC,cAAc,CAAC;AAC5C;AAiCA,SAASK,aAAaA,CAAC;EACrBC,SAAS;EACTC,UAAU;EACVC,SAAS;EACTC,SAAS;EACTC,gBAAgB,GAAG,CAAC;EACpBC,SAAS,EAAEC,aAAa;EACxBC,iBAAiB;EACjBC,MAAM;EACNC,QAAQ,GAAG,KAAK;EAChBC,cAAc,GAAG,KAAK;EACtBC,QAAQ;EACRC,QAAQ;EACR,GAAGC;AACW,CAAC,EAAE;EACjB,MAAM;IAAEzB;EAAK,CAAC,GAAGF,iBAAiB,CAAC,CAAC;EACpC,MAAM4B,aAAa,GAAGjD,gBAAgB,CAAC,CAAC;EACxC,MAAMkD,OAAO,GAAG,CAACD,aAAa;EAE9B,MAAM,CAACE,SAAS,EAAEC,YAAY,CAAC,GAAG3D,QAAQ,CAAC,CAAC,CAAC;EAC7C,MAAM,CAAC4D,cAAc,EAAEC,iBAAiB,CAAC,GAAG7D,QAAQ,CAAC,CAAC,CAAC;EAEvD,MAAM8D,SAAS,GAAGtD,cAAc,CAAC,CAAC,CAAC;EACnC,MAAMuD,QAAQ,GAAGvD,cAAc,CAAC,KAAK,CAAC;EACtC,MAAMwD,OAAO,GAAGjE,MAAM,CAAC,KAAK,CAAC;EAE7B,MAAMkE,IAAI,GAAGC,IAAI,CAACC,GAAG,CAACT,SAAS,GAAGE,cAAc,EAAE,CAAC,CAAC;EACpD,MAAMQ,KAAK,GAAGvD,KAAK,CAACE,aAAa,CAAC6B,SAAS,EAAEqB,IAAI,EAAErD,kBAAkB,CAAC,EAAE,CAAC,EAAEqD,IAAI,CAAC;EAChF,MAAMI,KAAK,GAAGxD,KAAK,CAACE,aAAa,CAAC8B,SAAS,EAAEoB,IAAI,EAAEA,IAAI,CAAC,EAAEG,KAAK,EAAEH,IAAI,CAAC;EAEtE,MAAMK,SAAS,GAAGC,IAAI,CAACC,SAAS,CAAC,CAAC7B,UAAU,IAAI,IAAI,EAAEsB,IAAI,EAAEG,KAAK,EAAEC,KAAK,CAAC,CAAC;EAC1E,MAAMI,MAAM,GAAG3E,OAAO,CACpB,MAAOmE,IAAI,GAAG,CAAC,GAAGjD,iBAAiB,CAAC2B,UAAU,EAAEsB,IAAI,EAAEG,KAAK,EAAEC,KAAK,CAAC,GAAG,EAAG;EACzE;EACA,CAACC,SAAS,CACZ,CAAC;EAED,MAAM;IACJI,KAAK,EAAE3B,SAAS;IAChB4B,YAAY;IACZC;EACF,CAAC,GAAG3D,0BAA0B,CAAC;IAC7B8B,SAAS,EAAEC,aAAa;IACxBF,gBAAgB;IAChB+B,KAAK,EAAEJ,MAAM,CAACK,MAAM;IACpB7B;EACF,CAAC,CAAC;EAEF,MAAM8B,SAAS,GAAGhF,MAAM,CAACmD,MAAM,CAAC;EAChC6B,SAAS,CAACC,OAAO,GAAG9B,MAAM;;EAE1B;EACA,MAAM+B,MAAM,GAAGtF,WAAW,CAAC,CAAC+E,KAAa,EAAEQ,MAAc,KAAK;IAC5DH,SAAS,CAACC,OAAO,GAAGN,KAAK,EAAEQ,MAAM,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;;EAEN;AACF;AACA;AACA;EACE,MAAMC,MAAM,GAAGxF,WAAW,CACvB+E,KAAa,IAAK;IACjB,IAAID,MAAM,CAACC,KAAK,CAAC,KAAKU,SAAS,EAAE;IACjCT,YAAY,CAACD,KAAK,CAAC;EACrB,CAAC,EACD,CAACD,MAAM,EAAEE,YAAY,CACvB,CAAC;EAED,MAAMU,MAAM,GAAG1F,WAAW,CAAE+E,KAAa,IAAKS,MAAM,CAACT,KAAK,CAAC,EAAE,CAACS,MAAM,CAAC,CAAC;;EAEtE;AACF;AACA;AACA;AACA;AACA;EACEtF,SAAS,CAAC,MAAM;IACd,MAAMyF,MAAM,GAAGb,MAAM,CAAC1B,SAAS,CAAC;IAChC,IAAIuC,MAAM,KAAKF,SAAS,EAAE;IAE1B,IAAI,CAACpB,OAAO,CAACgB,OAAO,EAAE;MACpBhB,OAAO,CAACgB,OAAO,GAAG,IAAI;MACtB,IAAI,CAAC5B,cAAc,EAAE;QACnBU,SAAS,CAACyB,KAAK,GAAGD,MAAM;QACxBL,MAAM,CAAClC,SAAS,EAAEuC,MAAM,CAAC;QACzB;MACF;IACF;IAEA,IAAIvB,QAAQ,CAACwB,KAAK,EAAE;IACpB,IAAI,CAAC9B,OAAO,EAAE;MACZK,SAAS,CAACyB,KAAK,GAAGD,MAAM;MACxBL,MAAM,CAAClC,SAAS,EAAEuC,MAAM,CAAC;MACzB;IACF;IACA,MAAME,MAAM,GAAGA,CAAA,KAAMP,MAAM,CAAClC,SAAS,EAAEuC,MAAM,CAAC;IAC9CxB,SAAS,CAACyB,KAAK,GAAG9E,UAAU,CAAC6E,MAAM,EAAElE,MAAM,EAAGqE,QAAQ,IAAK;MACzD,SAAS;;MACT,IAAIA,QAAQ,EAAEpF,OAAO,CAACmF,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC;IACF;IACA;IACA;EACF,CAAC,EAAE,CAACf,MAAM,EAAE1B,SAAS,EAAEU,OAAO,EAAEL,cAAc,EAAEwB,YAAY,CAAC,CAAC;EAE9D,MAAMc,YAAY,GAAG/F,WAAW,CAC7BgG,KAAwB,IAAK;IAC5BhC,YAAY,CAACgC,KAAK,CAACC,WAAW,CAACC,MAAM,CAACX,MAAM,CAAC;IAC7C5B,QAAQ,GAAGqC,KAAK,CAAC;EACnB,CAAC,EACD,CAACrC,QAAQ,CACX,CAAC;EAED,MAAMwC,eAAe,GAAGnG,WAAW,CAAEuF,MAAc,IAAK;IACtDrB,iBAAiB,CAAEmB,OAAO,IAAMd,IAAI,CAAC6B,GAAG,CAACf,OAAO,GAAGE,MAAM,CAAC,GAAG,GAAG,GAAGF,OAAO,GAAGE,MAAO,CAAC;EACvF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM5C,OAAO,GAAGxC,OAAO,CACrB,OAAO;IACLgE,SAAS;IACTC,QAAQ;IACRU,MAAM;IACNL,KAAK;IACLC,KAAK;IACLJ,IAAI;IACJ+B,QAAQ,EAAE/B,IAAI,GAAG,CAAC;IAClBd,QAAQ;IACRJ,SAAS;IACTU,OAAO;IACP4B,MAAM;IACNS,eAAe;IACflC;EACF,CAAC,CAAC,EACF,CACEE,SAAS,EACTC,QAAQ,EACRU,MAAM,EACNL,KAAK,EACLC,KAAK,EACLJ,IAAI,EACJd,QAAQ,EACRJ,SAAS,EACTU,OAAO,EACP4B,MAAM,EACNS,eAAe,EACflC,cAAc,CAElB,CAAC;EAED,oBACEzC,IAAA,CAACgB,gBAAgB,CAAC8D,QAAQ;IAACV,KAAK,EAAEjD,OAAQ;IAAAe,QAAA,eACxClC,IAAA,CAAClB,IAAI;MAACyC,SAAS,EAAEZ,IAAI,CAAC;QAAEY;MAAU,CAAC,CAAE;MAACY,QAAQ,EAAEoC,YAAa;MAAA,GAAKnC,KAAK;MAAAF,QAAA,EACpEA;IAAQ,CACL;EAAC,CACkB,CAAC;AAEhC;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS6C,YAAYA,CAAC;EAAExD,SAAS;EAAEW,QAAQ;EAAE8C,KAAK;EAAE,GAAG5C;AAA0B,CAAC,EAAE;EAClF,MAAMjB,OAAO,GAAGF,mBAAmB,CAAC,eAAe,CAAC;EACpD,MAAM;IAAEL;EAAI,CAAC,GAAGH,iBAAiB,CAAC,CAAC;EAEnC,MAAMwE,aAAa,GAAG9F,gBAAgB,CAAC,OAAO;IAC5C4E,MAAM,EAAE5C,OAAO,CAACwB,SAAS,CAACyB;EAC5B,CAAC,CAAC,CAAC;;EAEH;AACF;AACA;AACA;AACA;AACA;EACE,MAAMc,UAAU,GAAG;IAAEC,QAAQ,EAAE,CAAC;IAAEC,SAAS,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAE,CAAC;EAE/D,oBACErF,IAAA,CAACf,QAAQ,CAACH,IAAI;IACZyC,SAAS,EAAEX,GAAG,CAAC;MAAEW;IAAU,CAAC,CAAE;IAC9ByD,KAAK,EAAE,CAAC7D,OAAO,CAAC0D,QAAQ,GAAG,IAAI,GAAGK,UAAU,EAAEF,KAAK,EAAEC,aAAa,CAAE;IAAA,GAChE7C,KAAK;IAAAF,QAAA,EAERA;EAAQ,CACI,CAAC;AAEpB;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASoD,eAAeA,CAAC;EAAE/D,SAAS;EAAEW,QAAQ;EAAE,GAAGE;AAA0B,CAAC,EAAE;EAC9EnB,mBAAmB,CAAC,kBAAkB,CAAC;EACvC,MAAM;IAAEJ;EAAO,CAAC,GAAGJ,iBAAiB,CAAC,CAAC;EAEtC,oBACET,IAAA,CAAClB,IAAI;IAACyC,SAAS,EAAEV,MAAM,CAAC;MAAEU;IAAU,CAAC,CAAE;IAAA,GAAKa,KAAK;IAAAF,QAAA,EAC9CA;EAAQ,CACL,CAAC;AAEX;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASqD,iBAAiBA,CAAC;EACzBhE,SAAS;EACTiE,kBAAkB,GAAG,cAAc;EACnCtD,QAAQ;EACRC,QAAQ;EACR,GAAGC;AACmB,CAAC,EAAE;EACzB,MAAMjB,OAAO,GAAGF,mBAAmB,CAAC,oBAAoB,CAAC;EACzD,MAAM;IAAEH;EAAS,CAAC,GAAGL,iBAAiB,CAAC,CAAC;EACxC,MAAM;IAAEkC,SAAS;IAAEC,QAAQ;IAAEU,MAAM;IAAEL,KAAK;IAAEC,KAAK;IAAEJ,IAAI;IAAEd,QAAQ;IAAEkC;EAAO,CAAC,GAAG/C,OAAO;EAErF,MAAMsE,KAAK,GAAGpG,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMqG,MAAM,GAAGrG,cAAc,CAAC,CAAC,CAAC,CAAC;EAEjC,MAAMsG,MAAM,GAAGnH,WAAW,CAAE+E,KAAa,IAAKW,MAAM,CAACX,KAAK,CAAC,EAAE,CAACW,MAAM,CAAC,CAAC;EAEtE,MAAM0B,GAAG,GAAGjH,OAAO,CACjB,MACEI,OAAO,CAAC8G,GAAG,CAAC,CAAC,CACVC,OAAO,CAAC,CAAC9D,QAAQ,IAAIsB,MAAM,CAACK,MAAM,GAAG,CAAC;EACvC;EACA;EAAA,CACCoC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtBC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACtBC,OAAO,CAAC,MAAM;IACbR,KAAK,CAACrB,KAAK,GAAGzB,SAAS,CAACyB,KAAK;IAC7BxB,QAAQ,CAACwB,KAAK,GAAG,IAAI;IACrBsB,MAAM,CAACtB,KAAK,GAAG,CAAC,CAAC;EACnB,CAAC,CAAC,CACD8B,QAAQ,CAAE1B,KAAK,IAAK;IACnB,IAAI1B,IAAI,IAAI,CAAC,EAAE;IACfH,SAAS,CAACyB,KAAK,GAAG1E,KAAK,CAAC+F,KAAK,CAACrB,KAAK,GAAGI,KAAK,CAAC2B,YAAY,EAAElD,KAAK,EAAEC,KAAK,CAAC;;IAEvE;IACA;IACA;IACA,MAAMkD,IAAI,GAAGzG,gBAAgB,CAACgD,SAAS,CAACyB,KAAK,EAAEd,MAAM,EAAE,CAAC,EAAER,IAAI,CAAC;IAC/D,IAAIsD,IAAI,KAAKV,MAAM,CAACtB,KAAK,EAAE;MACzBsB,MAAM,CAACtB,KAAK,GAAGgC,IAAI;MACnBlH,OAAO,CAACM,aAAa,CAAC,CAAC,CAAC;IAC1B;EACF,CAAC,CAAC,CACD6G,UAAU,CAAE7B,KAAK,IAAK;IACrB5B,QAAQ,CAACwB,KAAK,GAAG,KAAK;IACtB,IAAItB,IAAI,IAAI,CAAC,EAAE;IACf,MAAMS,KAAK,GAAG5D,gBAAgB,CAC5BgD,SAAS,CAACyB,KAAK,EACfd,MAAM,EACNkB,KAAK,CAAC8B,SAAS,IAAI,CAAC,EACpBxD,IACF,CAAC;IACD5D,OAAO,CAACyG,MAAM,CAAC,CAACpC,KAAK,CAAC;EACxB,CAAC,CAAC,EACN,CAACvB,QAAQ,EAAEY,QAAQ,EAAE8C,MAAM,EAAExC,KAAK,EAAED,KAAK,EAAEK,MAAM,EAAER,IAAI,EAAE6C,MAAM,EAAEF,KAAK,EAAE9C,SAAS,CACnF,CAAC;EAED,MAAM4B,YAAY,GAAG/F,WAAW,CAC7BgG,KAAwB,IAAK;IAC5BrD,OAAO,CAACwD,eAAe,CAACH,KAAK,CAACC,WAAW,CAACC,MAAM,CAACX,MAAM,CAAC;IACxD5B,QAAQ,GAAGqC,KAAK,CAAC;EACnB,CAAC,EACD,CAACrD,OAAO,EAAEgB,QAAQ,CACpB,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMoE,IAAI,GAAG/H,WAAW,CACrBgI,SAAiB,IAAK;IACrB,MAAMJ,IAAI,GAAG1G,KAAK,CAACyB,OAAO,CAACS,SAAS,GAAG4E,SAAS,EAAE,CAAC,EAAElD,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;IACvE,IAAIyC,IAAI,KAAKjF,OAAO,CAACS,SAAS,EAAEsC,MAAM,CAACkC,IAAI,CAAC;EAC9C,CAAC,EACD,CAACjF,OAAO,CAACS,SAAS,EAAE0B,MAAM,CAACK,MAAM,EAAEO,MAAM,CAC3C,CAAC;EAED,oBACElE,IAAA,CAAChB,eAAe;IAACyH,OAAO,EAAEb,GAAI;IAAA1D,QAAA,eAC5BlC,IAAA,CAAClB,IAAI;MAAA,GACCsD,KAAK;MACTsE,UAAU;MACVC,iBAAiB,EAAC,YAAY;MAC9BnB,kBAAkB,EAAEA,kBAAmB;MACvCoB,kBAAkB,EAAE;QAAE5E;MAAS,CAAE;MACjC6E,kBAAkB,EAAE;QAClBC,GAAG,EAAE,CAAC;QACN9D,GAAG,EAAED,IAAI,CAACC,GAAG,CAACM,MAAM,CAACK,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;QACnCoD,GAAG,EAAE5F,OAAO,CAACS;MACf,CAAE;MACFoF,oBAAoB,EAClBhF,QAAQ,GAAGiC,SAAS,GAAG,CAAC;QAAEgD,IAAI,EAAE;MAAY,CAAC,EAAE;QAAEA,IAAI,EAAE;MAAY,CAAC,CACrE;MACDC,qBAAqB,EACnBlF,QAAQ,GACJiC,SAAS,GACRO,KAAK,IAAK;QACT,IAAIA,KAAK,CAACC,WAAW,CAAC0C,UAAU,KAAK,WAAW,EAAEZ,IAAI,CAAC,CAAC,CAAC,CAAC,KACrD,IAAI/B,KAAK,CAACC,WAAW,CAAC0C,UAAU,KAAK,WAAW,EAAEZ,IAAI,CAAC,CAAC,CAAC,CAAC;MACjE,CACL;MACDhF,SAAS,EAAET,QAAQ,CAAC;QAAES;MAAU,CAAC,CAAE;MACnCY,QAAQ,EAAEoC,YAAa;MAAArC,QAAA,EAEtBA;IAAQ,CACL;EAAC,CACQ,CAAC;AAEtB;AAOA;AACA;AACA;AACA;AACA;AACA,SAASkF,eAAeA,CAAC;EAAE7F,SAAS;EAAEW,QAAQ;EAAE8C,KAAK;EAAE,GAAG5C;AAA4B,CAAC,EAAE;EACvF,MAAMjB,OAAO,GAAGF,mBAAmB,CAAC,kBAAkB,CAAC;EACvD,MAAM;IAAEF;EAAO,CAAC,GAAGN,iBAAiB,CAAC,CAAC;EACtC,MAAM;IAAE6B;EAAQ,CAAC,GAAGnB,OAAO;EAE3B,MAAM8D,aAAa,GAAG9F,gBAAgB,CAAC,MAAM;IAC3C,IAAI,CAACmD,OAAO,EAAE,OAAO;MAAE+E,SAAS,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAE,CAAC;IAAE,CAAC;IACnD,OAAO;MACLD,SAAS,EAAE,CACT;QAAEC,MAAM,EAAEhI,UAAU,CAAC6B,OAAO,CAACyB,QAAQ,CAACwB,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE5D,WAAW;MAAE,CAAC;IAE1E,CAAC;EACH,CAAC,CAAC;EAEF,IAAI0B,QAAQ,EAAE;IACZ,oBACElC,IAAA,CAACf,QAAQ,CAACH,IAAI;MAACkG,KAAK,EAAE,CAACA,KAAK,EAAEC,aAAa,CAAE;MAAA,GAAK7C,KAAK;MAAAF,QAAA,EACpDA;IAAQ,CACI,CAAC;EAEpB;EAEA,oBACElC,IAAA,CAACf,QAAQ,CAACH,IAAI;IACZyC,SAAS,EAAER,MAAM,CAAC;MAAEQ;IAAU,CAAC,CAAE;IACjCyD,KAAK,EAAE,CAACA,KAAK,EAAEC,aAAa,CAAE;IAAA,GAC1B7C;EAAK,CACV,CAAC;AAEN;AAEAd,aAAa,CAACiG,WAAW,GAAG,WAAW;AACvCxC,YAAY,CAACwC,WAAW,GAAG,eAAe;AAC1CjC,eAAe,CAACiC,WAAW,GAAG,kBAAkB;AAChDhC,iBAAiB,CAACgC,WAAW,GAAG,oBAAoB;AACpDH,eAAe,CAACG,WAAW,GAAG,kBAAkB;AAEhD,OAAO,MAAMC,SAAS,GAAGC,MAAM,CAACC,MAAM,CAACpG,aAAa,EAAE;EACpDqG,GAAG,EAAE5C,YAAY;EACjB6C,MAAM,EAAEtC,eAAe;EACvBuC,QAAQ,EAAEtC,iBAAiB;EAC3BuC,MAAM,EAAEV;AACV,CAAC,CAAC;AAEF,SACE3H,kBAAkB,EAClBsI,mBAAmB,EACnBpI,gBAAgB,EAChBqI,kBAAkB,EAClBpI,aAAa,EACbC,iBAAiB,QACZ,sBAAmB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","View","Gesture","GestureDetector","Animated","runOnJS","useAnimatedStyle","useReducedMotion","useSharedValue","withSpring","tv","selectionTick","DEFAULT_MIN_HEIGHT","clamp","nearestSnapIndex","resolveLength","resolveSnapPoints","useSplitViewIndexLifecycle","jsx","_jsx","SPRING","damping","stiffness","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","GRIP_SPRING","splitViewVariants","slots","root","top","bottom","dragArea","handle","variants","variant","panes","seam","defaultVariants","SplitViewContext","useSplitViewContext","component","context","Error","useSplitView","SplitViewRoot","className","snapPoints","minHeight","maxHeight","defaultSnapIndex","snapIndex","snapIndexProp","onSnapIndexChange","onSnap","disabled","animateOnMount","children","onLayout","props","reducedMotion","animate","container","setContainer","dragAreaHeight","setDragAreaHeight","topHeight","dragging","settled","room","Math","max","minPx","maxPx","pointsKey","JSON","stringify","points","index","requestIndex","requestToken","count","length","onSnapRef","current","report","height","moveTo","undefined","snapTo","target","value","finish","finished","handleLayout","event","nativeEvent","layout","measureDragArea","abs","measured","Provider","SplitViewTop","style","animatedStyle","unmeasured","flexGrow","flexBasis","flexShrink","SplitViewBottom","SplitViewDragArea","accessibilityLabel","start","landed","settle","pan","Pan","enabled","activeOffsetY","failOffsetX","onBegin","onUpdate","translationY","next","onFinalize","velocityY","step","direction","gesture","accessible","accessibilityRole","accessibilityState","accessibilityValue","min","now","accessibilityActions","name","onAccessibilityAction","actionName","SplitViewHandle","transform","scaleX","displayName","SplitView","Object","assign","Top","Bottom","DragArea","Handle","DEFAULT_SNAP_POINTS","normalizeSnapIndex"],"sourceRoot":"../../../../src","sources":["components/split-view/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ThemeSelector — light, dark, or whatever the device is set to.
|
|
5
|
+
*
|
|
6
|
+
* Three miniatures of a screen, the chosen one ringed. A row of words would
|
|
7
|
+
* take a third of the space and say the same thing, but "System" is the option
|
|
8
|
+
* people hesitate over, and a picture of a screen split down the middle
|
|
9
|
+
* explains it in less time than a sentence does.
|
|
10
|
+
*
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <ThemeSelector label="Choose a theme" />
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* ## It reads the theme rather than remembering it
|
|
16
|
+
*
|
|
17
|
+
* There is already one answer to "which theme is this" — Uniwind's — so the
|
|
18
|
+
* selector asks for it instead of keeping a copy that can disagree. Change the
|
|
19
|
+
* theme anywhere else in the app and the ring moves. Pass `value` to show
|
|
20
|
+
* something else, for a settings screen that stages a choice before applying
|
|
21
|
+
* it.
|
|
22
|
+
*
|
|
23
|
+
* ## Light and dark stay inside the family
|
|
24
|
+
*
|
|
25
|
+
* A reader in Moon who picks Light gets Moon's light theme, not the default
|
|
26
|
+
* one. System is the exception, and cannot be otherwise: the device knows only
|
|
27
|
+
* light and dark, so following it means following those two.
|
|
28
|
+
*/
|
|
29
|
+
import { createContext, useCallback, useContext, useMemo } from 'react';
|
|
30
|
+
import { Pressable, View } from 'react-native';
|
|
31
|
+
import { tv } from 'tailwind-variants';
|
|
32
|
+
import { useUniwind } from 'uniwind';
|
|
33
|
+
import { Text, textChildren } from "../../primitives/text.js";
|
|
34
|
+
import { useTheme, useThemeMode } from "../../theme/use-theme.js";
|
|
35
|
+
import { ThemePreview } from "./theme-preview.js";
|
|
36
|
+
|
|
37
|
+
/** What the selector chooses between. */
|
|
38
|
+
|
|
39
|
+
/** How big the miniatures are drawn. */
|
|
40
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
41
|
+
/** The three, in the order a selector draws them when it is not told. */
|
|
42
|
+
const OPTIONS = ['system', 'light', 'dark'];
|
|
43
|
+
|
|
44
|
+
/** What each one is called, when the caller does not say. */
|
|
45
|
+
const LABELS = {
|
|
46
|
+
system: 'System',
|
|
47
|
+
light: 'Light',
|
|
48
|
+
dark: 'Dark'
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/** How wide the miniature is drawn, per size. */
|
|
52
|
+
const PREVIEW_WIDTH = {
|
|
53
|
+
sm: 72,
|
|
54
|
+
md: 88
|
|
55
|
+
};
|
|
56
|
+
const themeSelectorVariants = tv({
|
|
57
|
+
slots: {
|
|
58
|
+
root: 'gap-3',
|
|
59
|
+
legend: 'font-medium',
|
|
60
|
+
options: 'flex-row flex-wrap items-start gap-4',
|
|
61
|
+
option: 'items-center gap-2',
|
|
62
|
+
/*
|
|
63
|
+
* The ring lives on a box around the artwork rather than on the artwork
|
|
64
|
+
* itself. React Native has no outline, so a border on the preview would
|
|
65
|
+
* take a strip out of the drawing every time the option was chosen — the
|
|
66
|
+
* miniature would change size as you picked it.
|
|
67
|
+
*/
|
|
68
|
+
frame: 'overflow-hidden rounded-xl border-2 p-1',
|
|
69
|
+
/*
|
|
70
|
+
* The artwork's own corners, rounded to sit concentrically inside the
|
|
71
|
+
* frame: the frame's radius less the padding between them. A square
|
|
72
|
+
* miniature inside a rounded ring reads as a screenshot somebody pasted in
|
|
73
|
+
* — the two edges have to curve together or neither should.
|
|
74
|
+
*/
|
|
75
|
+
preview: 'overflow-hidden rounded-lg',
|
|
76
|
+
label: 'text-center'
|
|
77
|
+
},
|
|
78
|
+
variants: {
|
|
79
|
+
selected: {
|
|
80
|
+
true: {
|
|
81
|
+
frame: 'border-primary',
|
|
82
|
+
label: 'text-foreground'
|
|
83
|
+
},
|
|
84
|
+
false: {
|
|
85
|
+
frame: 'border-transparent',
|
|
86
|
+
label: 'text-muted-foreground'
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
disabled: {
|
|
90
|
+
true: {
|
|
91
|
+
root: 'opacity-40'
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
defaultVariants: {
|
|
96
|
+
selected: false
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
const ThemeSelectorContext = /*#__PURE__*/createContext(null);
|
|
100
|
+
function useThemeSelector(part) {
|
|
101
|
+
const value = useContext(ThemeSelectorContext);
|
|
102
|
+
if (!value) throw new Error(`${part} must be used inside a <ThemeSelector>.`);
|
|
103
|
+
return value;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Which of the three the app is on, read from the theme itself.
|
|
108
|
+
*
|
|
109
|
+
* `hasAdaptiveThemes` is the part that makes this possible: it is true exactly
|
|
110
|
+
* while the theme is following the device, which is the one thing the theme's
|
|
111
|
+
* own name cannot tell you — `system` resolves to `light` or `dark` the moment
|
|
112
|
+
* it is applied, and the two are indistinguishable afterwards.
|
|
113
|
+
*/
|
|
114
|
+
export function useThemeSelection() {
|
|
115
|
+
const {
|
|
116
|
+
hasAdaptiveThemes
|
|
117
|
+
} = useUniwind();
|
|
118
|
+
const {
|
|
119
|
+
mode
|
|
120
|
+
} = useThemeMode();
|
|
121
|
+
return hasAdaptiveThemes ? 'system' : mode;
|
|
122
|
+
}
|
|
123
|
+
function ThemeSelectorRoot({
|
|
124
|
+
className,
|
|
125
|
+
value,
|
|
126
|
+
onValueChange,
|
|
127
|
+
applyTheme = true,
|
|
128
|
+
label,
|
|
129
|
+
variant = 'window',
|
|
130
|
+
size = 'md',
|
|
131
|
+
disabled = false,
|
|
132
|
+
children,
|
|
133
|
+
...props
|
|
134
|
+
}) {
|
|
135
|
+
const slots = themeSelectorVariants({
|
|
136
|
+
disabled
|
|
137
|
+
});
|
|
138
|
+
const {
|
|
139
|
+
setTheme
|
|
140
|
+
} = useTheme();
|
|
141
|
+
const {
|
|
142
|
+
setMode
|
|
143
|
+
} = useThemeMode();
|
|
144
|
+
const live = useThemeSelection();
|
|
145
|
+
const current = value ?? live;
|
|
146
|
+
const select = useCallback(next => {
|
|
147
|
+
onValueChange?.(next);
|
|
148
|
+
if (!applyTheme) return;
|
|
149
|
+
// `setMode` rather than `setTheme`, so a reader in a named family stays
|
|
150
|
+
// in it. Following the device is the one choice that cannot: the device
|
|
151
|
+
// has no opinion beyond light and dark.
|
|
152
|
+
if (next === 'system') setTheme('system');else setMode(next);
|
|
153
|
+
}, [applyTheme, onValueChange, setTheme, setMode]);
|
|
154
|
+
const context = useMemo(() => ({
|
|
155
|
+
value: current,
|
|
156
|
+
select,
|
|
157
|
+
variant,
|
|
158
|
+
size,
|
|
159
|
+
disabled
|
|
160
|
+
}), [current, select, variant, size, disabled]);
|
|
161
|
+
return /*#__PURE__*/_jsx(ThemeSelectorContext.Provider, {
|
|
162
|
+
value: context,
|
|
163
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
164
|
+
accessibilityRole: "radiogroup",
|
|
165
|
+
accessibilityLabel: label,
|
|
166
|
+
...props,
|
|
167
|
+
className: slots.root({
|
|
168
|
+
className
|
|
169
|
+
}),
|
|
170
|
+
children: [label ? /*#__PURE__*/_jsx(Text, {
|
|
171
|
+
size: "sm",
|
|
172
|
+
className: slots.legend(),
|
|
173
|
+
children: label
|
|
174
|
+
}) : null, /*#__PURE__*/_jsx(View, {
|
|
175
|
+
className: slots.options(),
|
|
176
|
+
children: children ? textChildren(children) : OPTIONS.map(option => /*#__PURE__*/_jsx(ThemeSelectorOption, {
|
|
177
|
+
value: option
|
|
178
|
+
}, option))
|
|
179
|
+
})]
|
|
180
|
+
})
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* One of the three.
|
|
185
|
+
*
|
|
186
|
+
* The whole thing is the target — the miniature and the word under it — because
|
|
187
|
+
* at this size the word is the easier of the two to hit and pressing it should
|
|
188
|
+
* not miss.
|
|
189
|
+
*/
|
|
190
|
+
function ThemeSelectorOption({
|
|
191
|
+
className,
|
|
192
|
+
value,
|
|
193
|
+
label,
|
|
194
|
+
children,
|
|
195
|
+
...props
|
|
196
|
+
}) {
|
|
197
|
+
const context = useThemeSelector('ThemeSelector.Option');
|
|
198
|
+
const selected = context.value === value;
|
|
199
|
+
const slots = themeSelectorVariants({
|
|
200
|
+
selected,
|
|
201
|
+
disabled: context.disabled
|
|
202
|
+
});
|
|
203
|
+
const name = label ?? LABELS[value];
|
|
204
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
205
|
+
accessibilityRole: "radio",
|
|
206
|
+
accessibilityLabel: name,
|
|
207
|
+
accessibilityState: {
|
|
208
|
+
selected,
|
|
209
|
+
disabled: context.disabled
|
|
210
|
+
},
|
|
211
|
+
disabled: context.disabled,
|
|
212
|
+
...props,
|
|
213
|
+
onPress: () => context.select(value),
|
|
214
|
+
className: slots.option({
|
|
215
|
+
className
|
|
216
|
+
}),
|
|
217
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
218
|
+
className: slots.frame(),
|
|
219
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
220
|
+
className: slots.preview(),
|
|
221
|
+
children: children ?? /*#__PURE__*/_jsx(ThemePreview, {
|
|
222
|
+
mode: value,
|
|
223
|
+
variant: context.variant,
|
|
224
|
+
width: PREVIEW_WIDTH[context.size]
|
|
225
|
+
})
|
|
226
|
+
})
|
|
227
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
228
|
+
size: "sm",
|
|
229
|
+
className: slots.label(),
|
|
230
|
+
children: name
|
|
231
|
+
})]
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
ThemeSelectorRoot.displayName = 'ThemeSelector';
|
|
235
|
+
ThemeSelectorOption.displayName = 'ThemeSelector.Option';
|
|
236
|
+
export const ThemeSelector = Object.assign(ThemeSelectorRoot, {
|
|
237
|
+
Option: ThemeSelectorOption
|
|
238
|
+
});
|
|
239
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useMemo","Pressable","View","tv","useUniwind","Text","textChildren","useTheme","useThemeMode","ThemePreview","jsx","_jsx","jsxs","_jsxs","OPTIONS","LABELS","system","light","dark","PREVIEW_WIDTH","sm","md","themeSelectorVariants","slots","root","legend","options","option","frame","preview","label","variants","selected","true","false","disabled","defaultVariants","ThemeSelectorContext","useThemeSelector","part","value","Error","useThemeSelection","hasAdaptiveThemes","mode","ThemeSelectorRoot","className","onValueChange","applyTheme","variant","size","children","props","setTheme","setMode","live","current","select","next","context","Provider","accessibilityRole","accessibilityLabel","map","ThemeSelectorOption","name","accessibilityState","onPress","width","displayName","ThemeSelector","Object","assign","Option"],"sourceRoot":"../../../../src","sources":["components/theme-selector/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The three miniatures a theme selector is made of.
|
|
5
|
+
*
|
|
6
|
+
* Drawn from fixed neutrals rather than from theme tokens, which is the one
|
|
7
|
+
* thing about this file that is not obvious. A preview built out of the active
|
|
8
|
+
* theme's colours shows the reader the theme they already have, three times —
|
|
9
|
+
* the light option has to look light while the app around it is dark, or it is
|
|
10
|
+
* not a preview of anything.
|
|
11
|
+
*
|
|
12
|
+
* The greys are the ones a screenshot of an app would actually have: a ground,
|
|
13
|
+
* a surface sitting on it, a mark, and the lines of text. Two sets, and the
|
|
14
|
+
* system option draws both.
|
|
15
|
+
*/
|
|
16
|
+
import { useId } from 'react';
|
|
17
|
+
import Svg, { Circle, ClipPath, Defs, G, Path, Rect } from 'react-native-svg';
|
|
18
|
+
|
|
19
|
+
/** Which of the three a preview is drawing. */
|
|
20
|
+
|
|
21
|
+
/** How the miniature is drawn. */
|
|
22
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
|
+
const PALETTE = {
|
|
24
|
+
light: {
|
|
25
|
+
ground: '#e5e5e5',
|
|
26
|
+
surface: '#ffffff',
|
|
27
|
+
mark: '#d4d4d4',
|
|
28
|
+
line: '#e5e5e5'
|
|
29
|
+
},
|
|
30
|
+
dark: {
|
|
31
|
+
ground: '#171717',
|
|
32
|
+
surface: '#262626',
|
|
33
|
+
mark: '#525252',
|
|
34
|
+
line: '#404040'
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The one colour that is not a grey.
|
|
40
|
+
*
|
|
41
|
+
* Fixed for the same reason the greys are, and warm rather than blue: it has to
|
|
42
|
+
* read as "a colour in the app" on both grounds without looking like the ring
|
|
43
|
+
* that marks the chosen option.
|
|
44
|
+
*/
|
|
45
|
+
const ACCENT = '#c1704f';
|
|
46
|
+
|
|
47
|
+
/** Everything is drawn in this box and scaled by the container. */
|
|
48
|
+
const VIEW_BOX = {
|
|
49
|
+
width: 88,
|
|
50
|
+
height: 70
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The lower-right half of the box, cut from the top-right corner to the
|
|
55
|
+
* bottom-left one. Both text lines sit above it and the accent below it, which
|
|
56
|
+
* is what makes one card show a light screen and a dark one at the same time.
|
|
57
|
+
*/
|
|
58
|
+
const DIAGONAL = `M${VIEW_BOX.width} 0V${VIEW_BOX.height}H0Z`;
|
|
59
|
+
|
|
60
|
+
/* -------------------------------------------------------------------------- *
|
|
61
|
+
* window — an app screen, with the panel inset from the leading edge
|
|
62
|
+
* -------------------------------------------------------------------------- */
|
|
63
|
+
|
|
64
|
+
function WindowHalf({
|
|
65
|
+
palette,
|
|
66
|
+
side
|
|
67
|
+
}) {
|
|
68
|
+
if (side === 'full') {
|
|
69
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
70
|
+
children: [/*#__PURE__*/_jsx(Rect, {
|
|
71
|
+
x: 0,
|
|
72
|
+
y: 0,
|
|
73
|
+
width: 88,
|
|
74
|
+
height: 70,
|
|
75
|
+
fill: palette.ground
|
|
76
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
77
|
+
d: "M10 12a4 4 0 0 1 4-4h74v62H10V12Z",
|
|
78
|
+
fill: palette.surface
|
|
79
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
80
|
+
cx: 28,
|
|
81
|
+
cy: 26,
|
|
82
|
+
r: 8,
|
|
83
|
+
fill: palette.mark
|
|
84
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
85
|
+
x: 20,
|
|
86
|
+
y: 42,
|
|
87
|
+
width: 58,
|
|
88
|
+
height: 4,
|
|
89
|
+
rx: 2,
|
|
90
|
+
fill: palette.line
|
|
91
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
92
|
+
x: 20,
|
|
93
|
+
y: 49,
|
|
94
|
+
width: 58,
|
|
95
|
+
height: 4,
|
|
96
|
+
rx: 2,
|
|
97
|
+
fill: palette.line
|
|
98
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
99
|
+
x: 20,
|
|
100
|
+
y: 56,
|
|
101
|
+
width: 29,
|
|
102
|
+
height: 4,
|
|
103
|
+
rx: 2,
|
|
104
|
+
fill: palette.line
|
|
105
|
+
})]
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/*
|
|
110
|
+
* Half a screen each, and the halves are not mirror images: the panel starts
|
|
111
|
+
* at the same inset on the left and runs to the edge on the right, so the
|
|
112
|
+
* seam falls where the two app surfaces meet rather than down the middle of
|
|
113
|
+
* one of them.
|
|
114
|
+
*/
|
|
115
|
+
const x = side === 'left' ? 0 : 44;
|
|
116
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
117
|
+
children: [/*#__PURE__*/_jsx(Rect, {
|
|
118
|
+
x: x,
|
|
119
|
+
y: 0,
|
|
120
|
+
width: 44,
|
|
121
|
+
height: 70,
|
|
122
|
+
fill: palette.ground
|
|
123
|
+
}), side === 'left' ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
124
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
125
|
+
d: "M10 12a4 4 0 0 1 4-4h30v62H10V12Z",
|
|
126
|
+
fill: palette.surface
|
|
127
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
128
|
+
cx: 28,
|
|
129
|
+
cy: 26,
|
|
130
|
+
r: 8,
|
|
131
|
+
fill: palette.mark
|
|
132
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
133
|
+
x: 20,
|
|
134
|
+
y: 42,
|
|
135
|
+
width: 24,
|
|
136
|
+
height: 4,
|
|
137
|
+
rx: 2,
|
|
138
|
+
fill: palette.line
|
|
139
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
140
|
+
x: 20,
|
|
141
|
+
y: 49,
|
|
142
|
+
width: 24,
|
|
143
|
+
height: 4,
|
|
144
|
+
rx: 2,
|
|
145
|
+
fill: palette.line
|
|
146
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
147
|
+
x: 20,
|
|
148
|
+
y: 56,
|
|
149
|
+
width: 24,
|
|
150
|
+
height: 4,
|
|
151
|
+
rx: 2,
|
|
152
|
+
fill: palette.line
|
|
153
|
+
})]
|
|
154
|
+
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
155
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
156
|
+
d: "M54 12a4 4 0 0 1 4-4h30v62H54V12Z",
|
|
157
|
+
fill: palette.surface
|
|
158
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
159
|
+
cx: 72,
|
|
160
|
+
cy: 26,
|
|
161
|
+
r: 8,
|
|
162
|
+
fill: palette.mark
|
|
163
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
164
|
+
x: 64,
|
|
165
|
+
y: 42,
|
|
166
|
+
width: 24,
|
|
167
|
+
height: 4,
|
|
168
|
+
rx: 2,
|
|
169
|
+
fill: palette.line
|
|
170
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
171
|
+
x: 64,
|
|
172
|
+
y: 49,
|
|
173
|
+
width: 24,
|
|
174
|
+
height: 4,
|
|
175
|
+
rx: 2,
|
|
176
|
+
fill: palette.line
|
|
177
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
178
|
+
x: 64,
|
|
179
|
+
y: 56,
|
|
180
|
+
width: 24,
|
|
181
|
+
height: 4,
|
|
182
|
+
rx: 2,
|
|
183
|
+
fill: palette.line
|
|
184
|
+
})]
|
|
185
|
+
})]
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/* -------------------------------------------------------------------------- *
|
|
190
|
+
* card — a framed card, with an accent on it
|
|
191
|
+
* -------------------------------------------------------------------------- */
|
|
192
|
+
|
|
193
|
+
/*
|
|
194
|
+
* The card fills its box rather than floating inside it.
|
|
195
|
+
*
|
|
196
|
+
* It used to carry a margin of its own, which then sat on top of the padding
|
|
197
|
+
* between the artwork and the ring around it — two gaps doing one job, and the
|
|
198
|
+
* bigger the miniature the further apart they held the two edges.
|
|
199
|
+
*/
|
|
200
|
+
const CARD_FRAME = {
|
|
201
|
+
x: 0,
|
|
202
|
+
y: 0,
|
|
203
|
+
width: 88,
|
|
204
|
+
height: 70,
|
|
205
|
+
rx: 16
|
|
206
|
+
};
|
|
207
|
+
const CARD_SURFACE = {
|
|
208
|
+
x: 8,
|
|
209
|
+
y: 8,
|
|
210
|
+
width: 72,
|
|
211
|
+
height: 54,
|
|
212
|
+
rx: 10
|
|
213
|
+
};
|
|
214
|
+
function CardBody({
|
|
215
|
+
palette
|
|
216
|
+
}) {
|
|
217
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
218
|
+
children: [/*#__PURE__*/_jsx(Rect, {
|
|
219
|
+
...CARD_FRAME,
|
|
220
|
+
fill: palette.ground
|
|
221
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
222
|
+
...CARD_SURFACE,
|
|
223
|
+
fill: palette.surface
|
|
224
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
225
|
+
x: 17,
|
|
226
|
+
y: 18,
|
|
227
|
+
width: 34,
|
|
228
|
+
height: 4,
|
|
229
|
+
rx: 2,
|
|
230
|
+
fill: palette.line
|
|
231
|
+
}), /*#__PURE__*/_jsx(Rect, {
|
|
232
|
+
x: 17,
|
|
233
|
+
y: 26,
|
|
234
|
+
width: 23,
|
|
235
|
+
height: 4,
|
|
236
|
+
rx: 2,
|
|
237
|
+
fill: palette.line
|
|
238
|
+
})]
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* One miniature.
|
|
243
|
+
*
|
|
244
|
+
* `width` rather than a scale factor: the option's box is what decides the
|
|
245
|
+
* size, and everything inside is drawn against a fixed box and scaled by the
|
|
246
|
+
* viewBox — so the geometry above never has to know how big it ended up.
|
|
247
|
+
*/
|
|
248
|
+
export function ThemePreview({
|
|
249
|
+
mode,
|
|
250
|
+
variant = 'window',
|
|
251
|
+
width
|
|
252
|
+
}) {
|
|
253
|
+
const height = Math.round(width / VIEW_BOX.width * VIEW_BOX.height);
|
|
254
|
+
/*
|
|
255
|
+
* `useId` returns something with colons in it, which is not a name an SVG
|
|
256
|
+
* fragment reference accepts — a clip that silently fails to resolve draws
|
|
257
|
+
* nothing at all, and on a shape covering half the artwork that is the whole
|
|
258
|
+
* option missing.
|
|
259
|
+
*/
|
|
260
|
+
const clip = `panelui-theme-${useId().replace(/[^a-zA-Z0-9-]/g, '')}`;
|
|
261
|
+
if (variant === 'card') {
|
|
262
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
263
|
+
width: width,
|
|
264
|
+
height: height,
|
|
265
|
+
viewBox: "0 0 88 70",
|
|
266
|
+
children: [/*#__PURE__*/_jsx(CardBody, {
|
|
267
|
+
palette: PALETTE[mode === 'dark' ? 'dark' : 'light']
|
|
268
|
+
}), mode === 'system' ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
269
|
+
children: [/*#__PURE__*/_jsxs(Defs, {
|
|
270
|
+
children: [/*#__PURE__*/_jsx(ClipPath, {
|
|
271
|
+
id: `${clip}-frame`,
|
|
272
|
+
children: /*#__PURE__*/_jsx(Rect, {
|
|
273
|
+
...CARD_FRAME
|
|
274
|
+
})
|
|
275
|
+
}), /*#__PURE__*/_jsx(ClipPath, {
|
|
276
|
+
id: `${clip}-card`,
|
|
277
|
+
children: /*#__PURE__*/_jsx(Rect, {
|
|
278
|
+
...CARD_SURFACE
|
|
279
|
+
})
|
|
280
|
+
})]
|
|
281
|
+
}), /*#__PURE__*/_jsx(G, {
|
|
282
|
+
clipPath: `url(#${clip}-frame)`,
|
|
283
|
+
children: /*#__PURE__*/_jsx(Path, {
|
|
284
|
+
d: DIAGONAL,
|
|
285
|
+
fill: PALETTE.dark.ground
|
|
286
|
+
})
|
|
287
|
+
}), /*#__PURE__*/_jsx(G, {
|
|
288
|
+
clipPath: `url(#${clip}-card)`,
|
|
289
|
+
children: /*#__PURE__*/_jsx(Path, {
|
|
290
|
+
d: DIAGONAL,
|
|
291
|
+
fill: PALETTE.dark.surface
|
|
292
|
+
})
|
|
293
|
+
})]
|
|
294
|
+
}) : null, /*#__PURE__*/_jsx(Circle, {
|
|
295
|
+
cx: 64,
|
|
296
|
+
cy: 47,
|
|
297
|
+
r: 8,
|
|
298
|
+
fill: ACCENT
|
|
299
|
+
})]
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
return /*#__PURE__*/_jsx(Svg, {
|
|
303
|
+
width: width,
|
|
304
|
+
height: height,
|
|
305
|
+
viewBox: "0 0 88 70",
|
|
306
|
+
children: mode === 'system' ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
307
|
+
children: [/*#__PURE__*/_jsx(WindowHalf, {
|
|
308
|
+
palette: PALETTE.light,
|
|
309
|
+
side: "left"
|
|
310
|
+
}), /*#__PURE__*/_jsx(WindowHalf, {
|
|
311
|
+
palette: PALETTE.dark,
|
|
312
|
+
side: "right"
|
|
313
|
+
})]
|
|
314
|
+
}) : /*#__PURE__*/_jsx(WindowHalf, {
|
|
315
|
+
palette: PALETTE[mode],
|
|
316
|
+
side: "full"
|
|
317
|
+
})
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=theme-preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useId","Svg","Circle","ClipPath","Defs","G","Path","Rect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PALETTE","light","ground","surface","mark","line","dark","ACCENT","VIEW_BOX","width","height","DIAGONAL","WindowHalf","palette","side","children","x","y","fill","d","cx","cy","r","rx","CARD_FRAME","CARD_SURFACE","CardBody","ThemePreview","mode","variant","Math","round","clip","replace","viewBox","id","clipPath"],"sourceRoot":"../../../../src","sources":["components/theme-selector/theme-preview.tsx"],"mappings":"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","ignoreList":[]}
|