@raystack/apsara 0.0.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/dist/avatar/avatar.cjs +76 -0
- package/dist/avatar/avatar.cjs.map +1 -0
- package/dist/avatar/avatar.d.ts +28 -0
- package/dist/avatar/avatar.d.ts.map +1 -0
- package/dist/avatar/avatar.js +55 -0
- package/dist/avatar/avatar.js.map +1 -0
- package/dist/avatar/avatar.module.css.cjs +6 -0
- package/dist/avatar/avatar.module.css.cjs.map +1 -0
- package/dist/avatar/avatar.module.css.js +4 -0
- package/dist/avatar/avatar.module.css.js.map +1 -0
- package/dist/avatar/index.d.ts +2 -0
- package/dist/avatar/index.d.ts.map +1 -0
- package/dist/badge/badge.cjs +20 -0
- package/dist/badge/badge.cjs.map +1 -0
- package/dist/badge/badge.d.ts +9 -0
- package/dist/badge/badge.d.ts.map +1 -0
- package/dist/badge/badge.js +18 -0
- package/dist/badge/badge.js.map +1 -0
- package/dist/badge/badge.module.css.cjs +6 -0
- package/dist/badge/badge.module.css.cjs.map +1 -0
- package/dist/badge/badge.module.css.js +4 -0
- package/dist/badge/badge.module.css.js.map +1 -0
- package/dist/badge/index.d.ts +2 -0
- package/dist/badge/index.d.ts.map +1 -0
- package/dist/body/body.cjs +24 -0
- package/dist/body/body.cjs.map +1 -0
- package/dist/body/body.d.ts +9 -0
- package/dist/body/body.d.ts.map +1 -0
- package/dist/body/body.js +22 -0
- package/dist/body/body.js.map +1 -0
- package/dist/body/body.module.css.cjs +6 -0
- package/dist/body/body.module.css.cjs.map +1 -0
- package/dist/body/body.module.css.js +4 -0
- package/dist/body/body.module.css.js.map +1 -0
- package/dist/body/index.d.ts +2 -0
- package/dist/body/index.d.ts.map +1 -0
- package/dist/box/box.cjs +13 -0
- package/dist/box/box.cjs.map +1 -0
- package/dist/box/box.d.ts +7 -0
- package/dist/box/box.d.ts.map +1 -0
- package/dist/box/box.js +11 -0
- package/dist/box/box.js.map +1 -0
- package/dist/box/box.module.css.cjs +6 -0
- package/dist/box/box.module.css.cjs.map +1 -0
- package/dist/box/box.module.css.js +4 -0
- package/dist/box/box.module.css.js.map +1 -0
- package/dist/box/index.d.ts +2 -0
- package/dist/box/index.d.ts.map +1 -0
- package/dist/button/button.cjs +32 -0
- package/dist/button/button.cjs.map +1 -0
- package/dist/button/button.d.ts +11 -0
- package/dist/button/button.d.ts.map +1 -0
- package/dist/button/button.js +30 -0
- package/dist/button/button.js.map +1 -0
- package/dist/button/button.module.css.cjs +6 -0
- package/dist/button/button.module.css.cjs.map +1 -0
- package/dist/button/button.module.css.js +4 -0
- package/dist/button/button.module.css.js.map +1 -0
- package/dist/button/index.d.ts +2 -0
- package/dist/button/index.d.ts.map +1 -0
- package/dist/checkbox/checkbox.cjs +48 -0
- package/dist/checkbox/checkbox.cjs.map +1 -0
- package/dist/checkbox/checkbox.d.ts +14 -0
- package/dist/checkbox/checkbox.d.ts.map +1 -0
- package/dist/checkbox/checkbox.js +27 -0
- package/dist/checkbox/checkbox.js.map +1 -0
- package/dist/checkbox/checkbox.module.css.cjs +6 -0
- package/dist/checkbox/checkbox.module.css.cjs.map +1 -0
- package/dist/checkbox/checkbox.module.css.js +4 -0
- package/dist/checkbox/checkbox.module.css.js.map +1 -0
- package/dist/checkbox/index.d.ts +2 -0
- package/dist/checkbox/index.d.ts.map +1 -0
- package/dist/command/command.cjs +52 -0
- package/dist/command/command.cjs.map +1 -0
- package/dist/command/command.d.ts +2 -0
- package/dist/command/command.d.ts.map +1 -0
- package/dist/command/command.js +50 -0
- package/dist/command/command.js.map +1 -0
- package/dist/command/command.module.css.cjs +6 -0
- package/dist/command/command.module.css.cjs.map +1 -0
- package/dist/command/command.module.css.js +4 -0
- package/dist/command/command.module.css.js.map +1 -0
- package/dist/command/index.d.ts +2 -0
- package/dist/command/index.d.ts.map +1 -0
- package/dist/container/container.cjs +25 -0
- package/dist/container/container.cjs.map +1 -0
- package/dist/container/container.d.ts +9 -0
- package/dist/container/container.d.ts.map +1 -0
- package/dist/container/container.js +23 -0
- package/dist/container/container.js.map +1 -0
- package/dist/container/container.module.css.cjs +6 -0
- package/dist/container/container.module.css.cjs.map +1 -0
- package/dist/container/container.module.css.js +4 -0
- package/dist/container/container.module.css.js.map +1 -0
- package/dist/container/index.d.ts +2 -0
- package/dist/container/index.d.ts.map +1 -0
- package/dist/dialog/dialog.cjs +52 -0
- package/dist/dialog/dialog.cjs.map +1 -0
- package/dist/dialog/dialog.d.ts +25 -0
- package/dist/dialog/dialog.d.ts.map +1 -0
- package/dist/dialog/dialog.js +29 -0
- package/dist/dialog/dialog.js.map +1 -0
- package/dist/dialog/dialog.module.css.cjs +6 -0
- package/dist/dialog/dialog.module.css.cjs.map +1 -0
- package/dist/dialog/dialog.module.css.js +4 -0
- package/dist/dialog/dialog.module.css.js.map +1 -0
- package/dist/dialog/index.d.ts +2 -0
- package/dist/dialog/index.d.ts.map +1 -0
- package/dist/display/display.cjs +24 -0
- package/dist/display/display.cjs.map +1 -0
- package/dist/display/display.d.ts +9 -0
- package/dist/display/display.d.ts.map +1 -0
- package/dist/display/display.js +22 -0
- package/dist/display/display.js.map +1 -0
- package/dist/display/display.module.css.cjs +6 -0
- package/dist/display/display.module.css.cjs.map +1 -0
- package/dist/display/display.module.css.js +4 -0
- package/dist/display/display.module.css.js.map +1 -0
- package/dist/display/index.d.ts +2 -0
- package/dist/display/index.d.ts.map +1 -0
- package/dist/dropdown-menu/dropdown-menu.cjs +54 -0
- package/dist/dropdown-menu/dropdown-menu.cjs.map +1 -0
- package/dist/dropdown-menu/dropdown-menu.d.ts +25 -0
- package/dist/dropdown-menu/dropdown-menu.d.ts.map +1 -0
- package/dist/dropdown-menu/dropdown-menu.js +32 -0
- package/dist/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/dropdown-menu/dropdown-menu.module.css.cjs +6 -0
- package/dist/dropdown-menu/dropdown-menu.module.css.cjs.map +1 -0
- package/dist/dropdown-menu/dropdown-menu.module.css.js +4 -0
- package/dist/dropdown-menu/dropdown-menu.module.css.js.map +1 -0
- package/dist/dropdown-menu/index.d.ts +2 -0
- package/dist/dropdown-menu/index.d.ts.map +1 -0
- package/dist/emptystate/emptystate.cjs +13 -0
- package/dist/emptystate/emptystate.cjs.map +1 -0
- package/dist/emptystate/emptystate.d.ts +7 -0
- package/dist/emptystate/emptystate.d.ts.map +1 -0
- package/dist/emptystate/emptystate.js +11 -0
- package/dist/emptystate/emptystate.js.map +1 -0
- package/dist/emptystate/emptystate.module.css.cjs +6 -0
- package/dist/emptystate/emptystate.module.css.cjs.map +1 -0
- package/dist/emptystate/emptystate.module.css.js +4 -0
- package/dist/emptystate/emptystate.module.css.js.map +1 -0
- package/dist/emptystate/index.d.ts +2 -0
- package/dist/emptystate/index.d.ts.map +1 -0
- package/dist/flex/flex.cjs +53 -0
- package/dist/flex/flex.cjs.map +1 -0
- package/dist/flex/flex.d.ts +13 -0
- package/dist/flex/flex.d.ts.map +1 -0
- package/dist/flex/flex.js +51 -0
- package/dist/flex/flex.js.map +1 -0
- package/dist/flex/flex.module.css.cjs +6 -0
- package/dist/flex/flex.module.css.cjs.map +1 -0
- package/dist/flex/flex.module.css.js +4 -0
- package/dist/flex/flex.module.css.js.map +1 -0
- package/dist/flex/index.d.ts +2 -0
- package/dist/flex/index.d.ts.map +1 -0
- package/dist/grid/grid.cjs +72 -0
- package/dist/grid/grid.cjs.map +1 -0
- package/dist/grid/grid.d.ts +15 -0
- package/dist/grid/grid.d.ts.map +1 -0
- package/dist/grid/grid.js +70 -0
- package/dist/grid/grid.js.map +1 -0
- package/dist/grid/grid.module.css.cjs +6 -0
- package/dist/grid/grid.module.css.cjs.map +1 -0
- package/dist/grid/grid.module.css.js +4 -0
- package/dist/grid/grid.module.css.js.map +1 -0
- package/dist/grid/index.d.ts +2 -0
- package/dist/grid/index.d.ts.map +1 -0
- package/dist/headline/headline.cjs +24 -0
- package/dist/headline/headline.cjs.map +1 -0
- package/dist/headline/headline.d.ts +9 -0
- package/dist/headline/headline.d.ts.map +1 -0
- package/dist/headline/headline.js +22 -0
- package/dist/headline/headline.js.map +1 -0
- package/dist/headline/headline.module.css.cjs +6 -0
- package/dist/headline/headline.module.css.cjs.map +1 -0
- package/dist/headline/headline.module.css.js +4 -0
- package/dist/headline/headline.module.css.js.map +1 -0
- package/dist/headline/index.d.ts +2 -0
- package/dist/headline/index.d.ts.map +1 -0
- package/dist/image/image.cjs +13 -0
- package/dist/image/image.cjs.map +1 -0
- package/dist/image/image.d.ts +7 -0
- package/dist/image/image.d.ts.map +1 -0
- package/dist/image/image.js +11 -0
- package/dist/image/image.js.map +1 -0
- package/dist/image/image.module.css.cjs +6 -0
- package/dist/image/image.module.css.cjs.map +1 -0
- package/dist/image/image.module.css.js +4 -0
- package/dist/image/image.module.css.js.map +1 -0
- package/dist/image/index.d.ts +2 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/index.cjs +77 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +1666 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/label/index.d.ts +2 -0
- package/dist/label/index.d.ts.map +1 -0
- package/dist/label/label.cjs +24 -0
- package/dist/label/label.cjs.map +1 -0
- package/dist/label/label.d.ts +9 -0
- package/dist/label/label.d.ts.map +1 -0
- package/dist/label/label.js +22 -0
- package/dist/label/label.js.map +1 -0
- package/dist/label/label.module.css.cjs +6 -0
- package/dist/label/label.module.css.cjs.map +1 -0
- package/dist/label/label.module.css.js +4 -0
- package/dist/label/label.module.css.js.map +1 -0
- package/dist/link/index.d.ts +2 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/link.cjs +24 -0
- package/dist/link/link.cjs.map +1 -0
- package/dist/link/link.d.ts +9 -0
- package/dist/link/link.d.ts.map +1 -0
- package/dist/link/link.js +22 -0
- package/dist/link/link.js.map +1 -0
- package/dist/link/link.module.css.cjs +6 -0
- package/dist/link/link.module.css.cjs.map +1 -0
- package/dist/link/link.module.css.js +4 -0
- package/dist/link/link.module.css.js.map +1 -0
- package/dist/popover/index.d.ts +2 -0
- package/dist/popover/index.d.ts.map +1 -0
- package/dist/popover/popover.cjs +35 -0
- package/dist/popover/popover.cjs.map +1 -0
- package/dist/popover/popover.d.ts +7 -0
- package/dist/popover/popover.d.ts.map +1 -0
- package/dist/popover/popover.js +14 -0
- package/dist/popover/popover.js.map +1 -0
- package/dist/popover/popover.module.css.cjs +6 -0
- package/dist/popover/popover.module.css.cjs.map +1 -0
- package/dist/popover/popover.module.css.js +4 -0
- package/dist/popover/popover.module.css.js.map +1 -0
- package/dist/radio/index.d.ts +2 -0
- package/dist/radio/index.d.ts.map +1 -0
- package/dist/radio/radio.cjs +51 -0
- package/dist/radio/radio.cjs.map +1 -0
- package/dist/radio/radio.d.ts +18 -0
- package/dist/radio/radio.d.ts.map +1 -0
- package/dist/radio/radio.js +29 -0
- package/dist/radio/radio.js.map +1 -0
- package/dist/radio/radio.module.css.cjs +6 -0
- package/dist/radio/radio.module.css.cjs.map +1 -0
- package/dist/radio/radio.module.css.js +4 -0
- package/dist/radio/radio.module.css.js.map +1 -0
- package/dist/scroll-area/index.d.ts +2 -0
- package/dist/scroll-area/index.d.ts.map +1 -0
- package/dist/scroll-area/scrollarea.cjs +38 -0
- package/dist/scroll-area/scrollarea.cjs.map +1 -0
- package/dist/scroll-area/scrollarea.d.ts +11 -0
- package/dist/scroll-area/scrollarea.d.ts.map +1 -0
- package/dist/scroll-area/scrollarea.js +15 -0
- package/dist/scroll-area/scrollarea.js.map +1 -0
- package/dist/scroll-area/scrollarea.module.css.cjs +6 -0
- package/dist/scroll-area/scrollarea.module.css.cjs.map +1 -0
- package/dist/scroll-area/scrollarea.module.css.js +4 -0
- package/dist/scroll-area/scrollarea.module.css.js.map +1 -0
- package/dist/select/index.d.ts +2 -0
- package/dist/select/index.d.ts.map +1 -0
- package/dist/select/select.cjs +56 -0
- package/dist/select/select.cjs.map +1 -0
- package/dist/select/select.d.ts +17 -0
- package/dist/select/select.d.ts.map +1 -0
- package/dist/select/select.js +34 -0
- package/dist/select/select.js.map +1 -0
- package/dist/select/select.module.css.cjs +6 -0
- package/dist/select/select.module.css.cjs.map +1 -0
- package/dist/select/select.module.css.js +4 -0
- package/dist/select/select.module.css.js.map +1 -0
- package/dist/separator/index.d.ts +2 -0
- package/dist/separator/index.d.ts.map +1 -0
- package/dist/separator/separator.cjs +44 -0
- package/dist/separator/separator.cjs.map +1 -0
- package/dist/separator/separator.d.ts +10 -0
- package/dist/separator/separator.d.ts.map +1 -0
- package/dist/separator/separator.js +23 -0
- package/dist/separator/separator.js.map +1 -0
- package/dist/separator/separator.module.css.cjs +6 -0
- package/dist/separator/separator.module.css.cjs.map +1 -0
- package/dist/separator/separator.module.css.js +4 -0
- package/dist/separator/separator.module.css.js.map +1 -0
- package/dist/sheet/index.d.ts +2 -0
- package/dist/sheet/index.d.ts.map +1 -0
- package/dist/sheet/sheet.cjs +67 -0
- package/dist/sheet/sheet.cjs.map +1 -0
- package/dist/sheet/sheet.d.ts +29 -0
- package/dist/sheet/sheet.d.ts.map +1 -0
- package/dist/sheet/sheet.js +43 -0
- package/dist/sheet/sheet.js.map +1 -0
- package/dist/sheet/sheet.module.css.cjs +6 -0
- package/dist/sheet/sheet.module.css.cjs.map +1 -0
- package/dist/sheet/sheet.module.css.js +4 -0
- package/dist/sheet/sheet.module.css.js.map +1 -0
- package/dist/sidebar/index.d.ts +2 -0
- package/dist/sidebar/index.d.ts.map +1 -0
- package/dist/sidebar/sidebar.cjs +44 -0
- package/dist/sidebar/sidebar.cjs.map +1 -0
- package/dist/sidebar/sidebar.d.ts +34 -0
- package/dist/sidebar/sidebar.d.ts.map +1 -0
- package/dist/sidebar/sidebar.js +42 -0
- package/dist/sidebar/sidebar.js.map +1 -0
- package/dist/sidebar/sidebar.module.css.cjs +6 -0
- package/dist/sidebar/sidebar.module.css.cjs.map +1 -0
- package/dist/sidebar/sidebar.module.css.js +4 -0
- package/dist/sidebar/sidebar.module.css.js.map +1 -0
- package/dist/switch/index.d.ts +2 -0
- package/dist/switch/index.d.ts.map +1 -0
- package/dist/switch/switch.cjs +35 -0
- package/dist/switch/switch.cjs.map +1 -0
- package/dist/switch/switch.d.ts +12 -0
- package/dist/switch/switch.d.ts.map +1 -0
- package/dist/switch/switch.js +14 -0
- package/dist/switch/switch.js.map +1 -0
- package/dist/switch/switch.module.css.cjs +6 -0
- package/dist/switch/switch.module.css.cjs.map +1 -0
- package/dist/switch/switch.module.css.js +4 -0
- package/dist/switch/switch.module.css.js.map +1 -0
- package/dist/table/DataTableClearFilter.cjs +18 -0
- package/dist/table/DataTableClearFilter.cjs.map +1 -0
- package/dist/table/DataTableClearFilter.d.ts +6 -0
- package/dist/table/DataTableClearFilter.d.ts.map +1 -0
- package/dist/table/DataTableClearFilter.js +16 -0
- package/dist/table/DataTableClearFilter.js.map +1 -0
- package/dist/table/DataTableFilterChips.cjs +25 -0
- package/dist/table/DataTableFilterChips.cjs.map +1 -0
- package/dist/table/DataTableFilterChips.d.ts +6 -0
- package/dist/table/DataTableFilterChips.d.ts.map +1 -0
- package/dist/table/DataTableFilterChips.js +23 -0
- package/dist/table/DataTableFilterChips.js.map +1 -0
- package/dist/table/DataTableFilterOptions.cjs +22 -0
- package/dist/table/DataTableFilterOptions.cjs.map +1 -0
- package/dist/table/DataTableFilterOptions.d.ts +6 -0
- package/dist/table/DataTableFilterOptions.d.ts.map +1 -0
- package/dist/table/DataTableFilterOptions.js +20 -0
- package/dist/table/DataTableFilterOptions.js.map +1 -0
- package/dist/table/DataTableFooter.cjs +12 -0
- package/dist/table/DataTableFooter.cjs.map +1 -0
- package/dist/table/DataTableFooter.d.ts +9 -0
- package/dist/table/DataTableFooter.d.ts.map +1 -0
- package/dist/table/DataTableFooter.js +10 -0
- package/dist/table/DataTableFooter.js.map +1 -0
- package/dist/table/DataTableGloabalSearch.cjs +13 -0
- package/dist/table/DataTableGloabalSearch.cjs.map +1 -0
- package/dist/table/DataTableGloabalSearch.d.ts +6 -0
- package/dist/table/DataTableGloabalSearch.d.ts.map +1 -0
- package/dist/table/DataTableGloabalSearch.js +11 -0
- package/dist/table/DataTableGloabalSearch.js.map +1 -0
- package/dist/table/DataTableToolbar.cjs +12 -0
- package/dist/table/DataTableToolbar.cjs.map +1 -0
- package/dist/table/DataTableToolbar.d.ts +9 -0
- package/dist/table/DataTableToolbar.d.ts.map +1 -0
- package/dist/table/DataTableToolbar.js +10 -0
- package/dist/table/DataTableToolbar.js.map +1 -0
- package/dist/table/DataTableViewOptions.cjs +22 -0
- package/dist/table/DataTableViewOptions.cjs.map +1 -0
- package/dist/table/DataTableViewOptions.d.ts +6 -0
- package/dist/table/DataTableViewOptions.d.ts.map +1 -0
- package/dist/table/DataTableViewOptions.js +20 -0
- package/dist/table/DataTableViewOptions.js.map +1 -0
- package/dist/table/FilteredChip.cjs +57 -0
- package/dist/table/FilteredChip.cjs.map +1 -0
- package/dist/table/FilteredChip.d.ts +7 -0
- package/dist/table/FilteredChip.d.ts.map +1 -0
- package/dist/table/FilteredChip.js +55 -0
- package/dist/table/FilteredChip.js.map +1 -0
- package/dist/table/TableBottomContainer.cjs +11 -0
- package/dist/table/TableBottomContainer.cjs.map +1 -0
- package/dist/table/TableBottomContainer.d.ts +6 -0
- package/dist/table/TableBottomContainer.d.ts.map +1 -0
- package/dist/table/TableBottomContainer.js +9 -0
- package/dist/table/TableBottomContainer.js.map +1 -0
- package/dist/table/TableContext.cjs +8 -0
- package/dist/table/TableContext.cjs.map +1 -0
- package/dist/table/TableContext.d.ts +22 -0
- package/dist/table/TableContext.d.ts.map +1 -0
- package/dist/table/TableContext.js +6 -0
- package/dist/table/TableContext.js.map +1 -0
- package/dist/table/TableDetailContainer.cjs +11 -0
- package/dist/table/TableDetailContainer.cjs.map +1 -0
- package/dist/table/TableDetailContainer.d.ts +6 -0
- package/dist/table/TableDetailContainer.d.ts.map +1 -0
- package/dist/table/TableDetailContainer.js +9 -0
- package/dist/table/TableDetailContainer.js.map +1 -0
- package/dist/table/TableTopContainer.cjs +11 -0
- package/dist/table/TableTopContainer.cjs.map +1 -0
- package/dist/table/TableTopContainer.d.ts +6 -0
- package/dist/table/TableTopContainer.d.ts.map +1 -0
- package/dist/table/TableTopContainer.js +9 -0
- package/dist/table/TableTopContainer.js.map +1 -0
- package/dist/table/datatable.cjs +86 -0
- package/dist/table/datatable.cjs.map +1 -0
- package/dist/table/datatable.d.ts +27 -0
- package/dist/table/datatable.d.ts.map +1 -0
- package/dist/table/datatable.js +84 -0
- package/dist/table/datatable.js.map +1 -0
- package/dist/table/datatable.module.css.cjs +6 -0
- package/dist/table/datatable.module.css.cjs.map +1 -0
- package/dist/table/datatable.module.css.js +4 -0
- package/dist/table/datatable.module.css.js.map +1 -0
- package/dist/table/datatables.types.d.ts +20 -0
- package/dist/table/datatables.types.d.ts.map +1 -0
- package/dist/table/helpers/aggregationFns.d.ts +12 -0
- package/dist/table/helpers/aggregationFns.d.ts.map +1 -0
- package/dist/table/helpers/column.d.ts +3 -0
- package/dist/table/helpers/column.d.ts.map +1 -0
- package/dist/table/helpers/filterFns.d.ts +75 -0
- package/dist/table/helpers/filterFns.d.ts.map +1 -0
- package/dist/table/hooks/useOnClickOutside.cjs +17 -0
- package/dist/table/hooks/useOnClickOutside.cjs.map +1 -0
- package/dist/table/hooks/useOnClickOutside.d.ts +5 -0
- package/dist/table/hooks/useOnClickOutside.d.ts.map +1 -0
- package/dist/table/hooks/useOnClickOutside.js +15 -0
- package/dist/table/hooks/useOnClickOutside.js.map +1 -0
- package/dist/table/hooks/useRowSelection.cjs +45 -0
- package/dist/table/hooks/useRowSelection.cjs.map +1 -0
- package/dist/table/hooks/useRowSelection.d.ts +7 -0
- package/dist/table/hooks/useRowSelection.d.ts.map +1 -0
- package/dist/table/hooks/useRowSelection.js +43 -0
- package/dist/table/hooks/useRowSelection.js.map +1 -0
- package/dist/table/hooks/useTable.cjs +15 -0
- package/dist/table/hooks/useTable.cjs.map +1 -0
- package/dist/table/hooks/useTable.d.ts +11 -0
- package/dist/table/hooks/useTable.d.ts.map +1 -0
- package/dist/table/hooks/useTable.js +13 -0
- package/dist/table/hooks/useTable.js.map +1 -0
- package/dist/table/hooks/useTableColumn.cjs +29 -0
- package/dist/table/hooks/useTableColumn.cjs.map +1 -0
- package/dist/table/hooks/useTableColumn.d.ts +12 -0
- package/dist/table/hooks/useTableColumn.d.ts.map +1 -0
- package/dist/table/hooks/useTableColumn.js +27 -0
- package/dist/table/hooks/useTableColumn.js.map +1 -0
- package/dist/table/hooks/useTableFilter.d.ts +11 -0
- package/dist/table/hooks/useTableFilter.d.ts.map +1 -0
- package/dist/table/index.d.ts +5 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/table.cjs +62 -0
- package/dist/table/table.cjs.map +1 -0
- package/dist/table/table.d.ts +26 -0
- package/dist/table/table.d.ts.map +1 -0
- package/dist/table/table.js +41 -0
- package/dist/table/table.js.map +1 -0
- package/dist/table/table.module.css.cjs +6 -0
- package/dist/table/table.module.css.cjs.map +1 -0
- package/dist/table/table.module.css.js +4 -0
- package/dist/table/table.module.css.js.map +1 -0
- package/dist/tabs/index.d.ts +2 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/tabs.cjs +56 -0
- package/dist/tabs/tabs.cjs.map +1 -0
- package/dist/tabs/tabs.d.ts +34 -0
- package/dist/tabs/tabs.d.ts.map +1 -0
- package/dist/tabs/tabs.js +35 -0
- package/dist/tabs/tabs.js.map +1 -0
- package/dist/tabs/tabs.module.css.cjs +6 -0
- package/dist/tabs/tabs.module.css.cjs.map +1 -0
- package/dist/tabs/tabs.module.css.js +4 -0
- package/dist/tabs/tabs.module.css.js.map +1 -0
- package/dist/text/index.d.ts +2 -0
- package/dist/text/index.d.ts.map +1 -0
- package/dist/text/text.cjs +31 -0
- package/dist/text/text.cjs.map +1 -0
- package/dist/text/text.d.ts +9 -0
- package/dist/text/text.d.ts.map +1 -0
- package/dist/text/text.js +29 -0
- package/dist/text/text.js.map +1 -0
- package/dist/text/text.module.css.cjs +6 -0
- package/dist/text/text.module.css.cjs.map +1 -0
- package/dist/text/text.module.css.js +4 -0
- package/dist/text/text.module.css.js.map +1 -0
- package/dist/textfield/index.d.ts +2 -0
- package/dist/textfield/index.d.ts.map +1 -0
- package/dist/textfield/textfield.cjs +28 -0
- package/dist/textfield/textfield.cjs.map +1 -0
- package/dist/textfield/textfield.d.ts +13 -0
- package/dist/textfield/textfield.d.ts.map +1 -0
- package/dist/textfield/textfield.js +26 -0
- package/dist/textfield/textfield.js.map +1 -0
- package/dist/textfield/textfield.module.css.cjs +6 -0
- package/dist/textfield/textfield.module.css.cjs.map +1 -0
- package/dist/textfield/textfield.module.css.js +4 -0
- package/dist/textfield/textfield.module.css.js.map +1 -0
- package/dist/themprovider/OSPreference.cjs +34 -0
- package/dist/themprovider/OSPreference.cjs.map +1 -0
- package/dist/themprovider/OSPreference.d.ts +4 -0
- package/dist/themprovider/OSPreference.d.ts.map +1 -0
- package/dist/themprovider/OSPreference.js +31 -0
- package/dist/themprovider/OSPreference.js.map +1 -0
- package/dist/themprovider/index.d.ts +3 -0
- package/dist/themprovider/index.d.ts.map +1 -0
- package/dist/themprovider/storage.cjs +33 -0
- package/dist/themprovider/storage.cjs.map +1 -0
- package/dist/themprovider/storage.d.ts +5 -0
- package/dist/themprovider/storage.d.ts.map +1 -0
- package/dist/themprovider/storage.js +29 -0
- package/dist/themprovider/storage.js.map +1 -0
- package/dist/themprovider/switcher.cjs +22 -0
- package/dist/themprovider/switcher.cjs.map +1 -0
- package/dist/themprovider/switcher.d.ts +6 -0
- package/dist/themprovider/switcher.d.ts.map +1 -0
- package/dist/themprovider/switcher.js +20 -0
- package/dist/themprovider/switcher.js.map +1 -0
- package/dist/themprovider/themeprovider.cjs +86 -0
- package/dist/themprovider/themeprovider.cjs.map +1 -0
- package/dist/themprovider/themeprovider.d.ts +19 -0
- package/dist/themprovider/themeprovider.d.ts.map +1 -0
- package/dist/themprovider/themeprovider.js +82 -0
- package/dist/themprovider/themeprovider.js.map +1 -0
- package/dist/themprovider/useTheme.cjs +74 -0
- package/dist/themprovider/useTheme.cjs.map +1 -0
- package/dist/themprovider/useTheme.d.ts +14 -0
- package/dist/themprovider/useTheme.d.ts.map +1 -0
- package/dist/themprovider/useTheme.js +70 -0
- package/dist/themprovider/useTheme.js.map +1 -0
- package/dist/title/index.d.ts +2 -0
- package/dist/title/index.d.ts.map +1 -0
- package/dist/title/title.cjs +24 -0
- package/dist/title/title.cjs.map +1 -0
- package/dist/title/title.d.ts +9 -0
- package/dist/title/title.d.ts.map +1 -0
- package/dist/title/title.js +22 -0
- package/dist/title/title.js.map +1 -0
- package/dist/title/title.module.css.cjs +6 -0
- package/dist/title/title.module.css.cjs.map +1 -0
- package/dist/title/title.module.css.js +4 -0
- package/dist/title/title.module.css.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sources":["../../../text/text.tsx"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./text.module.css\";\n\nconst text = cva(styles.text, {\n variants: {\n size: {\n 1: styles[\"text-1\"],\n 2: styles[\"text-2\"],\n 3: styles[\"text-3\"],\n 4: styles[\"text-4\"],\n 5: styles[\"text-5\"],\n 6: styles[\"text-6\"],\n 7: styles[\"text-7\"],\n 8: styles[\"text-8\"],\n 9: styles[\"text-9\"],\n 10: styles[\"text-10\"],\n },\n },\n defaultVariants: {\n size: 2,\n },\n});\n\ntype TextProps = PropsWithChildren<VariantProps<typeof text>> &\n HTMLAttributes<HTMLSpanElement>;\n\nexport function Text({ children, className, size, ...props }: TextProps) {\n return (\n <span className={text({ size, className })} {...props}>\n {children}\n </span>\n );\n}\n"],"names":["_jsx"],"mappings":";;;;AAIA,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;AAC5B,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;AACtB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,CAAC;AACR,KAAA;AACF,CAAA,CAAC,CAAC;AAKa,SAAA,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAa,EAAA;AACrE,IAAA,QACEA,GAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAM,GAAA,KAAK,YAClD,QAAQ,EAAA,CACJ,EACP;AACJ;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styles = {"text":"text-module_text__1E39C","text-1":"text-module_text-1__ZIYnD","text-2":"text-module_text-2__vhka2","text-3":"text-module_text-3__WhApV","text-4":"text-module_text-4__I4KCY","text-5":"text-module_text-5__5i6jy","text-6":"text-module_text-6__vn534","text-7":"text-module_text-7__5stey","text-8":"text-module_text-8__J--5n","text-9":"text-module_text-9__guv-W","text-10":"text-module_text-10__OdU-l"};
|
|
4
|
+
|
|
5
|
+
module.exports = styles;
|
|
6
|
+
//# sourceMappingURL=text.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var styles = {"text":"text-module_text__1E39C","text-1":"text-module_text-1__ZIYnD","text-2":"text-module_text-2__vhka2","text-3":"text-module_text-3__WhApV","text-4":"text-module_text-4__I4KCY","text-5":"text-module_text-5__5i6jy","text-6":"text-module_text-6__vn534","text-7":"text-module_text-7__5stey","text-8":"text-module_text-8__J--5n","text-9":"text-module_text-9__guv-W","text-10":"text-module_text-10__OdU-l"};
|
|
2
|
+
|
|
3
|
+
export { styles as default };
|
|
4
|
+
//# sourceMappingURL=text.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../textfield/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
5
|
+
var textfield_module = require('./textfield.module.css.cjs');
|
|
6
|
+
|
|
7
|
+
const textfield = classVarianceAuthority.cva(textfield_module.textfield, {
|
|
8
|
+
variants: {
|
|
9
|
+
size: {
|
|
10
|
+
small: textfield_module["textfield-sm"],
|
|
11
|
+
medium: textfield_module["textfield-md"],
|
|
12
|
+
},
|
|
13
|
+
state: {
|
|
14
|
+
invalid: textfield_module["textfield-invalid"],
|
|
15
|
+
valid: textfield_module["textfield-valid"],
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
size: "small",
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
const TextField = ({ className, src, size, state, style, ...props }) => {
|
|
23
|
+
return jsxRuntime.jsx("input", { className: textfield({ size, state, className }), ...props });
|
|
24
|
+
};
|
|
25
|
+
TextField.displayName = "TextField";
|
|
26
|
+
|
|
27
|
+
exports.TextField = TextField;
|
|
28
|
+
//# sourceMappingURL=textfield.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textfield.cjs","sources":["../../../textfield/textfield.tsx"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\";\nimport { InputHTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./textfield.module.css\";\n\nconst textfield = cva(styles.textfield, {\n variants: {\n size: {\n small: styles[\"textfield-sm\"],\n medium: styles[\"textfield-md\"],\n },\n\n state: {\n invalid: styles[\"textfield-invalid\"],\n valid: styles[\"textfield-valid\"],\n },\n },\n defaultVariants: {\n size: \"small\",\n },\n});\n\ntype TextfieldProps = PropsWithChildren<VariantProps<typeof textfield>> &\n InputHTMLAttributes<HTMLInputElement>;\n\nexport const TextField = ({\n className,\n src,\n size,\n state,\n style,\n ...props\n}: TextfieldProps) => {\n return <input className={textfield({ size, state, className })} {...props} />;\n};\n\nTextField.displayName = \"TextField\";\n"],"names":["cva","styles","_jsx"],"mappings":";;;;;;AAIA,MAAM,SAAS,GAAGA,0BAAG,CAACC,gBAAM,CAAC,SAAS,EAAE;AACtC,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAEA,gBAAM,CAAC,cAAc,CAAC;AAC7B,YAAA,MAAM,EAAEA,gBAAM,CAAC,cAAc,CAAC;AAC/B,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAEA,gBAAM,CAAC,mBAAmB,CAAC;AACpC,YAAA,KAAK,EAAEA,gBAAM,CAAC,iBAAiB,CAAC;AACjC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,OAAO;AACd,KAAA;AACF,CAAA,CAAC,CAAC;MAKU,SAAS,GAAG,CAAC,EACxB,SAAS,EACT,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,GAAG,KAAK,EACO,KAAI;AACnB,IAAA,OAAOC,0BAAO,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAM,GAAA,KAAK,GAAI,CAAC;AAChF,EAAE;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { InputHTMLAttributes, PropsWithChildren } from "react";
|
|
3
|
+
declare const textfield: (props?: ({
|
|
4
|
+
size?: "small" | "medium" | null | undefined;
|
|
5
|
+
state?: "invalid" | "valid" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare type TextfieldProps = PropsWithChildren<VariantProps<typeof textfield>> & InputHTMLAttributes<HTMLInputElement>;
|
|
8
|
+
export declare const TextField: {
|
|
9
|
+
({ className, src, size, state, style, ...props }: TextfieldProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=textfield.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textfield.d.ts","sourceRoot":"","sources":["../../textfield/textfield.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/D,QAAA,MAAM,SAAS;;;mFAeb,CAAC;AAEH,aAAK,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC,GACrE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AAExC,eAAO,MAAM,SAAS;uDAOnB,cAAc;;CAEhB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import styles from './textfield.module.css.js';
|
|
4
|
+
|
|
5
|
+
const textfield = cva(styles.textfield, {
|
|
6
|
+
variants: {
|
|
7
|
+
size: {
|
|
8
|
+
small: styles["textfield-sm"],
|
|
9
|
+
medium: styles["textfield-md"],
|
|
10
|
+
},
|
|
11
|
+
state: {
|
|
12
|
+
invalid: styles["textfield-invalid"],
|
|
13
|
+
valid: styles["textfield-valid"],
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
defaultVariants: {
|
|
17
|
+
size: "small",
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
const TextField = ({ className, src, size, state, style, ...props }) => {
|
|
21
|
+
return jsx("input", { className: textfield({ size, state, className }), ...props });
|
|
22
|
+
};
|
|
23
|
+
TextField.displayName = "TextField";
|
|
24
|
+
|
|
25
|
+
export { TextField };
|
|
26
|
+
//# sourceMappingURL=textfield.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textfield.js","sources":["../../../textfield/textfield.tsx"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\";\nimport { InputHTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./textfield.module.css\";\n\nconst textfield = cva(styles.textfield, {\n variants: {\n size: {\n small: styles[\"textfield-sm\"],\n medium: styles[\"textfield-md\"],\n },\n\n state: {\n invalid: styles[\"textfield-invalid\"],\n valid: styles[\"textfield-valid\"],\n },\n },\n defaultVariants: {\n size: \"small\",\n },\n});\n\ntype TextfieldProps = PropsWithChildren<VariantProps<typeof textfield>> &\n InputHTMLAttributes<HTMLInputElement>;\n\nexport const TextField = ({\n className,\n src,\n size,\n state,\n style,\n ...props\n}: TextfieldProps) => {\n return <input className={textfield({ size, state, className })} {...props} />;\n};\n\nTextField.displayName = \"TextField\";\n"],"names":["_jsx"],"mappings":";;;;AAIA,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE;AACtC,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;AAC7B,YAAA,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;AAC/B,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACpC,YAAA,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC;AACjC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,OAAO;AACd,KAAA;AACF,CAAA,CAAC,CAAC;MAKU,SAAS,GAAG,CAAC,EACxB,SAAS,EACT,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,GAAG,KAAK,EACO,KAAI;AACnB,IAAA,OAAOA,eAAO,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAM,GAAA,KAAK,GAAI,CAAC;AAChF,EAAE;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styles = {"textfield":"textfield-module_textfield__u4AGg","textfield-sm":"textfield-module_textfield-sm__OKPic","textfield-md":"textfield-module_textfield-md__e2ayW","textfield-invlid":"textfield-module_textfield-invlid__zo9MF","textfield-valid":"textfield-module_textfield-valid__6rMM9"};
|
|
4
|
+
|
|
5
|
+
module.exports = styles;
|
|
6
|
+
//# sourceMappingURL=textfield.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textfield.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var styles = {"textfield":"textfield-module_textfield__u4AGg","textfield-sm":"textfield-module_textfield-sm__OKPic","textfield-md":"textfield-module_textfield-md__e2ayW","textfield-invlid":"textfield-module_textfield-invlid__zo9MF","textfield-valid":"textfield-module_textfield-valid__6rMM9"};
|
|
2
|
+
|
|
3
|
+
export { styles as default };
|
|
4
|
+
//# sourceMappingURL=textfield.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textfield.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const isBrowser = () => typeof window !== "undefined";
|
|
4
|
+
const getMediaTheme = () => {
|
|
5
|
+
if (!isBrowser())
|
|
6
|
+
return null;
|
|
7
|
+
// If they haven't been explicitly set, let's check the media query
|
|
8
|
+
const mqlDark = window.matchMedia("(prefers-color-scheme: dark)");
|
|
9
|
+
const hasMediaQueryPreference = typeof mqlDark.matches === "boolean";
|
|
10
|
+
if (hasMediaQueryPreference)
|
|
11
|
+
return mqlDark.matches ? "dark" : "light";
|
|
12
|
+
return null;
|
|
13
|
+
};
|
|
14
|
+
const listenForOSPreferenceChanges = (preferenceChanged) => {
|
|
15
|
+
if (!isBrowser())
|
|
16
|
+
return null;
|
|
17
|
+
// Listen out for if a user changes operating system mode,
|
|
18
|
+
// but don't save the change in local storage.
|
|
19
|
+
// The only two options here are dark or light.
|
|
20
|
+
window
|
|
21
|
+
.matchMedia("(prefers-color-scheme: dark)")
|
|
22
|
+
.addEventListener("change", (e) => {
|
|
23
|
+
preferenceChanged(e.matches ? "dark" : "light");
|
|
24
|
+
});
|
|
25
|
+
window
|
|
26
|
+
.matchMedia("(prefers-color-scheme: light)")
|
|
27
|
+
.addEventListener("change", (e) => {
|
|
28
|
+
preferenceChanged(e.matches ? "light" : "dark");
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
exports.getMediaTheme = getMediaTheme;
|
|
33
|
+
exports.listenForOSPreferenceChanges = listenForOSPreferenceChanges;
|
|
34
|
+
//# sourceMappingURL=OSPreference.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OSPreference.cjs","sources":["../../../themprovider/OSPreference.ts"],"sourcesContent":["const isBrowser = () => typeof window !== \"undefined\";\n\nexport type MediaTheme = \"dark\" | \"light\";\nexport const getMediaTheme = (): MediaTheme | null => {\n if (!isBrowser()) return null;\n\n // If they haven't been explicitly set, let's check the media query\n const mqlDark = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const hasMediaQueryPreference = typeof mqlDark.matches === \"boolean\";\n if (hasMediaQueryPreference) return mqlDark.matches ? \"dark\" : \"light\";\n return null;\n};\n\nexport const listenForOSPreferenceChanges = (\n preferenceChanged: (preference: MediaTheme) => void\n) => {\n if (!isBrowser()) return null;\n\n // Listen out for if a user changes operating system mode,\n // but don't save the change in local storage.\n // The only two options here are dark or light.\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", (e) => {\n preferenceChanged(e.matches ? \"dark\" : \"light\");\n });\n\n window\n .matchMedia(\"(prefers-color-scheme: light)\")\n .addEventListener(\"change\", (e) => {\n preferenceChanged(e.matches ? \"light\" : \"dark\");\n });\n};\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,MAAM,OAAO,MAAM,KAAK,WAAW,CAAC;AAG/C,MAAM,aAAa,GAAG,MAAwB;IACnD,IAAI,CAAC,SAAS,EAAE;AAAE,QAAA,OAAO,IAAI,CAAC;;IAG9B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;IAClE,MAAM,uBAAuB,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;AACrE,IAAA,IAAI,uBAAuB;QAAE,OAAO,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AACvE,IAAA,OAAO,IAAI,CAAC;AACd,EAAE;AAEW,MAAA,4BAA4B,GAAG,CAC1C,iBAAmD,KACjD;IACF,IAAI,CAAC,SAAS,EAAE;AAAE,QAAA,OAAO,IAAI,CAAC;;;;IAK9B,MAAM;SACH,UAAU,CAAC,8BAA8B,CAAC;AAC1C,SAAA,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAI;AAChC,QAAA,iBAAiB,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAClD,KAAC,CAAC,CAAC;IAEL,MAAM;SACH,UAAU,CAAC,+BAA+B,CAAC;AAC3C,SAAA,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAI;AAChC,QAAA,iBAAiB,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;AAClD,KAAC,CAAC,CAAC;AACP;;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare type MediaTheme = "dark" | "light";
|
|
2
|
+
export declare const getMediaTheme: () => MediaTheme | null;
|
|
3
|
+
export declare const listenForOSPreferenceChanges: (preferenceChanged: (preference: MediaTheme) => void) => null | undefined;
|
|
4
|
+
//# sourceMappingURL=OSPreference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OSPreference.d.ts","sourceRoot":"","sources":["../../themprovider/OSPreference.ts"],"names":[],"mappings":"AAEA,oBAAY,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAC1C,eAAO,MAAM,aAAa,QAAO,UAAU,GAAG,IAQ7C,CAAC;AAEF,eAAO,MAAM,4BAA4B,mCACP,UAAU,KAAK,IAAI,qBAkBpD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const isBrowser = () => typeof window !== "undefined";
|
|
2
|
+
const getMediaTheme = () => {
|
|
3
|
+
if (!isBrowser())
|
|
4
|
+
return null;
|
|
5
|
+
// If they haven't been explicitly set, let's check the media query
|
|
6
|
+
const mqlDark = window.matchMedia("(prefers-color-scheme: dark)");
|
|
7
|
+
const hasMediaQueryPreference = typeof mqlDark.matches === "boolean";
|
|
8
|
+
if (hasMediaQueryPreference)
|
|
9
|
+
return mqlDark.matches ? "dark" : "light";
|
|
10
|
+
return null;
|
|
11
|
+
};
|
|
12
|
+
const listenForOSPreferenceChanges = (preferenceChanged) => {
|
|
13
|
+
if (!isBrowser())
|
|
14
|
+
return null;
|
|
15
|
+
// Listen out for if a user changes operating system mode,
|
|
16
|
+
// but don't save the change in local storage.
|
|
17
|
+
// The only two options here are dark or light.
|
|
18
|
+
window
|
|
19
|
+
.matchMedia("(prefers-color-scheme: dark)")
|
|
20
|
+
.addEventListener("change", (e) => {
|
|
21
|
+
preferenceChanged(e.matches ? "dark" : "light");
|
|
22
|
+
});
|
|
23
|
+
window
|
|
24
|
+
.matchMedia("(prefers-color-scheme: light)")
|
|
25
|
+
.addEventListener("change", (e) => {
|
|
26
|
+
preferenceChanged(e.matches ? "light" : "dark");
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export { getMediaTheme, listenForOSPreferenceChanges };
|
|
31
|
+
//# sourceMappingURL=OSPreference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OSPreference.js","sources":["../../../themprovider/OSPreference.ts"],"sourcesContent":["const isBrowser = () => typeof window !== \"undefined\";\n\nexport type MediaTheme = \"dark\" | \"light\";\nexport const getMediaTheme = (): MediaTheme | null => {\n if (!isBrowser()) return null;\n\n // If they haven't been explicitly set, let's check the media query\n const mqlDark = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const hasMediaQueryPreference = typeof mqlDark.matches === \"boolean\";\n if (hasMediaQueryPreference) return mqlDark.matches ? \"dark\" : \"light\";\n return null;\n};\n\nexport const listenForOSPreferenceChanges = (\n preferenceChanged: (preference: MediaTheme) => void\n) => {\n if (!isBrowser()) return null;\n\n // Listen out for if a user changes operating system mode,\n // but don't save the change in local storage.\n // The only two options here are dark or light.\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", (e) => {\n preferenceChanged(e.matches ? \"dark\" : \"light\");\n });\n\n window\n .matchMedia(\"(prefers-color-scheme: light)\")\n .addEventListener(\"change\", (e) => {\n preferenceChanged(e.matches ? \"light\" : \"dark\");\n });\n};\n"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,MAAM,OAAO,MAAM,KAAK,WAAW,CAAC;AAG/C,MAAM,aAAa,GAAG,MAAwB;IACnD,IAAI,CAAC,SAAS,EAAE;AAAE,QAAA,OAAO,IAAI,CAAC;;IAG9B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;IAClE,MAAM,uBAAuB,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;AACrE,IAAA,IAAI,uBAAuB;QAAE,OAAO,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AACvE,IAAA,OAAO,IAAI,CAAC;AACd,EAAE;AAEW,MAAA,4BAA4B,GAAG,CAC1C,iBAAmD,KACjD;IACF,IAAI,CAAC,SAAS,EAAE;AAAE,QAAA,OAAO,IAAI,CAAC;;;;IAK9B,MAAM;SACH,UAAU,CAAC,8BAA8B,CAAC;AAC1C,SAAA,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAI;AAChC,QAAA,iBAAiB,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAClD,KAAC,CAAC,CAAC;IAEL,MAAM;SACH,UAAU,CAAC,+BAA+B,CAAC;AAC3C,SAAA,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAI;AAChC,QAAA,iBAAiB,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;AAClD,KAAC,CAAC,CAAC;AACP;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../themprovider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const themeLocalStorageKey = "theme";
|
|
4
|
+
function isValidThemePreference(theme) {
|
|
5
|
+
return theme == "auto" || theme == "dark" || theme == "light";
|
|
6
|
+
}
|
|
7
|
+
const saveThemePreference = (newTheme) => {
|
|
8
|
+
try {
|
|
9
|
+
if (typeof newTheme === "string")
|
|
10
|
+
window.localStorage.setItem(themeLocalStorageKey, newTheme);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
console.warn(e);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const getSavedThemePreference = () => {
|
|
17
|
+
try {
|
|
18
|
+
const savedMode = window.localStorage.getItem(themeLocalStorageKey);
|
|
19
|
+
// If the user has explicitly chosen a colour mode,
|
|
20
|
+
// let's use it. Otherwise, this value will be null.
|
|
21
|
+
return isValidThemePreference(savedMode) ? savedMode : null;
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
// When Chrome in incognito, localStorage cannot be accessed
|
|
25
|
+
console.warn(e);
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.getSavedThemePreference = getSavedThemePreference;
|
|
31
|
+
exports.isValidThemePreference = isValidThemePreference;
|
|
32
|
+
exports.saveThemePreference = saveThemePreference;
|
|
33
|
+
//# sourceMappingURL=storage.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.cjs","sources":["../../../themprovider/storage.ts"],"sourcesContent":["const themeLocalStorageKey = \"theme\";\n\nexport type ThemePreference = \"auto\" | \"dark\" | \"light\";\nexport function isValidThemePreference(\n theme: string | null\n): theme is ThemePreference {\n return theme == \"auto\" || theme == \"dark\" || theme == \"light\";\n}\n\nexport const saveThemePreference = (newTheme: ThemePreference) => {\n try {\n if (typeof newTheme === \"string\")\n window.localStorage.setItem(themeLocalStorageKey, newTheme);\n } catch (e) {\n console.warn(e);\n }\n};\n\nexport const getSavedThemePreference = (): ThemePreference | null => {\n try {\n const savedMode = window.localStorage.getItem(themeLocalStorageKey);\n // If the user has explicitly chosen a colour mode,\n // let's use it. Otherwise, this value will be null.\n return isValidThemePreference(savedMode) ? savedMode : null;\n } catch (e) {\n // When Chrome in incognito, localStorage cannot be accessed\n console.warn(e);\n return null;\n }\n};\n"],"names":[],"mappings":";;AAAA,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAG/B,SAAU,sBAAsB,CACpC,KAAoB,EAAA;IAEpB,OAAO,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,CAAC;AAChE,CAAC;AAEY,MAAA,mBAAmB,GAAG,CAAC,QAAyB,KAAI;IAC/D,IAAI;QACF,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC9B,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAC/D,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;AACH,EAAE;AAEK,MAAM,uBAAuB,GAAG,MAA6B;IAClE,IAAI;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;;;AAGpE,QAAA,OAAO,sBAAsB,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AAC7D,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;;AAEV,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChB,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACH;;;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare type ThemePreference = "auto" | "dark" | "light";
|
|
2
|
+
export declare function isValidThemePreference(theme: string | null): theme is ThemePreference;
|
|
3
|
+
export declare const saveThemePreference: (newTheme: ThemePreference) => void;
|
|
4
|
+
export declare const getSavedThemePreference: () => ThemePreference | null;
|
|
5
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../themprovider/storage.ts"],"names":[],"mappings":"AAEA,oBAAY,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACxD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,KAAK,IAAI,eAAe,CAE1B;AAED,eAAO,MAAM,mBAAmB,aAAc,eAAe,SAO5D,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAO,eAAe,GAAG,IAW5D,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const themeLocalStorageKey = "theme";
|
|
2
|
+
function isValidThemePreference(theme) {
|
|
3
|
+
return theme == "auto" || theme == "dark" || theme == "light";
|
|
4
|
+
}
|
|
5
|
+
const saveThemePreference = (newTheme) => {
|
|
6
|
+
try {
|
|
7
|
+
if (typeof newTheme === "string")
|
|
8
|
+
window.localStorage.setItem(themeLocalStorageKey, newTheme);
|
|
9
|
+
}
|
|
10
|
+
catch (e) {
|
|
11
|
+
console.warn(e);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const getSavedThemePreference = () => {
|
|
15
|
+
try {
|
|
16
|
+
const savedMode = window.localStorage.getItem(themeLocalStorageKey);
|
|
17
|
+
// If the user has explicitly chosen a colour mode,
|
|
18
|
+
// let's use it. Otherwise, this value will be null.
|
|
19
|
+
return isValidThemePreference(savedMode) ? savedMode : null;
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
// When Chrome in incognito, localStorage cannot be accessed
|
|
23
|
+
console.warn(e);
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { getSavedThemePreference, isValidThemePreference, saveThemePreference };
|
|
29
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sources":["../../../themprovider/storage.ts"],"sourcesContent":["const themeLocalStorageKey = \"theme\";\n\nexport type ThemePreference = \"auto\" | \"dark\" | \"light\";\nexport function isValidThemePreference(\n theme: string | null\n): theme is ThemePreference {\n return theme == \"auto\" || theme == \"dark\" || theme == \"light\";\n}\n\nexport const saveThemePreference = (newTheme: ThemePreference) => {\n try {\n if (typeof newTheme === \"string\")\n window.localStorage.setItem(themeLocalStorageKey, newTheme);\n } catch (e) {\n console.warn(e);\n }\n};\n\nexport const getSavedThemePreference = (): ThemePreference | null => {\n try {\n const savedMode = window.localStorage.getItem(themeLocalStorageKey);\n // If the user has explicitly chosen a colour mode,\n // let's use it. Otherwise, this value will be null.\n return isValidThemePreference(savedMode) ? savedMode : null;\n } catch (e) {\n // When Chrome in incognito, localStorage cannot be accessed\n console.warn(e);\n return null;\n }\n};\n"],"names":[],"mappings":"AAAA,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAG/B,SAAU,sBAAsB,CACpC,KAAoB,EAAA;IAEpB,OAAO,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,CAAC;AAChE,CAAC;AAEY,MAAA,mBAAmB,GAAG,CAAC,QAAyB,KAAI;IAC/D,IAAI;QACF,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC9B,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAC/D,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;AACH,EAAE;AAEK,MAAM,uBAAuB,GAAG,MAA6B;IAClE,IAAI;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;;;AAGpE,QAAA,OAAO,sBAAsB,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AAC7D,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;;AAEV,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChB,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACH;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var reactIcons = require('@radix-ui/react-icons');
|
|
5
|
+
var box = require('../box/box.cjs');
|
|
6
|
+
var themeprovider = require('./themeprovider.cjs');
|
|
7
|
+
|
|
8
|
+
var Theme;
|
|
9
|
+
(function (Theme) {
|
|
10
|
+
Theme["DARK"] = "dark";
|
|
11
|
+
Theme["LIGHT"] = "light";
|
|
12
|
+
})(Theme || (Theme = {}));
|
|
13
|
+
function ThemeSwitcher({ size = 30, ...props }) {
|
|
14
|
+
const { themeName, setTheme } = themeprovider.useApsaraTheme();
|
|
15
|
+
const onClickHandler = () => {
|
|
16
|
+
setTheme(themeName === Theme.DARK ? Theme.LIGHT : Theme.DARK);
|
|
17
|
+
};
|
|
18
|
+
return (jsxRuntime.jsx(box.Box, { ...props, children: themeName === Theme.DARK ? (jsxRuntime.jsx(reactIcons.SunIcon, { width: size, height: size, onClick: onClickHandler })) : (jsxRuntime.jsx(reactIcons.MoonIcon, { width: size, height: size, onClick: onClickHandler })) }));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.ThemeSwitcher = ThemeSwitcher;
|
|
22
|
+
//# sourceMappingURL=switcher.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switcher.cjs","sources":["../../../themprovider/switcher.tsx"],"sourcesContent":["import { MoonIcon, SunIcon } from \"@radix-ui/react-icons\";\nimport { Box } from \"~/box\";\nimport { useApsaraTheme } from \"./themeprovider\";\n\nenum Theme {\n DARK = \"dark\",\n LIGHT = \"light\",\n}\n\ntype Props = { size?: number };\nexport function ThemeSwitcher({ size = 30, ...props }: Props) {\n const { themeName, setTheme } = useApsaraTheme();\n const onClickHandler = () => {\n setTheme(themeName === Theme.DARK ? Theme.LIGHT : Theme.DARK);\n };\n\n return (\n <Box {...props}>\n {themeName === Theme.DARK ? (\n <SunIcon width={size} height={size} onClick={onClickHandler} />\n ) : (\n <MoonIcon width={size} height={size} onClick={onClickHandler} />\n )}\n </Box>\n );\n}\n"],"names":["useApsaraTheme","_jsx","Box","SunIcon","MoonIcon"],"mappings":";;;;;;;AAIA,IAAK,KAGJ,CAAA;AAHD,CAAA,UAAK,KAAK,EAAA;AACR,IAAA,KAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHI,KAAK,KAAL,KAAK,GAGT,EAAA,CAAA,CAAA,CAAA;AAGK,SAAU,aAAa,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,EAAS,EAAA;IAC1D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAGA,4BAAc,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,MAAK;AAC1B,QAAA,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAChE,KAAC,CAAC;IAEF,QACEC,cAAC,CAAAC,OAAG,EAAK,EAAA,GAAA,KAAK,YACX,SAAS,KAAK,KAAK,CAAC,IAAI,IACvBD,cAAC,CAAAE,kBAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,KAE/DF,cAAA,CAACG,mBAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,CACjE,EACG,CAAA,EACN;AACJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switcher.d.ts","sourceRoot":"","sources":["../../themprovider/switcher.tsx"],"names":[],"mappings":"AASA,aAAK,KAAK,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/B,wBAAgB,aAAa,CAAC,EAAE,IAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,2CAe3D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { SunIcon, MoonIcon } from '@radix-ui/react-icons';
|
|
3
|
+
import { Box } from '../box/box.js';
|
|
4
|
+
import { useApsaraTheme } from './themeprovider.js';
|
|
5
|
+
|
|
6
|
+
var Theme;
|
|
7
|
+
(function (Theme) {
|
|
8
|
+
Theme["DARK"] = "dark";
|
|
9
|
+
Theme["LIGHT"] = "light";
|
|
10
|
+
})(Theme || (Theme = {}));
|
|
11
|
+
function ThemeSwitcher({ size = 30, ...props }) {
|
|
12
|
+
const { themeName, setTheme } = useApsaraTheme();
|
|
13
|
+
const onClickHandler = () => {
|
|
14
|
+
setTheme(themeName === Theme.DARK ? Theme.LIGHT : Theme.DARK);
|
|
15
|
+
};
|
|
16
|
+
return (jsx(Box, { ...props, children: themeName === Theme.DARK ? (jsx(SunIcon, { width: size, height: size, onClick: onClickHandler })) : (jsx(MoonIcon, { width: size, height: size, onClick: onClickHandler })) }));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { ThemeSwitcher };
|
|
20
|
+
//# sourceMappingURL=switcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switcher.js","sources":["../../../themprovider/switcher.tsx"],"sourcesContent":["import { MoonIcon, SunIcon } from \"@radix-ui/react-icons\";\nimport { Box } from \"~/box\";\nimport { useApsaraTheme } from \"./themeprovider\";\n\nenum Theme {\n DARK = \"dark\",\n LIGHT = \"light\",\n}\n\ntype Props = { size?: number };\nexport function ThemeSwitcher({ size = 30, ...props }: Props) {\n const { themeName, setTheme } = useApsaraTheme();\n const onClickHandler = () => {\n setTheme(themeName === Theme.DARK ? Theme.LIGHT : Theme.DARK);\n };\n\n return (\n <Box {...props}>\n {themeName === Theme.DARK ? (\n <SunIcon width={size} height={size} onClick={onClickHandler} />\n ) : (\n <MoonIcon width={size} height={size} onClick={onClickHandler} />\n )}\n </Box>\n );\n}\n"],"names":["_jsx"],"mappings":";;;;;AAIA,IAAK,KAGJ,CAAA;AAHD,CAAA,UAAK,KAAK,EAAA;AACR,IAAA,KAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHI,KAAK,KAAL,KAAK,GAGT,EAAA,CAAA,CAAA,CAAA;AAGK,SAAU,aAAa,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,EAAS,EAAA;IAC1D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,MAAK;AAC1B,QAAA,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAChE,KAAC,CAAC;IAEF,QACEA,GAAC,CAAA,GAAG,EAAK,EAAA,GAAA,KAAK,YACX,SAAS,KAAK,KAAK,CAAC,IAAI,IACvBA,GAAC,CAAA,OAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,KAE/DA,GAAA,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,CACjE,EACG,CAAA,EACN;AACJ;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var OSPreference = require('./OSPreference.cjs');
|
|
6
|
+
var storage = require('./storage.cjs');
|
|
7
|
+
|
|
8
|
+
const { createContext, useState, useEffect } = React;
|
|
9
|
+
const defaultThemeName = "dark";
|
|
10
|
+
const initialValues = {
|
|
11
|
+
themeName: defaultThemeName,
|
|
12
|
+
themePreference: defaultThemeName,
|
|
13
|
+
setTheme: () => { },
|
|
14
|
+
};
|
|
15
|
+
const ApsaraThemeContext = createContext(initialValues);
|
|
16
|
+
ApsaraThemeContext.displayName = "ApsaraThemeContext ";
|
|
17
|
+
const useTheme = () => {
|
|
18
|
+
const [themePreference, setThemePreference] = useState(defaultThemeName);
|
|
19
|
+
const [themeName, setThemeName] = useState(defaultThemeName);
|
|
20
|
+
const [osTheme, setOsTheme] = useState(OSPreference.getMediaTheme());
|
|
21
|
+
// in the future this should prefer auto if no saved
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
const initialTheme = storage.getSavedThemePreference();
|
|
24
|
+
if (storage.isValidThemePreference(initialTheme)) {
|
|
25
|
+
setThemePreference(initialTheme);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
setThemePreference(defaultThemeName);
|
|
29
|
+
}
|
|
30
|
+
}, []);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (themePreference == "auto") {
|
|
33
|
+
setThemeName(osTheme ?? defaultThemeName);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
setThemeName(themePreference);
|
|
37
|
+
}
|
|
38
|
+
}, [themePreference]);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
// if os theme changes and we are in auto mode, change up
|
|
41
|
+
if (themePreference == "auto") {
|
|
42
|
+
setThemeName(osTheme ?? defaultThemeName);
|
|
43
|
+
}
|
|
44
|
+
}, [osTheme]);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
const html = document.documentElement;
|
|
47
|
+
for (const k of ["dark", "light"]) {
|
|
48
|
+
html.classList.remove(k);
|
|
49
|
+
}
|
|
50
|
+
html.classList.add(themeName);
|
|
51
|
+
}, [themeName]);
|
|
52
|
+
OSPreference.listenForOSPreferenceChanges((osPref) => {
|
|
53
|
+
if (osPref === osTheme)
|
|
54
|
+
return;
|
|
55
|
+
setOsTheme(osPref);
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
themeName,
|
|
59
|
+
themePreference: themePreference,
|
|
60
|
+
setTheme: (newTheme) => {
|
|
61
|
+
setThemePreference(newTheme);
|
|
62
|
+
storage.saveThemePreference(newTheme);
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
const ApsaraThemeProvider = ({ children }) => {
|
|
67
|
+
const { themePreference, setTheme, themeName } = useTheme();
|
|
68
|
+
return (jsxRuntime.jsx(ApsaraThemeContext.Provider, { value: {
|
|
69
|
+
themeName,
|
|
70
|
+
themePreference,
|
|
71
|
+
setTheme,
|
|
72
|
+
}, children: children }));
|
|
73
|
+
};
|
|
74
|
+
function useApsaraTheme() {
|
|
75
|
+
const context = React.useContext(ApsaraThemeContext);
|
|
76
|
+
if (!context) {
|
|
77
|
+
throw new Error("[Apsara UI 2.0]: useApsaraTheme must be used within a ApsaraThemeProvider");
|
|
78
|
+
}
|
|
79
|
+
const { themePreference, setTheme, themeName } = context;
|
|
80
|
+
return { themePreference, setTheme, themeName };
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
exports.ApsaraThemeContext = ApsaraThemeContext;
|
|
84
|
+
exports.ApsaraThemeProvider = ApsaraThemeProvider;
|
|
85
|
+
exports.useApsaraTheme = useApsaraTheme;
|
|
86
|
+
//# sourceMappingURL=themeprovider.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeprovider.cjs","sources":["../../../themprovider/themeprovider.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\n\nimport {\n getMediaTheme,\n listenForOSPreferenceChanges,\n MediaTheme,\n} from \"./OSPreference\";\n\nimport {\n getSavedThemePreference,\n isValidThemePreference,\n saveThemePreference,\n ThemePreference,\n} from \"./storage\";\n\nconst { createContext, useState, useEffect } = React;\n\nconst defaultThemeName = \"dark\";\ntype Theme = \"dark\" | \"light\";\n\nfunction isValidTheme(theme: string): theme is Theme {\n return theme == \"dark\" || theme == \"light\";\n}\n\ntype ThemeProviderType = {\n themeName: Theme;\n themePreference: ThemePreference;\n setTheme(newTheme: string): void;\n};\n\nconst initialValues: ThemeProviderType = {\n themeName: defaultThemeName,\n themePreference: defaultThemeName,\n setTheme: () => {},\n};\n\nconst ApsaraThemeContext = createContext<ThemeProviderType>(initialValues);\nApsaraThemeContext.displayName = \"ApsaraThemeContext \";\n\nconst useTheme = (): ThemeProviderType => {\n const [themePreference, setThemePreference] =\n useState<ThemePreference>(defaultThemeName);\n const [themeName, setThemeName] = useState<Theme>(defaultThemeName);\n const [osTheme, setOsTheme] = useState<MediaTheme | null>(getMediaTheme());\n\n // in the future this should prefer auto if no saved\n useEffect(() => {\n const initialTheme = getSavedThemePreference();\n if (isValidThemePreference(initialTheme)) {\n setThemePreference(initialTheme);\n } else {\n setThemePreference(defaultThemeName);\n }\n }, []);\n\n useEffect(() => {\n if (themePreference == \"auto\") {\n setThemeName(osTheme ?? defaultThemeName);\n } else {\n setThemeName(themePreference);\n }\n }, [themePreference]);\n\n useEffect(() => {\n // if os theme changes and we are in auto mode, change up\n if (themePreference == \"auto\") {\n setThemeName(osTheme ?? defaultThemeName);\n }\n }, [osTheme]);\n\n useEffect(() => {\n const html = document.documentElement;\n for (const k of [\"dark\", \"light\"]) {\n html.classList.remove(k);\n }\n html.classList.add(themeName);\n }, [themeName]);\n\n listenForOSPreferenceChanges((osPref) => {\n if (osPref === osTheme) return;\n setOsTheme(osPref);\n });\n\n return {\n themeName,\n themePreference: themePreference,\n setTheme: (newTheme: ThemePreference) => {\n setThemePreference(newTheme);\n saveThemePreference(newTheme);\n },\n };\n};\n\nconst ApsaraThemeProvider = ({ children }: { children: React.ReactNode }) => {\n const { themePreference, setTheme, themeName } = useTheme();\n return (\n <ApsaraThemeContext.Provider\n value={{\n themeName,\n themePreference,\n setTheme,\n }}\n >\n {children}\n </ApsaraThemeContext.Provider>\n );\n};\n\nexport function useApsaraTheme() {\n const context = useContext(ApsaraThemeContext);\n\n if (!context) {\n throw new Error(\n \"[Apsara UI 2.0]: useApsaraTheme must be used within a ApsaraThemeProvider\"\n );\n }\n\n const { themePreference, setTheme, themeName } = context;\n return { themePreference, setTheme, themeName };\n}\n\nexport { ApsaraThemeContext, ApsaraThemeProvider };\n"],"names":["getMediaTheme","getSavedThemePreference","isValidThemePreference","listenForOSPreferenceChanges","saveThemePreference","_jsx","useContext"],"mappings":";;;;;;;AAeA,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;AAErD,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAahC,MAAM,aAAa,GAAsB;AACvC,IAAA,SAAS,EAAE,gBAAgB;AAC3B,IAAA,eAAe,EAAE,gBAAgB;AACjC,IAAA,QAAQ,EAAE,MAAK,GAAG;CACnB,CAAC;AAEF,MAAM,kBAAkB,GAAG,aAAa,CAAoB,aAAa,EAAE;AAC3E,kBAAkB,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAEvD,MAAM,QAAQ,GAAG,MAAwB;IACvC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GACzC,QAAQ,CAAkB,gBAAgB,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAQ,gBAAgB,CAAC,CAAC;IACpE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAoBA,0BAAa,EAAE,CAAC,CAAC;;IAG3E,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,YAAY,GAAGC,+BAAuB,EAAE,CAAC;AAC/C,QAAA,IAAIC,8BAAsB,CAAC,YAAY,CAAC,EAAE;YACxC,kBAAkB,CAAC,YAAY,CAAC,CAAC;AAClC,SAAA;AAAM,aAAA;YACL,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AACtC,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,MAAK;QACb,IAAI,eAAe,IAAI,MAAM,EAAE;AAC7B,YAAA,YAAY,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC;AAC3C,SAAA;AAAM,aAAA;YACL,YAAY,CAAC,eAAe,CAAC,CAAC;AAC/B,SAAA;AACH,KAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,SAAS,CAAC,MAAK;;QAEb,IAAI,eAAe,IAAI,MAAM,EAAE;AAC7B,YAAA,YAAY,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC;AAC3C,SAAA;AACH,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;AACjC,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChC,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAEhB,IAAAC,yCAA4B,CAAC,CAAC,MAAM,KAAI;QACtC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO;QAC/B,UAAU,CAAC,MAAM,CAAC,CAAC;AACrB,KAAC,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;AACT,QAAA,eAAe,EAAE,eAAe;AAChC,QAAA,QAAQ,EAAE,CAAC,QAAyB,KAAI;YACtC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC7BC,2BAAmB,CAAC,QAAQ,CAAC,CAAC;SAC/B;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAAiC,KAAI;IAC1E,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAC;AAC5D,IAAA,QACEC,cAAC,CAAA,kBAAkB,CAAC,QAAQ,EAAA,EAC1B,KAAK,EAAE;YACL,SAAS;YACT,eAAe;YACf,QAAQ;SACT,EAEA,QAAA,EAAA,QAAQ,EACmB,CAAA,EAC9B;AACJ,EAAE;SAEc,cAAc,GAAA;AAC5B,IAAA,MAAM,OAAO,GAAGC,gBAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;AACH,KAAA;IAED,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;AACzD,IAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAClD;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ThemePreference } from "./storage";
|
|
3
|
+
declare type Theme = "dark" | "light";
|
|
4
|
+
declare type ThemeProviderType = {
|
|
5
|
+
themeName: Theme;
|
|
6
|
+
themePreference: ThemePreference;
|
|
7
|
+
setTheme(newTheme: string): void;
|
|
8
|
+
};
|
|
9
|
+
declare const ApsaraThemeContext: React.Context<ThemeProviderType>;
|
|
10
|
+
declare const ApsaraThemeProvider: ({ children }: {
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function useApsaraTheme(): {
|
|
14
|
+
themePreference: ThemePreference;
|
|
15
|
+
setTheme: (newTheme: string) => void;
|
|
16
|
+
themeName: Theme;
|
|
17
|
+
};
|
|
18
|
+
export { ApsaraThemeContext, ApsaraThemeProvider };
|
|
19
|
+
//# sourceMappingURL=themeprovider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeprovider.d.ts","sourceRoot":"","sources":["../../themprovider/themeprovider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAQ1C,OAAO,EAIL,eAAe,EAChB,MAAM,WAAW,CAAC;AAKnB,aAAK,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAM9B,aAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,KAAK,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAQF,QAAA,MAAM,kBAAkB,kCAAkD,CAAC;AAyD3E,QAAA,MAAM,mBAAmB;cAA8B,MAAM,SAAS;6CAarE,CAAC;AAEF,wBAAgB,cAAc;;;;EAW7B;AAED,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React__default, { useContext } from 'react';
|
|
3
|
+
import { getMediaTheme, listenForOSPreferenceChanges } from './OSPreference.js';
|
|
4
|
+
import { getSavedThemePreference, isValidThemePreference, saveThemePreference } from './storage.js';
|
|
5
|
+
|
|
6
|
+
const { createContext, useState, useEffect } = React__default;
|
|
7
|
+
const defaultThemeName = "dark";
|
|
8
|
+
const initialValues = {
|
|
9
|
+
themeName: defaultThemeName,
|
|
10
|
+
themePreference: defaultThemeName,
|
|
11
|
+
setTheme: () => { },
|
|
12
|
+
};
|
|
13
|
+
const ApsaraThemeContext = createContext(initialValues);
|
|
14
|
+
ApsaraThemeContext.displayName = "ApsaraThemeContext ";
|
|
15
|
+
const useTheme = () => {
|
|
16
|
+
const [themePreference, setThemePreference] = useState(defaultThemeName);
|
|
17
|
+
const [themeName, setThemeName] = useState(defaultThemeName);
|
|
18
|
+
const [osTheme, setOsTheme] = useState(getMediaTheme());
|
|
19
|
+
// in the future this should prefer auto if no saved
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
const initialTheme = getSavedThemePreference();
|
|
22
|
+
if (isValidThemePreference(initialTheme)) {
|
|
23
|
+
setThemePreference(initialTheme);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
setThemePreference(defaultThemeName);
|
|
27
|
+
}
|
|
28
|
+
}, []);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (themePreference == "auto") {
|
|
31
|
+
setThemeName(osTheme ?? defaultThemeName);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
setThemeName(themePreference);
|
|
35
|
+
}
|
|
36
|
+
}, [themePreference]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
// if os theme changes and we are in auto mode, change up
|
|
39
|
+
if (themePreference == "auto") {
|
|
40
|
+
setThemeName(osTheme ?? defaultThemeName);
|
|
41
|
+
}
|
|
42
|
+
}, [osTheme]);
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
const html = document.documentElement;
|
|
45
|
+
for (const k of ["dark", "light"]) {
|
|
46
|
+
html.classList.remove(k);
|
|
47
|
+
}
|
|
48
|
+
html.classList.add(themeName);
|
|
49
|
+
}, [themeName]);
|
|
50
|
+
listenForOSPreferenceChanges((osPref) => {
|
|
51
|
+
if (osPref === osTheme)
|
|
52
|
+
return;
|
|
53
|
+
setOsTheme(osPref);
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
themeName,
|
|
57
|
+
themePreference: themePreference,
|
|
58
|
+
setTheme: (newTheme) => {
|
|
59
|
+
setThemePreference(newTheme);
|
|
60
|
+
saveThemePreference(newTheme);
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const ApsaraThemeProvider = ({ children }) => {
|
|
65
|
+
const { themePreference, setTheme, themeName } = useTheme();
|
|
66
|
+
return (jsx(ApsaraThemeContext.Provider, { value: {
|
|
67
|
+
themeName,
|
|
68
|
+
themePreference,
|
|
69
|
+
setTheme,
|
|
70
|
+
}, children: children }));
|
|
71
|
+
};
|
|
72
|
+
function useApsaraTheme() {
|
|
73
|
+
const context = useContext(ApsaraThemeContext);
|
|
74
|
+
if (!context) {
|
|
75
|
+
throw new Error("[Apsara UI 2.0]: useApsaraTheme must be used within a ApsaraThemeProvider");
|
|
76
|
+
}
|
|
77
|
+
const { themePreference, setTheme, themeName } = context;
|
|
78
|
+
return { themePreference, setTheme, themeName };
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export { ApsaraThemeContext, ApsaraThemeProvider, useApsaraTheme };
|
|
82
|
+
//# sourceMappingURL=themeprovider.js.map
|