@omnitron-dev/prism 0.2.0 → 0.3.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/accessibility/index.d.ts +7 -151
- package/dist/accessibility/index.d.ts.map +1 -0
- package/dist/accessibility/index.js +0 -1
- package/dist/accessibility/index.js.map +1 -1
- package/dist/accessibility/vision-mode.d.ts +154 -0
- package/dist/accessibility/vision-mode.d.ts.map +1 -0
- package/dist/blocks/auth-block/auth-block.d.ts +107 -0
- package/dist/blocks/auth-block/auth-block.d.ts.map +1 -0
- package/dist/blocks/auth-block/guards.d.ts +262 -0
- package/dist/blocks/auth-block/guards.d.ts.map +1 -0
- package/dist/blocks/auth-block/index.d.ts +13 -0
- package/dist/blocks/auth-block/index.d.ts.map +1 -0
- package/dist/blocks/auth-block/types.d.ts +232 -0
- package/dist/blocks/auth-block/types.d.ts.map +1 -0
- package/dist/blocks/dashboard-block/dashboard-block.d.ts +53 -0
- package/dist/blocks/dashboard-block/dashboard-block.d.ts.map +1 -0
- package/dist/blocks/dashboard-block/index.d.ts +12 -0
- package/dist/blocks/dashboard-block/index.d.ts.map +1 -0
- package/dist/blocks/dashboard-block/types.d.ts +182 -0
- package/dist/blocks/dashboard-block/types.d.ts.map +1 -0
- package/dist/blocks/dashboard-block/use-dashboard-block.d.ts +95 -0
- package/dist/blocks/dashboard-block/use-dashboard-block.d.ts.map +1 -0
- package/dist/blocks/data-grid-block/data-grid-block.d.ts +81 -0
- package/dist/blocks/data-grid-block/data-grid-block.d.ts.map +1 -0
- package/dist/blocks/data-grid-block/index.d.ts +11 -0
- package/dist/blocks/data-grid-block/index.d.ts.map +1 -0
- package/dist/blocks/data-grid-block/types.d.ts +304 -0
- package/dist/blocks/data-grid-block/types.d.ts.map +1 -0
- package/dist/blocks/index.d.ts +10 -1235
- package/dist/blocks/index.d.ts.map +1 -0
- package/dist/blocks/index.js +139 -42
- package/dist/blocks/index.js.map +1 -1
- package/dist/{chunk-VAAIHNWQ.js → chunk-6AHI4GSV.js} +3 -3
- package/dist/chunk-6AHI4GSV.js.map +1 -0
- package/dist/{chunk-JDTC2SBY.js → chunk-AD4W7HYC.js} +2 -2
- package/dist/chunk-AD4W7HYC.js.map +1 -0
- package/dist/{chunk-SNKGGHBT.js → chunk-ADG4HZEP.js} +3 -3
- package/dist/chunk-ADG4HZEP.js.map +1 -0
- package/dist/{chunk-JNU4QHJK.js → chunk-AYYFMTMI.js} +5 -4
- package/dist/{chunk-JNU4QHJK.js.map → chunk-AYYFMTMI.js.map} +1 -1
- package/dist/{chunk-HO2GKTWJ.js → chunk-BRDWQVRT.js} +2 -2
- package/dist/chunk-BRDWQVRT.js.map +1 -0
- package/dist/{chunk-XXP3ZGU6.js → chunk-BZOL7GMU.js} +21 -13
- package/dist/chunk-BZOL7GMU.js.map +1 -0
- package/dist/{chunk-2FYNRDXR.js → chunk-DRFNMZLG.js} +2 -2
- package/dist/chunk-DRFNMZLG.js.map +1 -0
- package/dist/{chunk-BV32OJ2A.js → chunk-GUFHFEPZ.js} +2 -2
- package/dist/chunk-GUFHFEPZ.js.map +1 -0
- package/dist/{chunk-KTCWPGON.js → chunk-OBJ244BO.js} +558 -75
- package/dist/chunk-OBJ244BO.js.map +1 -0
- package/dist/{chunk-IZOIO7PA.js → chunk-S6SEGBX6.js} +31 -22
- package/dist/chunk-S6SEGBX6.js.map +1 -0
- package/dist/chunk-SNZK5X6F.js +594 -0
- package/dist/chunk-SNZK5X6F.js.map +1 -0
- package/dist/{chunk-YJMAQL3S.js → chunk-WFD54GQQ.js} +122 -69
- package/dist/chunk-WFD54GQQ.js.map +1 -0
- package/dist/{chunk-DDY7TLUI.js → chunk-XIXSSI3B.js} +28 -2
- package/dist/chunk-XIXSSI3B.js.map +1 -0
- package/dist/{chunk-A2Z7NVGL.js → chunk-YQW43BDH.js} +1274 -792
- package/dist/chunk-YQW43BDH.js.map +1 -0
- package/dist/{chunk-XWL6J6IO.js → chunk-YSIG2XYH.js} +2 -2
- package/dist/chunk-YSIG2XYH.js.map +1 -0
- package/dist/chunk-Z5OSPAOC.js +1576 -0
- package/dist/chunk-Z5OSPAOC.js.map +1 -0
- package/dist/{chunk-MEFT6XPH.js → chunk-ZTATTUH7.js} +170 -85
- package/dist/chunk-ZTATTUH7.js.map +1 -0
- package/dist/cli/commands/add.d.ts +22 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/diff.d.ts +13 -0
- package/dist/cli/commands/diff.d.ts.map +1 -0
- package/dist/cli/commands/doctor.d.ts +13 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/init.d.ts +13 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/list.d.ts +13 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/remove.d.ts +13 -0
- package/dist/cli/commands/remove.d.ts.map +1 -0
- package/dist/cli/commands/update.d.ts +13 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/config.d.ts +73 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/constants.d.ts +60 -0
- package/dist/cli/constants.d.ts.map +1 -0
- package/dist/cli/index.d.ts +27 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +31 -37
- package/dist/cli/index.js.map +1 -1
- package/dist/components/accordion/accordion.d.ts +149 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -0
- package/dist/components/accordion/index.d.ts +7 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/admin-filters/admin-data-table.d.ts +185 -0
- package/dist/components/admin-filters/admin-data-table.d.ts.map +1 -0
- package/dist/components/admin-filters/amount-cell.d.ts +39 -0
- package/dist/components/admin-filters/amount-cell.d.ts.map +1 -0
- package/dist/components/admin-filters/filter-toolbar.d.ts +99 -0
- package/dist/components/admin-filters/filter-toolbar.d.ts.map +1 -0
- package/dist/components/admin-filters/index.d.ts +13 -0
- package/dist/components/admin-filters/index.d.ts.map +1 -0
- package/dist/components/admin-filters/status-chip.d.ts +55 -0
- package/dist/components/admin-filters/status-chip.d.ts.map +1 -0
- package/dist/components/alert/alert.d.ts +159 -0
- package/dist/components/alert/alert.d.ts.map +1 -0
- package/dist/components/alert/index.d.ts +7 -0
- package/dist/components/alert/index.d.ts.map +1 -0
- package/dist/components/animate/animate-border.d.ts +33 -0
- package/dist/components/animate/animate-border.d.ts.map +1 -0
- package/dist/components/animate/index.d.ts +3 -0
- package/dist/components/animate/index.d.ts.map +1 -0
- package/dist/components/animate/motion-lazy.d.ts +5 -0
- package/dist/components/animate/motion-lazy.d.ts.map +1 -0
- package/dist/components/avatar/avatar.d.ts +78 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -0
- package/dist/components/avatar/index.d.ts +7 -0
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/badge/badge.d.ts +102 -0
- package/dist/components/badge/badge.d.ts.map +1 -0
- package/dist/components/badge/index.d.ts +7 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +100 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/components/breadcrumbs/index.d.ts +7 -0
- package/dist/components/breadcrumbs/index.d.ts.map +1 -0
- package/dist/components/card/card.d.ts +127 -0
- package/dist/components/card/card.d.ts.map +1 -0
- package/dist/components/card/index.d.ts +7 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/carousel/carousel.d.ts +35 -0
- package/dist/components/carousel/carousel.d.ts.map +1 -0
- package/dist/components/carousel/classes.d.ts +35 -0
- package/dist/components/carousel/classes.d.ts.map +1 -0
- package/dist/components/carousel/index.d.ts +10 -0
- package/dist/components/carousel/index.d.ts.map +1 -0
- package/dist/components/carousel/types.d.ts +167 -0
- package/dist/components/carousel/types.d.ts.map +1 -0
- package/dist/components/carousel/use-carousel.d.ts +51 -0
- package/dist/components/carousel/use-carousel.d.ts.map +1 -0
- package/dist/components/changelog/changelog-entry.d.ts +10 -0
- package/dist/components/changelog/changelog-entry.d.ts.map +1 -0
- package/dist/components/changelog/changelog-timeline.d.ts +9 -0
- package/dist/components/changelog/changelog-timeline.d.ts.map +1 -0
- package/dist/components/changelog/index.d.ts +3 -0
- package/dist/components/changelog/index.d.ts.map +1 -0
- package/dist/components/chart/chart.d.ts +39 -0
- package/dist/components/chart/chart.d.ts.map +1 -0
- package/dist/components/chart/classes.d.ts +24 -0
- package/dist/components/chart/classes.d.ts.map +1 -0
- package/dist/components/chart/components/chart-legends.d.ts +24 -0
- package/dist/components/chart/components/chart-legends.d.ts.map +1 -0
- package/dist/components/chart/components/chart-loading.d.ts +21 -0
- package/dist/components/chart/components/chart-loading.d.ts.map +1 -0
- package/dist/components/chart/components/index.d.ts +8 -0
- package/dist/components/chart/components/index.d.ts.map +1 -0
- package/dist/components/chart/index.d.ts +14 -0
- package/dist/components/chart/index.d.ts.map +1 -0
- package/dist/components/chart/types.d.ts +264 -0
- package/dist/components/chart/types.d.ts.map +1 -0
- package/dist/components/chart/use-chart.d.ts +34 -0
- package/dist/components/chart/use-chart.d.ts.map +1 -0
- package/dist/components/command-palette/command-palette.d.ts +73 -0
- package/dist/components/command-palette/command-palette.d.ts.map +1 -0
- package/dist/components/command-palette/index.d.ts +7 -0
- package/dist/components/command-palette/index.d.ts.map +1 -0
- package/dist/components/confirm-dialog/confirm-dialog.d.ts +89 -0
- package/dist/components/confirm-dialog/confirm-dialog.d.ts.map +1 -0
- package/dist/components/confirm-dialog/index.d.ts +7 -0
- package/dist/components/confirm-dialog/index.d.ts.map +1 -0
- package/dist/components/content-renderer/classes.d.ts +33 -0
- package/dist/components/content-renderer/classes.d.ts.map +1 -0
- package/dist/components/content-renderer/content-renderer.d.ts +37 -0
- package/dist/components/content-renderer/content-renderer.d.ts.map +1 -0
- package/dist/components/content-renderer/html-tags.d.ts +6 -0
- package/dist/components/content-renderer/html-tags.d.ts.map +1 -0
- package/dist/components/content-renderer/html-to-markdown.d.ts +7 -0
- package/dist/components/content-renderer/html-to-markdown.d.ts.map +1 -0
- package/dist/components/content-renderer/index.d.ts +7 -0
- package/dist/components/content-renderer/index.d.ts.map +1 -0
- package/dist/components/content-renderer/markdown.d.ts +23 -0
- package/dist/components/content-renderer/markdown.d.ts.map +1 -0
- package/dist/components/content-renderer/remark-spoiler.d.ts +9 -0
- package/dist/components/content-renderer/remark-spoiler.d.ts.map +1 -0
- package/dist/components/content-renderer/styles.d.ts +2 -0
- package/dist/components/content-renderer/styles.d.ts.map +1 -0
- package/dist/components/country-select/country-select.d.ts +101 -0
- package/dist/components/country-select/country-select.d.ts.map +1 -0
- package/dist/components/country-select/flag-icon.d.ts +36 -0
- package/dist/components/country-select/flag-icon.d.ts.map +1 -0
- package/dist/components/country-select/index.d.ts +5 -0
- package/dist/components/country-select/index.d.ts.map +1 -0
- package/dist/components/date-range-picker/date-range-input.d.ts +48 -0
- package/dist/components/date-range-picker/date-range-input.d.ts.map +1 -0
- package/dist/components/date-range-picker/date-range-picker.d.ts +39 -0
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -0
- package/dist/components/date-range-picker/index.d.ts +7 -0
- package/dist/components/date-range-picker/index.d.ts.map +1 -0
- package/dist/components/date-range-picker/use-date-range-picker.d.ts +28 -0
- package/dist/components/date-range-picker/use-date-range-picker.d.ts.map +1 -0
- package/dist/components/deadline-chip/deadline-chip.d.ts +41 -0
- package/dist/components/deadline-chip/deadline-chip.d.ts.map +1 -0
- package/dist/components/deadline-chip/index.d.ts +7 -0
- package/dist/components/deadline-chip/index.d.ts.map +1 -0
- package/dist/components/doc-layout/doc-layout.d.ts +17 -0
- package/dist/components/doc-layout/doc-layout.d.ts.map +1 -0
- package/dist/components/doc-layout/doc-section-nav.d.ts +16 -0
- package/dist/components/doc-layout/doc-section-nav.d.ts.map +1 -0
- package/dist/components/doc-layout/doc-sidebar.d.ts +15 -0
- package/dist/components/doc-layout/doc-sidebar.d.ts.map +1 -0
- package/dist/components/doc-layout/index.d.ts +4 -0
- package/dist/components/doc-layout/index.d.ts.map +1 -0
- package/dist/components/drawer/drawer.d.ts +65 -0
- package/dist/components/drawer/drawer.d.ts.map +1 -0
- package/dist/components/drawer/index.d.ts +7 -0
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/duration-picker/duration-picker.d.ts +24 -0
- package/dist/components/duration-picker/duration-picker.d.ts.map +1 -0
- package/dist/components/duration-picker/index.d.ts +2 -0
- package/dist/components/duration-picker/index.d.ts.map +1 -0
- package/dist/components/editor/classes.d.ts +52 -0
- package/dist/components/editor/classes.d.ts.map +1 -0
- package/dist/components/editor/editor.d.ts +15 -0
- package/dist/components/editor/editor.d.ts.map +1 -0
- package/dist/components/editor/extensions/clear-format.d.ts +3 -0
- package/dist/components/editor/extensions/clear-format.d.ts.map +1 -0
- package/dist/components/editor/extensions/index.d.ts +3 -0
- package/dist/components/editor/extensions/index.d.ts.map +1 -0
- package/dist/components/editor/extensions/text-transform.d.ts +20 -0
- package/dist/components/editor/extensions/text-transform.d.ts.map +1 -0
- package/dist/components/editor/icons/index.d.ts +42 -0
- package/dist/components/editor/icons/index.d.ts.map +1 -0
- package/dist/components/editor/index.d.ts +41 -104
- package/dist/components/editor/index.d.ts.map +1 -0
- package/dist/components/editor/index.js +1 -2
- package/dist/components/editor/presets.d.ts +3 -0
- package/dist/components/editor/presets.d.ts.map +1 -0
- package/dist/components/editor/styles.d.ts +2 -0
- package/dist/components/editor/styles.d.ts.map +1 -0
- package/dist/components/editor/toolbar/bubble-toolbar.d.ts +9 -0
- package/dist/components/editor/toolbar/bubble-toolbar.d.ts.map +1 -0
- package/dist/components/editor/toolbar/code-highlight-block.d.ts +3 -0
- package/dist/components/editor/toolbar/code-highlight-block.d.ts.map +1 -0
- package/dist/components/editor/toolbar/heading-block.d.ts +11 -0
- package/dist/components/editor/toolbar/heading-block.d.ts.map +1 -0
- package/dist/components/editor/toolbar/image-block.d.ts +11 -0
- package/dist/components/editor/toolbar/image-block.d.ts.map +1 -0
- package/dist/components/editor/toolbar/link-block.d.ts +13 -0
- package/dist/components/editor/toolbar/link-block.d.ts.map +1 -0
- package/dist/components/editor/toolbar/toolbar-item.d.ts +3 -0
- package/dist/components/editor/toolbar/toolbar-item.d.ts.map +1 -0
- package/dist/components/editor/toolbar/toolbar.d.ts +3 -0
- package/dist/components/editor/toolbar/toolbar.d.ts.map +1 -0
- package/dist/components/editor/toolbar/use-toolbar-state.d.ts +24 -0
- package/dist/components/editor/toolbar/use-toolbar-state.d.ts.map +1 -0
- package/dist/components/editor/types.d.ts +130 -0
- package/dist/components/editor/types.d.ts.map +1 -0
- package/dist/components/emoji-picker/emoji-picker.d.ts +24 -0
- package/dist/components/emoji-picker/emoji-picker.d.ts.map +1 -0
- package/dist/components/emoji-picker/emoji-search.d.ts +22 -0
- package/dist/components/emoji-picker/emoji-search.d.ts.map +1 -0
- package/dist/components/emoji-picker/emoji.d.ts +19 -0
- package/dist/components/emoji-picker/emoji.d.ts.map +1 -0
- package/dist/components/emoji-picker/index.d.ts +14 -0
- package/dist/components/emoji-picker/index.d.ts.map +1 -0
- package/dist/components/emoji-picker/index.js +3 -0
- package/dist/components/emoji-picker/index.js.map +1 -0
- package/dist/components/emoji-picker/twemoji-url.d.ts +26 -0
- package/dist/components/emoji-picker/twemoji-url.d.ts.map +1 -0
- package/dist/components/emoji-picker/types.d.ts +96 -0
- package/dist/components/emoji-picker/types.d.ts.map +1 -0
- package/dist/components/emoji-picker/use-emoji-data.d.ts +26 -0
- package/dist/components/emoji-picker/use-emoji-data.d.ts.map +1 -0
- package/dist/components/emoji-picker/use-recent-emojis.d.ts +16 -0
- package/dist/components/emoji-picker/use-recent-emojis.d.ts.map +1 -0
- package/dist/components/empty-content/empty-content.d.ts +92 -0
- package/dist/components/empty-content/empty-content.d.ts.map +1 -0
- package/dist/components/empty-content/index.d.ts +7 -0
- package/dist/components/empty-content/index.d.ts.map +1 -0
- package/dist/components/error-boundary/error-boundary.d.ts +162 -0
- package/dist/components/error-boundary/error-boundary.d.ts.map +1 -0
- package/dist/components/error-boundary/index.d.ts +7 -0
- package/dist/components/error-boundary/index.d.ts.map +1 -0
- package/dist/components/field/field-autocomplete.d.ts +74 -0
- package/dist/components/field/field-autocomplete.d.ts.map +1 -0
- package/dist/components/field/field-checkbox.d.ts +42 -0
- package/dist/components/field/field-checkbox.d.ts.map +1 -0
- package/dist/components/field/field-code.d.ts +80 -0
- package/dist/components/field/field-code.d.ts.map +1 -0
- package/dist/components/field/field-country-select.d.ts +84 -0
- package/dist/components/field/field-country-select.d.ts.map +1 -0
- package/dist/components/field/field-date-picker.d.ts +58 -0
- package/dist/components/field/field-date-picker.d.ts.map +1 -0
- package/dist/components/field/field-datetime-picker.d.ts +96 -0
- package/dist/components/field/field-datetime-picker.d.ts.map +1 -0
- package/dist/components/field/field-editor.d.ts +218 -0
- package/dist/components/field/field-editor.d.ts.map +1 -0
- package/dist/components/field/field-multi-checkbox.d.ts +91 -0
- package/dist/components/field/field-multi-checkbox.d.ts.map +1 -0
- package/dist/components/field/field-multi-select.d.ts +85 -0
- package/dist/components/field/field-multi-select.d.ts.map +1 -0
- package/dist/components/field/field-multi-switch.d.ts +93 -0
- package/dist/components/field/field-multi-switch.d.ts.map +1 -0
- package/dist/components/field/field-number.d.ts +50 -0
- package/dist/components/field/field-number.d.ts.map +1 -0
- package/dist/components/field/field-phone.d.ts +82 -0
- package/dist/components/field/field-phone.d.ts.map +1 -0
- package/dist/components/field/field-radio.d.ts +64 -0
- package/dist/components/field/field-radio.d.ts.map +1 -0
- package/dist/components/field/field-rating.d.ts +43 -0
- package/dist/components/field/field-rating.d.ts.map +1 -0
- package/dist/components/field/field-select.d.ts +50 -0
- package/dist/components/field/field-select.d.ts.map +1 -0
- package/dist/components/field/field-slider.d.ts +56 -0
- package/dist/components/field/field-slider.d.ts.map +1 -0
- package/dist/components/field/field-switch.d.ts +44 -0
- package/dist/components/field/field-switch.d.ts.map +1 -0
- package/dist/components/field/field-text.d.ts +38 -0
- package/dist/components/field/field-text.d.ts.map +1 -0
- package/dist/components/field/field-time-picker.d.ts +79 -0
- package/dist/components/field/field-time-picker.d.ts.map +1 -0
- package/dist/components/field/field-upload.d.ts +120 -0
- package/dist/components/field/field-upload.d.ts.map +1 -0
- package/dist/components/field/index.d.ts +149 -0
- package/dist/components/field/index.d.ts.map +1 -0
- package/dist/components/image/image.d.ts +79 -0
- package/dist/components/image/image.d.ts.map +1 -0
- package/dist/components/image/index.d.ts +7 -0
- package/dist/components/image/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +60 -7072
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +11 -11
- package/dist/components/label/index.d.ts +7 -0
- package/dist/components/label/index.d.ts.map +1 -0
- package/dist/components/label/label.d.ts +71 -0
- package/dist/components/label/label.d.ts.map +1 -0
- package/dist/components/lightbox/classes.d.ts +34 -0
- package/dist/components/lightbox/classes.d.ts.map +1 -0
- package/dist/components/lightbox/index.d.ts +11 -0
- package/dist/components/lightbox/index.d.ts.map +1 -0
- package/dist/components/lightbox/lightbox.d.ts +42 -0
- package/dist/components/lightbox/lightbox.d.ts.map +1 -0
- package/dist/components/lightbox/types.d.ts +233 -0
- package/dist/components/lightbox/types.d.ts.map +1 -0
- package/dist/components/lightbox/use-lightbox.d.ts +42 -0
- package/dist/components/lightbox/use-lightbox.d.ts.map +1 -0
- package/dist/components/loading-screen/index.d.ts +8 -0
- package/dist/components/loading-screen/index.d.ts.map +1 -0
- package/dist/components/loading-screen/loading-screen.d.ts +37 -0
- package/dist/components/loading-screen/loading-screen.d.ts.map +1 -0
- package/dist/components/loading-screen/splash-screen.d.ts +80 -0
- package/dist/components/loading-screen/splash-screen.d.ts.map +1 -0
- package/dist/components/map/Map.d.ts +63 -0
- package/dist/components/map/Map.d.ts.map +1 -0
- package/dist/components/map/MapCoverageLayer.d.ts +25 -0
- package/dist/components/map/MapCoverageLayer.d.ts.map +1 -0
- package/dist/components/map/MapMarker.d.ts +17 -0
- package/dist/components/map/MapMarker.d.ts.map +1 -0
- package/dist/components/map/MapPointPicker.d.ts +26 -0
- package/dist/components/map/MapPointPicker.d.ts.map +1 -0
- package/dist/components/map/index.d.ts +14 -0
- package/dist/components/map/index.d.ts.map +1 -0
- package/dist/components/mega-menu/index.d.ts +12 -0
- package/dist/components/mega-menu/index.d.ts.map +1 -0
- package/dist/components/mega-menu/mega-menu-horizontal.d.ts +41 -0
- package/dist/components/mega-menu/mega-menu-horizontal.d.ts.map +1 -0
- package/dist/components/mega-menu/mega-menu-mobile.d.ts +28 -0
- package/dist/components/mega-menu/mega-menu-mobile.d.ts.map +1 -0
- package/dist/components/mega-menu/mega-menu-vertical.d.ts +28 -0
- package/dist/components/mega-menu/mega-menu-vertical.d.ts.map +1 -0
- package/dist/components/mega-menu/styles.d.ts +18 -0
- package/dist/components/mega-menu/styles.d.ts.map +1 -0
- package/dist/components/mega-menu/types.d.ts +200 -0
- package/dist/components/mega-menu/types.d.ts.map +1 -0
- package/dist/components/menu/index.d.ts +7 -0
- package/dist/components/menu/index.d.ts.map +1 -0
- package/dist/components/menu/menu.d.ts +144 -0
- package/dist/components/menu/menu.d.ts.map +1 -0
- package/dist/components/nav-card/index.d.ts +8 -0
- package/dist/components/nav-card/index.d.ts.map +1 -0
- package/dist/components/nav-card/nav-card-grid.d.ts +57 -0
- package/dist/components/nav-card/nav-card-grid.d.ts.map +1 -0
- package/dist/components/nav-card/nav-card.d.ts +69 -0
- package/dist/components/nav-card/nav-card.d.ts.map +1 -0
- package/dist/components/nav-section/components.d.ts +143 -0
- package/dist/components/nav-section/components.d.ts.map +1 -0
- package/dist/components/nav-section/index.d.ts +15 -0
- package/dist/components/nav-section/index.d.ts.map +1 -0
- package/dist/components/nav-section/nav-context.d.ts +80 -0
- package/dist/components/nav-section/nav-context.d.ts.map +1 -0
- package/dist/components/nav-section/nav-item.d.ts +20 -0
- package/dist/components/nav-section/nav-item.d.ts.map +1 -0
- package/dist/components/nav-section/nav-list.d.ts +25 -0
- package/dist/components/nav-section/nav-list.d.ts.map +1 -0
- package/dist/components/nav-section/nav-section-horizontal.d.ts +29 -0
- package/dist/components/nav-section/nav-section-horizontal.d.ts.map +1 -0
- package/dist/components/nav-section/nav-section-mini.d.ts +30 -0
- package/dist/components/nav-section/nav-section-mini.d.ts.map +1 -0
- package/dist/components/nav-section/nav-section-vertical.d.ts +37 -0
- package/dist/components/nav-section/nav-section-vertical.d.ts.map +1 -0
- package/dist/components/nav-section/styles.d.ts +35 -0
- package/dist/components/nav-section/styles.d.ts.map +1 -0
- package/dist/components/nav-section/types.d.ts +178 -0
- package/dist/components/nav-section/types.d.ts.map +1 -0
- package/dist/components/navigation-progress/index.d.ts +7 -0
- package/dist/components/navigation-progress/index.d.ts.map +1 -0
- package/dist/components/navigation-progress/navigation-progress.d.ts +36 -0
- package/dist/components/navigation-progress/navigation-progress.d.ts.map +1 -0
- package/dist/components/page-content/index.d.ts +7 -0
- package/dist/components/page-content/index.d.ts.map +1 -0
- package/dist/components/page-content/page-content.d.ts +55 -0
- package/dist/components/page-content/page-content.d.ts.map +1 -0
- package/dist/components/popover/index.d.ts +7 -0
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/{popover-Dmw7SJLR.d.ts → components/popover/popover.d.ts} +11 -14
- package/dist/components/popover/popover.d.ts.map +1 -0
- package/dist/components/progress/countdown-ring.d.ts +60 -0
- package/dist/components/progress/countdown-ring.d.ts.map +1 -0
- package/dist/components/progress/index.d.ts +8 -0
- package/dist/components/progress/index.d.ts.map +1 -0
- package/dist/components/progress/progress.d.ts +106 -0
- package/dist/components/progress/progress.d.ts.map +1 -0
- package/dist/components/rail/index.d.ts +7 -0
- package/dist/components/rail/index.d.ts.map +1 -0
- package/dist/components/rail/rail.d.ts +39 -0
- package/dist/components/rail/rail.d.ts.map +1 -0
- package/dist/components/scroll-spy/index.d.ts +3 -0
- package/dist/components/scroll-spy/index.d.ts.map +1 -0
- package/dist/components/scroll-spy/scroll-spy-provider.d.ts +26 -0
- package/dist/components/scroll-spy/scroll-spy-provider.d.ts.map +1 -0
- package/dist/components/scroll-spy/scroll-spy-section.d.ts +10 -0
- package/dist/components/scroll-spy/scroll-spy-section.d.ts.map +1 -0
- package/dist/components/scroll-to-top/index.d.ts +7 -0
- package/dist/components/scroll-to-top/index.d.ts.map +1 -0
- package/dist/components/scroll-to-top/scroll-to-top.d.ts +25 -0
- package/dist/components/scroll-to-top/scroll-to-top.d.ts.map +1 -0
- package/dist/components/scrollbar/index.d.ts +7 -0
- package/dist/components/scrollbar/index.d.ts.map +1 -0
- package/dist/components/scrollbar/scrollbar.d.ts +59 -0
- package/dist/components/scrollbar/scrollbar.d.ts.map +1 -0
- package/dist/components/search-input/index.d.ts +2 -0
- package/dist/components/search-input/index.d.ts.map +1 -0
- package/dist/components/search-input/search-input.d.ts +46 -0
- package/dist/components/search-input/search-input.d.ts.map +1 -0
- package/dist/components/settings/index.d.ts +10 -0
- package/dist/components/settings/index.d.ts.map +1 -0
- package/dist/components/settings/settings-drawer.d.ts +39 -0
- package/dist/components/settings/settings-drawer.d.ts.map +1 -0
- package/dist/components/settings/settings-provider.d.ts +106 -0
- package/dist/components/settings/settings-provider.d.ts.map +1 -0
- package/dist/components/skeleton/index.d.ts +7 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.d.ts +77 -0
- package/dist/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/snackbar/index.d.ts +7 -0
- package/dist/components/snackbar/index.d.ts.map +1 -0
- package/dist/components/snackbar/snackbar.d.ts +120 -0
- package/dist/components/snackbar/snackbar.d.ts.map +1 -0
- package/dist/components/sponsored-slot/index.d.ts +3 -0
- package/dist/components/sponsored-slot/index.d.ts.map +1 -0
- package/dist/components/sponsored-slot/sponsored-slot.d.ts +16 -0
- package/dist/components/sponsored-slot/sponsored-slot.d.ts.map +1 -0
- package/dist/components/sponsored-slot/types.d.ts +45 -0
- package/dist/components/sponsored-slot/types.d.ts.map +1 -0
- package/dist/components/stepper/index.d.ts +7 -0
- package/dist/components/stepper/index.d.ts.map +1 -0
- package/dist/components/stepper/stepper.d.ts +145 -0
- package/dist/components/stepper/stepper.d.ts.map +1 -0
- package/dist/components/svg-color/index.d.ts +7 -0
- package/dist/components/svg-color/index.d.ts.map +1 -0
- package/dist/components/svg-color/svg-color.d.ts +80 -0
- package/dist/components/svg-color/svg-color.d.ts.map +1 -0
- package/dist/components/table/index.d.ts +7 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/table.d.ts +184 -0
- package/dist/components/table/table.d.ts.map +1 -0
- package/dist/components/tabs/index.d.ts +7 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/tabs.d.ts +146 -0
- package/dist/components/tabs/tabs.d.ts.map +1 -0
- package/dist/components/tag-cloud/index.d.ts +7 -0
- package/dist/components/tag-cloud/index.d.ts.map +1 -0
- package/dist/components/tag-cloud/tag-cloud.d.ts +58 -0
- package/dist/components/tag-cloud/tag-cloud.d.ts.map +1 -0
- package/dist/components/tiptap-renderer/index.d.ts +2 -0
- package/dist/components/tiptap-renderer/index.d.ts.map +1 -0
- package/dist/components/tiptap-renderer/tiptap-renderer.d.ts +45 -0
- package/dist/components/tiptap-renderer/tiptap-renderer.d.ts.map +1 -0
- package/dist/components/tooltip/index.d.ts +7 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.d.ts +38 -0
- package/dist/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/virtual-list/index.d.ts +7 -0
- package/dist/components/virtual-list/index.d.ts.map +1 -0
- package/dist/components/virtual-list/virtual-list.d.ts +64 -0
- package/dist/components/virtual-list/virtual-list.d.ts.map +1 -0
- package/dist/core/accessibility/index.d.ts +96 -0
- package/dist/core/accessibility/index.d.ts.map +1 -0
- package/dist/core/accessibility/skip-link.d.ts +31 -0
- package/dist/core/accessibility/skip-link.d.ts.map +1 -0
- package/dist/core/context.d.ts +99 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/hooks/use-boolean.d.ts +54 -0
- package/dist/core/hooks/use-boolean.d.ts.map +1 -0
- package/dist/core/hooks/use-breakpoints.d.ts +87 -0
- package/dist/core/hooks/use-breakpoints.d.ts.map +1 -0
- package/dist/core/hooks/use-click-outside.d.ts +26 -0
- package/dist/core/hooks/use-click-outside.d.ts.map +1 -0
- package/dist/core/hooks/use-copy-to-clipboard.d.ts +66 -0
- package/dist/core/hooks/use-copy-to-clipboard.d.ts.map +1 -0
- package/dist/core/hooks/use-countdown.d.ts +105 -0
- package/dist/core/hooks/use-countdown.d.ts.map +1 -0
- package/dist/core/hooks/use-debounce.d.ts +64 -0
- package/dist/core/hooks/use-debounce.d.ts.map +1 -0
- package/dist/core/hooks/use-event-listener.d.ts +37 -0
- package/dist/core/hooks/use-event-listener.d.ts.map +1 -0
- package/dist/core/hooks/use-interval.d.ts +30 -0
- package/dist/core/hooks/use-interval.d.ts.map +1 -0
- package/dist/core/hooks/use-is-client.d.ts +24 -0
- package/dist/core/hooks/use-is-client.d.ts.map +1 -0
- package/dist/core/hooks/use-local-storage.d.ts +61 -0
- package/dist/core/hooks/use-local-storage.d.ts.map +1 -0
- package/dist/core/hooks/use-media-query.d.ts +107 -0
- package/dist/core/hooks/use-media-query.d.ts.map +1 -0
- package/dist/core/hooks/use-mounted.d.ts +33 -0
- package/dist/core/hooks/use-mounted.d.ts.map +1 -0
- package/dist/core/hooks/use-multi-select.d.ts +113 -0
- package/dist/core/hooks/use-multi-select.d.ts.map +1 -0
- package/dist/core/hooks/use-previous.d.ts +23 -0
- package/dist/core/hooks/use-previous.d.ts.map +1 -0
- package/dist/core/hooks/use-set-state.d.ts +56 -0
- package/dist/core/hooks/use-set-state.d.ts.map +1 -0
- package/dist/core/hooks/use-tabs.d.ts +74 -0
- package/dist/core/hooks/use-tabs.d.ts.map +1 -0
- package/dist/core/hooks/use-timeout.d.ts +37 -0
- package/dist/core/hooks/use-timeout.d.ts.map +1 -0
- package/dist/core/index.d.ts +36 -468
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +6 -7
- package/dist/core/provider-stack.d.ts +181 -0
- package/dist/core/provider-stack.d.ts.map +1 -0
- package/dist/core/provider.d.ts +67 -0
- package/dist/core/provider.d.ts.map +1 -0
- package/dist/forms/index.d.ts +6 -557
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/index.js +0 -1
- package/dist/forms/index.js.map +1 -1
- package/dist/forms/schema-provider.d.ts +282 -0
- package/dist/forms/schema-provider.d.ts.map +1 -0
- package/dist/forms/schema-utils.d.ts +286 -0
- package/dist/forms/schema-utils.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +38 -8
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +8 -9
- package/dist/hooks/use-array.d.ts +126 -0
- package/dist/hooks/use-array.d.ts.map +1 -0
- package/dist/hooks/use-async.d.ts +88 -0
- package/dist/hooks/use-async.d.ts.map +1 -0
- package/dist/hooks/use-back-to-top.d.ts +57 -0
- package/dist/hooks/use-back-to-top.d.ts.map +1 -0
- package/dist/hooks/use-client-rect.d.ts +67 -0
- package/dist/hooks/use-client-rect.d.ts.map +1 -0
- package/dist/hooks/use-config-from-query.d.ts +98 -0
- package/dist/hooks/use-config-from-query.d.ts.map +1 -0
- package/dist/hooks/use-cookies.d.ts +62 -0
- package/dist/hooks/use-cookies.d.ts.map +1 -0
- package/dist/hooks/use-countdown-date.d.ts +47 -0
- package/dist/hooks/use-countdown-date.d.ts.map +1 -0
- package/dist/hooks/use-countdown-seconds.d.ts +83 -0
- package/dist/hooks/use-countdown-seconds.d.ts.map +1 -0
- package/dist/hooks/use-double-click.d.ts +67 -0
- package/dist/hooks/use-double-click.d.ts.map +1 -0
- package/dist/hooks/use-focus-trap.d.ts +66 -0
- package/dist/hooks/use-focus-trap.d.ts.map +1 -0
- package/dist/hooks/use-image-dimensions.d.ts +124 -0
- package/dist/hooks/use-image-dimensions.d.ts.map +1 -0
- package/dist/hooks/use-infinite-scroll.d.ts +204 -0
- package/dist/hooks/use-infinite-scroll.d.ts.map +1 -0
- package/dist/hooks/use-intersection-observer.d.ts +93 -0
- package/dist/hooks/use-intersection-observer.d.ts.map +1 -0
- package/dist/hooks/use-isomorphic-layout-effect.d.ts +34 -0
- package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
- package/dist/hooks/use-keyboard-shortcut.d.ts +112 -0
- package/dist/hooks/use-keyboard-shortcut.d.ts.map +1 -0
- package/dist/hooks/use-lazy-query.d.ts +132 -0
- package/dist/hooks/use-lazy-query.d.ts.map +1 -0
- package/dist/hooks/use-mutation.d.ts +141 -0
- package/dist/hooks/use-mutation.d.ts.map +1 -0
- package/dist/hooks/use-online-status.d.ts +56 -0
- package/dist/hooks/use-online-status.d.ts.map +1 -0
- package/dist/hooks/use-password-visibility.d.ts +83 -0
- package/dist/hooks/use-password-visibility.d.ts.map +1 -0
- package/dist/hooks/use-popover-hover.d.ts +78 -0
- package/dist/hooks/use-popover-hover.d.ts.map +1 -0
- package/dist/hooks/use-scroll-offset-top.d.ts +69 -0
- package/dist/hooks/use-scroll-offset-top.d.ts.map +1 -0
- package/dist/hooks/use-scroll-position.d.ts +96 -0
- package/dist/hooks/use-scroll-position.d.ts.map +1 -0
- package/dist/hooks/use-session-storage.d.ts +66 -0
- package/dist/hooks/use-session-storage.d.ts.map +1 -0
- package/dist/hooks/use-throttle.d.ts +67 -0
- package/dist/hooks/use-throttle.d.ts.map +1 -0
- package/dist/hooks/use-update-effect.d.ts +53 -0
- package/dist/hooks/use-update-effect.d.ts.map +1 -0
- package/dist/hooks/use-window-size.d.ts +132 -0
- package/dist/hooks/use-window-size.d.ts.map +1 -0
- package/dist/http/client.d.ts +74 -0
- package/dist/http/client.d.ts.map +1 -0
- package/dist/http/index.d.ts +6 -229
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +0 -2
- package/dist/http/index.js.map +1 -1
- package/dist/http/types.d.ts +158 -0
- package/dist/http/types.d.ts.map +1 -0
- package/dist/index.d.ts +19 -2758
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -63
- package/dist/index.js.map +1 -1
- package/dist/layouts/auth/centered.d.ts +49 -0
- package/dist/layouts/auth/centered.d.ts.map +1 -0
- package/dist/layouts/auth/index.d.ts +12 -0
- package/dist/layouts/auth/index.d.ts.map +1 -0
- package/dist/layouts/auth/simple.d.ts +58 -0
- package/dist/layouts/auth/simple.d.ts.map +1 -0
- package/dist/layouts/auth/split.d.ts +81 -0
- package/dist/layouts/auth/split.d.ts.map +1 -0
- package/dist/layouts/core/context.d.ts +102 -0
- package/dist/layouts/core/context.d.ts.map +1 -0
- package/dist/layouts/core/css-vars.d.ts +43 -0
- package/dist/layouts/core/css-vars.d.ts.map +1 -0
- package/dist/layouts/core/header-section.d.ts +79 -0
- package/dist/layouts/core/header-section.d.ts.map +1 -0
- package/dist/layouts/core/index.d.ts +18 -0
- package/dist/layouts/core/index.d.ts.map +1 -0
- package/dist/layouts/core/layout-section.d.ts +64 -0
- package/dist/layouts/core/layout-section.d.ts.map +1 -0
- package/dist/layouts/core/user-menu.d.ts +88 -0
- package/dist/layouts/core/user-menu.d.ts.map +1 -0
- package/dist/layouts/dashboard/index.d.ts +10 -0
- package/dist/layouts/dashboard/index.d.ts.map +1 -0
- package/dist/layouts/dashboard/layout.d.ts +90 -0
- package/dist/layouts/dashboard/layout.d.ts.map +1 -0
- package/dist/layouts/dashboard/sidenav.d.ts +58 -0
- package/dist/layouts/dashboard/sidenav.d.ts.map +1 -0
- package/dist/layouts/dashboard/topnav.d.ts +41 -0
- package/dist/layouts/dashboard/topnav.d.ts.map +1 -0
- package/dist/layouts/index.d.ts +27 -850
- package/dist/layouts/index.d.ts.map +1 -0
- package/dist/layouts/index.js +3 -4
- package/dist/layouts/types.d.ts +317 -0
- package/dist/layouts/types.d.ts.map +1 -0
- package/dist/netron/context.d.ts +18 -0
- package/dist/netron/context.d.ts.map +1 -0
- package/dist/netron/hooks.d.ts +10 -0
- package/dist/netron/hooks.d.ts.map +1 -0
- package/dist/netron/index.d.ts +47 -4
- package/dist/netron/index.d.ts.map +1 -0
- package/dist/netron/index.js +1 -2
- package/dist/netron/types.d.ts +12 -0
- package/dist/netron/types.d.ts.map +1 -0
- package/dist/registry/index.d.ts +8 -341
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +1 -2
- package/dist/registry/installer.d.ts +137 -0
- package/dist/registry/installer.d.ts.map +1 -0
- package/dist/registry/manager.d.ts +196 -0
- package/dist/registry/manager.d.ts.map +1 -0
- package/dist/state/create-store.d.ts +164 -0
- package/dist/state/create-store.d.ts.map +1 -0
- package/dist/state/index.d.ts +12 -969
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +2 -3
- package/dist/state/settings-version.d.ts +255 -0
- package/dist/state/settings-version.d.ts.map +1 -0
- package/dist/state/stores/auth.d.ts +155 -0
- package/dist/state/stores/auth.d.ts.map +1 -0
- package/dist/state/stores/index.d.ts +10 -0
- package/dist/state/stores/index.d.ts.map +1 -0
- package/dist/state/stores/settings.d.ts +151 -0
- package/dist/state/stores/settings.d.ts.map +1 -0
- package/dist/state/stores/theme.d.ts +87 -0
- package/dist/state/stores/theme.d.ts.map +1 -0
- package/dist/state/stores/ui.d.ts +204 -0
- package/dist/state/stores/ui.d.ts.map +1 -0
- package/dist/theme/colors/base.d.ts +61 -0
- package/dist/theme/colors/base.d.ts.map +1 -0
- package/dist/theme/colors/index.d.ts +10 -0
- package/dist/theme/colors/index.d.ts.map +1 -0
- package/dist/theme/colors/luxury.d.ts +49 -0
- package/dist/theme/colors/luxury.d.ts.map +1 -0
- package/dist/theme/components/Autocomplete.d.ts +9 -0
- package/dist/theme/components/Autocomplete.d.ts.map +1 -0
- package/dist/theme/components/Button.d.ts +33 -0
- package/dist/theme/components/Button.d.ts.map +1 -0
- package/dist/theme/components/Card.d.ts +20 -0
- package/dist/theme/components/Card.d.ts.map +1 -0
- package/dist/theme/components/Chip.d.ts +29 -0
- package/dist/theme/components/Chip.d.ts.map +1 -0
- package/dist/theme/components/DataGrid.d.ts +15 -0
- package/dist/theme/components/DataGrid.d.ts.map +1 -0
- package/dist/theme/components/DatePicker.d.ts +19 -0
- package/dist/theme/components/DatePicker.d.ts.map +1 -0
- package/dist/theme/components/Dialog.d.ts +23 -0
- package/dist/theme/components/Dialog.d.ts.map +1 -0
- package/dist/theme/components/FormControls.d.ts +53 -0
- package/dist/theme/components/FormControls.d.ts.map +1 -0
- package/dist/theme/components/Tabs.d.ts +21 -0
- package/dist/theme/components/Tabs.d.ts.map +1 -0
- package/dist/theme/components/TextField.d.ts +87 -0
- package/dist/theme/components/TextField.d.ts.map +1 -0
- package/dist/theme/components/index.d.ts +27 -0
- package/dist/theme/components/index.d.ts.map +1 -0
- package/dist/theme/components/theme-utils.d.ts +42 -0
- package/dist/theme/components/theme-utils.d.ts.map +1 -0
- package/dist/theme/create-theme.d.ts +131 -0
- package/dist/theme/create-theme.d.ts.map +1 -0
- package/dist/theme/css-variables.d.ts +42 -0
- package/dist/theme/css-variables.d.ts.map +1 -0
- package/dist/theme/custom-shadows.d.ts +58 -0
- package/dist/theme/custom-shadows.d.ts.map +1 -0
- package/dist/theme/index.d.ts +23 -1045
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +2 -3
- package/dist/theme/mixins.d.ts +332 -0
- package/dist/theme/mixins.d.ts.map +1 -0
- package/dist/theme/opacity.d.ts +51 -0
- package/dist/theme/opacity.d.ts.map +1 -0
- package/dist/theme/palette/builder.d.ts +138 -0
- package/dist/theme/palette/builder.d.ts.map +1 -0
- package/dist/theme/palette/index.d.ts +7 -0
- package/dist/theme/palette/index.d.ts.map +1 -0
- package/dist/theme/palette.d.ts +43 -0
- package/dist/theme/palette.d.ts.map +1 -0
- package/dist/theme/presets/arctic.d.ts +13 -0
- package/dist/theme/presets/arctic.d.ts.map +1 -0
- package/dist/theme/presets/default.d.ts +13 -0
- package/dist/theme/presets/default.d.ts.map +1 -0
- package/dist/theme/presets/dracula.d.ts +27 -0
- package/dist/theme/presets/dracula.d.ts.map +1 -0
- package/dist/theme/presets/ember.d.ts +23 -0
- package/dist/theme/presets/ember.d.ts.map +1 -0
- package/dist/theme/presets/index.d.ts +39 -0
- package/dist/theme/presets/index.d.ts.map +1 -0
- package/dist/theme/presets/luxury.d.ts +13 -0
- package/dist/theme/presets/luxury.d.ts.map +1 -0
- package/dist/theme/presets/midnight.d.ts +23 -0
- package/dist/theme/presets/midnight.d.ts.map +1 -0
- package/dist/theme/presets/minimal.d.ts +23 -0
- package/dist/theme/presets/minimal.d.ts.map +1 -0
- package/dist/theme/presets/nature.d.ts +14 -0
- package/dist/theme/presets/nature.d.ts.map +1 -0
- package/dist/theme/presets/retro.d.ts +23 -0
- package/dist/theme/presets/retro.d.ts.map +1 -0
- package/dist/theme/shadows.d.ts +61 -0
- package/dist/theme/shadows.d.ts.map +1 -0
- package/dist/theme/typography.d.ts +24 -0
- package/dist/theme/typography.d.ts.map +1 -0
- package/dist/theme/utils/color.d.ts +295 -0
- package/dist/theme/utils/color.d.ts.map +1 -0
- package/dist/theme/utils/index.d.ts +7 -0
- package/dist/theme/utils/index.d.ts.map +1 -0
- package/dist/{registry-DQcIzW2s.d.ts → types/blocks.d.ts} +30 -191
- package/dist/types/blocks.d.ts.map +1 -0
- package/dist/{components-BCGZ-Rwt.d.ts → types/components.d.ts} +17 -20
- package/dist/types/components.d.ts.map +1 -0
- package/dist/{config-Pct0n_Kq.d.ts → types/config.d.ts} +14 -16
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/index.d.ts +13 -7
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -2
- package/dist/types/registry.d.ts +158 -0
- package/dist/types/registry.d.ts.map +1 -0
- package/dist/{theme-B4Q3Bg5o.d.ts → types/theme.d.ts} +31 -34
- package/dist/types/theme.d.ts.map +1 -0
- package/dist/utils/async-lock.d.ts +169 -0
- package/dist/utils/async-lock.d.ts.map +1 -0
- package/dist/utils/cn.d.ts +80 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cookies.d.ts +68 -0
- package/dist/utils/cookies.d.ts.map +1 -0
- package/dist/utils/create-classes.d.ts +90 -0
- package/dist/utils/create-classes.d.ts.map +1 -0
- package/dist/utils/errors.d.ts +201 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/fetch-interceptor.d.ts +230 -0
- package/dist/utils/fetch-interceptor.d.ts.map +1 -0
- package/dist/utils/font.d.ts +65 -0
- package/dist/utils/font.d.ts.map +1 -0
- package/dist/utils/format-crypto.d.ts +312 -0
- package/dist/utils/format-crypto.d.ts.map +1 -0
- package/dist/utils/format-date.d.ts +240 -0
- package/dist/utils/format-date.d.ts.map +1 -0
- package/dist/utils/format-number.d.ts +245 -0
- package/dist/utils/format-number.d.ts.map +1 -0
- package/dist/utils/i18n-text.d.ts +68 -0
- package/dist/utils/i18n-text.d.ts.map +1 -0
- package/dist/utils/index.d.ts +30 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/jwt.d.ts +227 -0
- package/dist/utils/jwt.d.ts.map +1 -0
- package/dist/utils/object.d.ts +96 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/refs.d.ts +60 -0
- package/dist/utils/refs.d.ts.map +1 -0
- package/dist/utils/rtl.d.ts +75 -0
- package/dist/utils/rtl.d.ts.map +1 -0
- package/dist/utils/storage.d.ts +190 -0
- package/dist/utils/storage.d.ts.map +1 -0
- package/dist/utils/string.d.ts +216 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/template-resolver.d.ts +12 -0
- package/dist/utils/template-resolver.d.ts.map +1 -0
- package/dist/utils/toast.d.ts +25 -0
- package/dist/utils/toast.d.ts.map +1 -0
- package/dist/utils/transform-number.d.ts +108 -0
- package/dist/utils/transform-number.d.ts.map +1 -0
- package/dist/utils/url.d.ts +198 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/package.json +69 -59
- package/dist/chunk-2FYNRDXR.js.map +0 -1
- package/dist/chunk-77KIJLPP.js +0 -37
- package/dist/chunk-77KIJLPP.js.map +0 -1
- package/dist/chunk-A2Z7NVGL.js.map +0 -1
- package/dist/chunk-BV32OJ2A.js.map +0 -1
- package/dist/chunk-DDY7TLUI.js.map +0 -1
- package/dist/chunk-HO2GKTWJ.js.map +0 -1
- package/dist/chunk-IZOIO7PA.js.map +0 -1
- package/dist/chunk-JDTC2SBY.js.map +0 -1
- package/dist/chunk-KTCWPGON.js.map +0 -1
- package/dist/chunk-MEFT6XPH.js.map +0 -1
- package/dist/chunk-SNKGGHBT.js.map +0 -1
- package/dist/chunk-VAAIHNWQ.js.map +0 -1
- package/dist/chunk-XQXGE2PW.js +0 -16793
- package/dist/chunk-XQXGE2PW.js.map +0 -1
- package/dist/chunk-XWL6J6IO.js.map +0 -1
- package/dist/chunk-XXP3ZGU6.js.map +0 -1
- package/dist/chunk-YJMAQL3S.js.map +0 -1
- package/dist/index-nmJ8Muwg.d.ts +0 -2368
- package/dist/settings-CAC0qFjS.d.ts +0 -455
- package/dist/text-transform-D6MzzF7V.d.ts +0 -165
- package/dist/use-timeout-D7U3EAtH.d.ts +0 -808
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/registry/manager.ts","../src/registry/installer.ts","../src/registry/index.ts"],"names":["registry","path","fs"],"mappings":"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","file":"chunk-BV32OJ2A.js","sourcesContent":["/**\n * Registry Manager\n *\n * Core registry management for Prism components and blocks.\n * Handles loading, merging, querying, and caching of registry data.\n *\n * Key Features:\n * - Multiple registry sources (local, remote, merged)\n * - Automatic dependency resolution\n * - Version management and compatibility checking\n * - Caching with configurable TTL\n *\n * @module @omnitron-dev/prism/registry/manager\n */\n\nimport type { RegistrySchema, ComponentDefinition, RegistryConfig, RemoteRegistryConfig } from '../types/registry.js';\nimport type { BlockDefinition } from '../types/blocks.js';\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport interface RegistryManagerOptions {\n /** Base directory for local registries */\n baseDir?: string;\n /** Default registry name */\n defaultRegistry?: string;\n /** Registry configuration */\n config?: RegistryConfig;\n /** Cache TTL in milliseconds (default: 5 minutes) */\n cacheTtl?: number;\n}\n\nexport interface SearchOptions {\n /** Filter by category */\n category?: string;\n /** Search query */\n query?: string;\n /** Include dependencies in results */\n includeDependencies?: boolean;\n /** Limit results */\n limit?: number;\n}\n\nexport interface ResolvedItem {\n /** Item definition */\n definition: ComponentDefinition | BlockDefinition;\n /** Registry source */\n registry: string;\n /** Resolved dependencies */\n dependencies: ResolvedItem[];\n}\n\ninterface CacheEntry<T> {\n data: T;\n timestamp: number;\n}\n\n// =============================================================================\n// REGISTRY MANAGER\n// =============================================================================\n\n/**\n * Registry manager for Prism design system.\n *\n * Manages component and block registries with support for:\n * - Local and remote registry sources\n * - Registry merging and extension\n * - Dependency resolution\n * - Caching with TTL\n *\n * @example\n * ```typescript\n * const manager = new RegistryManager({\n * baseDir: './prism',\n * config: {\n * default: 'prism',\n * registries: {\n * prism: 'https://registry.prism.dev',\n * custom: './custom-registry.json',\n * },\n * },\n * });\n *\n * // Get a component\n * const button = await manager.getComponent('button');\n *\n * // Search for components\n * const inputs = await manager.searchComponents({ category: 'inputs' });\n *\n * // Resolve dependencies\n * const resolved = await manager.resolveDependencies('data-table');\n * ```\n */\nexport class RegistryManager {\n private readonly options: Required<RegistryManagerOptions>;\n private registries: Map<string, RegistrySchema> = new Map();\n private cache: Map<string, CacheEntry<RegistrySchema>> = new Map();\n private loaders: Map<string, () => Promise<RegistrySchema>> = new Map();\n\n constructor(options: RegistryManagerOptions = {}) {\n this.options = {\n baseDir: options.baseDir ?? (typeof process !== 'undefined' && process.cwd ? process.cwd() : '/'),\n defaultRegistry: options.defaultRegistry ?? 'prism',\n config: options.config ?? { default: 'prism', registries: {} },\n cacheTtl: options.cacheTtl ?? 5 * 60 * 1000, // 5 minutes\n };\n }\n\n // ===========================================================================\n // REGISTRY LOADING\n // ===========================================================================\n\n /**\n * Register a custom loader for a registry.\n */\n registerLoader(name: string, loader: () => Promise<RegistrySchema>): void {\n this.loaders.set(name, loader);\n }\n\n /**\n * Load a registry by name.\n */\n async loadRegistry(name: string): Promise<RegistrySchema> {\n // Check cache first\n const cached = this.cache.get(name);\n if (cached && Date.now() - cached.timestamp < this.options.cacheTtl) {\n return cached.data;\n }\n\n // Check if already loaded\n const existing = this.registries.get(name);\n if (existing && !cached) {\n return existing;\n }\n\n // Use custom loader if registered\n const customLoader = this.loaders.get(name);\n if (customLoader) {\n const registry = await customLoader();\n this.cacheRegistry(name, registry);\n return registry;\n }\n\n // Get registry config\n const config = this.options.config.registries[name];\n if (!config) {\n throw new Error(`Registry \"${name}\" not found in configuration`);\n }\n\n // Load based on config type\n const registry = typeof config === 'string' ? await this.loadFromPath(config) : await this.loadFromRemote(config);\n\n // Handle registry extension\n if (registry.extends) {\n const baseRegistry = await this.loadRegistry(registry.extends);\n const merged = this.mergeRegistries(baseRegistry, registry);\n this.cacheRegistry(name, merged);\n return merged;\n }\n\n this.cacheRegistry(name, registry);\n return registry;\n }\n\n /**\n * Load registry from local file path.\n * Uses dynamic import for ESM compatibility across environments.\n *\n * @param path - Relative or absolute path to registry JSON\n * @returns Loaded registry schema\n */\n private async loadFromPath(path: string): Promise<RegistrySchema> {\n const fullPath = path.startsWith('/') ? path : `${this.options.baseDir}/${path}`;\n\n // Check if running in Node.js-like environment with fs access\n if (typeof process !== 'undefined' && (process.versions?.node || process.versions?.bun)) {\n // Dynamic import for Node.js fs module\n const fs = await import('node:fs/promises');\n const content = await fs.readFile(fullPath, 'utf-8');\n return JSON.parse(content) as RegistrySchema;\n }\n\n // In browser/Deno environment, try to fetch if it's a URL\n if (path.startsWith('http://') || path.startsWith('https://')) {\n const response = await fetch(path);\n if (!response.ok) {\n throw new Error(`Failed to load registry from ${path}: ${response.statusText}`);\n }\n return response.json();\n }\n\n // For browser environment with bundled registries, use custom loader\n throw new Error(\n `Cannot load local file \"${fullPath}\" in browser environment. ` +\n `Register a custom loader with manager.registerLoader() or use a remote URL.`\n );\n }\n\n /**\n * Load registry from remote URL.\n */\n private async loadFromRemote(config: RemoteRegistryConfig): Promise<RegistrySchema> {\n const response = await fetch(config.url, {\n headers: config.headers,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load registry from ${config.url}: ${response.statusText}`);\n }\n\n return response.json();\n }\n\n /**\n * Cache a loaded registry.\n */\n private cacheRegistry(name: string, registry: RegistrySchema): void {\n this.registries.set(name, registry);\n this.cache.set(name, {\n data: registry,\n timestamp: Date.now(),\n });\n }\n\n /**\n * Merge two registries (base + extension).\n */\n private mergeRegistries(base: RegistrySchema, extension: RegistrySchema): RegistrySchema {\n return {\n ...base,\n ...extension,\n components: { ...base.components, ...extension.components },\n blocks: { ...base.blocks, ...extension.blocks },\n themes: { ...base.themes, ...extension.themes },\n };\n }\n\n /**\n * Clear registry cache.\n */\n clearCache(name?: string): void {\n if (name) {\n this.cache.delete(name);\n } else {\n this.cache.clear();\n }\n }\n\n // ===========================================================================\n // COMPONENT OPERATIONS\n // ===========================================================================\n\n /**\n * Get a component definition by name.\n */\n async getComponent(name: string, registryName?: string): Promise<ComponentDefinition | null> {\n const registry = await this.loadRegistry(registryName ?? this.options.defaultRegistry);\n return registry.components[name] ?? null;\n }\n\n /**\n * Get all components from a registry.\n */\n async getComponents(registryName?: string): Promise<Record<string, ComponentDefinition>> {\n const registry = await this.loadRegistry(registryName ?? this.options.defaultRegistry);\n return registry.components;\n }\n\n /**\n * Search for components.\n */\n async searchComponents(options: SearchOptions, registryName?: string): Promise<ComponentDefinition[]> {\n const registry = await this.loadRegistry(registryName ?? this.options.defaultRegistry);\n let results = Object.values(registry.components);\n\n // Filter by category\n if (options.category) {\n results = results.filter((c) => c.category === options.category);\n }\n\n // Filter by query\n if (options.query) {\n const query = options.query.toLowerCase();\n results = results.filter(\n (c) =>\n c.name.toLowerCase().includes(query) ||\n c.displayName?.toLowerCase().includes(query) ||\n c.description?.toLowerCase().includes(query)\n );\n }\n\n // Limit results\n if (options.limit && options.limit > 0) {\n results = results.slice(0, options.limit);\n }\n\n return results;\n }\n\n /**\n * Get component categories.\n */\n async getComponentCategories(registryName?: string): Promise<string[]> {\n const registry = await this.loadRegistry(registryName ?? this.options.defaultRegistry);\n const categories = new Set<string>();\n\n for (const component of Object.values(registry.components)) {\n categories.add(component.category);\n }\n\n return Array.from(categories).sort();\n }\n\n // ===========================================================================\n // BLOCK OPERATIONS\n // ===========================================================================\n\n /**\n * Get a block definition by name.\n */\n async getBlock(name: string, registryName?: string): Promise<BlockDefinition | null> {\n const registry = await this.loadRegistry(registryName ?? this.options.defaultRegistry);\n return registry.blocks[name] ?? null;\n }\n\n /**\n * Get all blocks from a registry.\n */\n async getBlocks(registryName?: string): Promise<Record<string, BlockDefinition>> {\n const registry = await this.loadRegistry(registryName ?? this.options.defaultRegistry);\n return registry.blocks;\n }\n\n /**\n * Search for blocks.\n */\n async searchBlocks(options: SearchOptions, registryName?: string): Promise<BlockDefinition[]> {\n const registry = await this.loadRegistry(registryName ?? this.options.defaultRegistry);\n let results = Object.values(registry.blocks);\n\n // Filter by category\n if (options.category) {\n results = results.filter((b) => b.category === options.category);\n }\n\n // Filter by query\n if (options.query) {\n const query = options.query.toLowerCase();\n results = results.filter(\n (b) =>\n b.name.toLowerCase().includes(query) ||\n b.displayName?.toLowerCase().includes(query) ||\n b.description?.toLowerCase().includes(query)\n );\n }\n\n // Limit results\n if (options.limit && options.limit > 0) {\n results = results.slice(0, options.limit);\n }\n\n return results;\n }\n\n /**\n * Get block categories.\n */\n async getBlockCategories(registryName?: string): Promise<string[]> {\n const registry = await this.loadRegistry(registryName ?? this.options.defaultRegistry);\n const categories = new Set<string>();\n\n for (const block of Object.values(registry.blocks)) {\n categories.add(block.category);\n }\n\n return Array.from(categories).sort();\n }\n\n // ===========================================================================\n // DEPENDENCY RESOLUTION\n // ===========================================================================\n\n /**\n * Resolve all dependencies for a component.\n */\n async resolveComponentDependencies(name: string, registryName?: string): Promise<ResolvedItem> {\n const registry = registryName ?? this.options.defaultRegistry;\n const component = await this.getComponent(name, registry);\n\n if (!component) {\n throw new Error(`Component \"${name}\" not found in registry \"${registry}\"`);\n }\n\n const dependencies: ResolvedItem[] = [];\n\n // Resolve component dependencies\n for (const depName of component.dependencies.components) {\n const resolved = await this.resolveComponentDependencies(depName, registry);\n dependencies.push(resolved);\n }\n\n return {\n definition: component,\n registry,\n dependencies,\n };\n }\n\n /**\n * Resolve all dependencies for a block.\n */\n async resolveBlockDependencies(name: string, registryName?: string): Promise<ResolvedItem> {\n const registry = registryName ?? this.options.defaultRegistry;\n const block = await this.getBlock(name, registry);\n\n if (!block) {\n throw new Error(`Block \"${name}\" not found in registry \"${registry}\"`);\n }\n\n const dependencies: ResolvedItem[] = [];\n\n // Resolve component dependencies\n for (const compName of block.dependencies.components) {\n const resolved = await this.resolveComponentDependencies(compName, registry);\n dependencies.push(resolved);\n }\n\n // Resolve block dependencies\n for (const blockName of block.dependencies.blocks) {\n const resolved = await this.resolveBlockDependencies(blockName, registry);\n dependencies.push(resolved);\n }\n\n return {\n definition: block,\n registry,\n dependencies,\n };\n }\n\n /**\n * Get flat list of all npm dependencies for resolved items.\n */\n getNpmDependencies(resolved: ResolvedItem): string[] {\n const deps = new Set<string>();\n\n function collectDeps(item: ResolvedItem): void {\n // Add direct npm dependencies\n const definition = item.definition as ComponentDefinition | BlockDefinition;\n if ('dependencies' in definition) {\n for (const dep of definition.dependencies.npm) {\n deps.add(dep);\n }\n }\n\n // Recurse into dependencies\n for (const child of item.dependencies) {\n collectDeps(child);\n }\n }\n\n collectDeps(resolved);\n return Array.from(deps).sort();\n }\n\n /**\n * Get flat list of all file paths for resolved items.\n */\n getFilePaths(resolved: ResolvedItem): string[] {\n const paths = new Set<string>();\n\n function collectPaths(item: ResolvedItem): void {\n // Add direct file paths\n const definition = item.definition as ComponentDefinition | BlockDefinition;\n for (const file of definition.files) {\n paths.add(file.path);\n }\n\n // Recurse into dependencies\n for (const child of item.dependencies) {\n collectPaths(child);\n }\n }\n\n collectPaths(resolved);\n return Array.from(paths).sort();\n }\n\n // ===========================================================================\n // VERSION CHECKING\n // ===========================================================================\n\n /**\n * Check if a component version is compatible.\n */\n async checkComponentVersion(name: string, requiredVersion: string, registryName?: string): Promise<boolean> {\n const component = await this.getComponent(name, registryName);\n if (!component) return false;\n\n return this.isVersionCompatible(component.version, requiredVersion);\n }\n\n /**\n * Check semver version compatibility.\n * Simple implementation - considers major.minor compatibility.\n */\n private isVersionCompatible(actual: string, required: string): boolean {\n const [actualMajor, actualMinor] = actual.split('.').map(Number);\n const [requiredMajor, requiredMinor] = required.split('.').map(Number);\n\n // Major version must match\n if (actualMajor !== requiredMajor) return false;\n\n // Minor version must be >= required\n return actualMinor >= requiredMinor;\n }\n\n // ===========================================================================\n // REGISTRY INFO\n // ===========================================================================\n\n /**\n * Get registry metadata.\n */\n async getRegistryInfo(registryName?: string): Promise<{\n name: string;\n version: string;\n description?: string;\n componentCount: number;\n blockCount: number;\n themeCount: number;\n }> {\n const registry = await this.loadRegistry(registryName ?? this.options.defaultRegistry);\n\n return {\n name: registry.name,\n version: registry.version,\n description: registry.description,\n componentCount: Object.keys(registry.components).length,\n blockCount: Object.keys(registry.blocks).length,\n themeCount: Object.keys(registry.themes).length,\n };\n }\n\n /**\n * Get list of loaded registries.\n */\n getLoadedRegistries(): string[] {\n return Array.from(this.registries.keys());\n }\n}\n\n// =============================================================================\n// DEFAULT INSTANCE\n// =============================================================================\n\n/**\n * Default registry manager instance.\n */\nexport const registry = new RegistryManager();\n\n/**\n * Create a new registry manager with custom options.\n */\nexport function createRegistryManager(options?: RegistryManagerOptions): RegistryManager {\n return new RegistryManager(options);\n}\n","/**\n * Component/Block Installer\n *\n * Handles installation of Prism components and blocks to target projects.\n * Manages file copying, dependency resolution, and lockfile tracking.\n *\n * Key Features:\n * - Atomic installation with rollback on failure\n * - Automatic dependency installation\n * - Template variable substitution\n * - Lockfile tracking for updates\n *\n * @module @omnitron-dev/prism/registry/installer\n */\n\nimport { promises as fs } from 'node:fs';\nimport * as path from 'node:path';\nimport type { ComponentDefinition, InstalledComponent, InstalledBlock, PrismLockfile } from '../types/registry.js';\nimport type { BlockDefinition } from '../types/blocks.js';\nimport { RegistryManager, type ResolvedItem } from './manager.js';\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport interface InstallerOptions {\n /** Target directory for components */\n componentsDir?: string;\n /** Target directory for blocks */\n blocksDir?: string;\n /** Target directory for hooks */\n hooksDir?: string;\n /** Overwrite existing files */\n overwrite?: boolean;\n /** Dry run mode (don't write files) */\n dryRun?: boolean;\n /** Skip dependencies */\n skipDependencies?: boolean;\n /** Template variables for substitution */\n templateVars?: Record<string, string>;\n}\n\nexport interface InstallResult {\n /** Whether installation was successful */\n success: boolean;\n /** Installed files */\n files: string[];\n /** npm dependencies to install */\n npmDependencies: string[];\n /** Errors encountered */\n errors: string[];\n /** Warnings */\n warnings: string[];\n}\n\ninterface FileOperation {\n type: 'write' | 'mkdir';\n path: string;\n content?: string;\n}\n\n// =============================================================================\n// INSTALLER\n// =============================================================================\n\n/**\n * Prism component and block installer.\n *\n * @example\n * ```typescript\n * const installer = new PrismInstaller({\n * componentsDir: 'src/components',\n * blocksDir: 'src/blocks',\n * });\n *\n * // Install a component\n * const result = await installer.installComponent('button');\n *\n * // Install a block with all dependencies\n * const blockResult = await installer.installBlock('dashboard-layout');\n * ```\n */\nexport class PrismInstaller {\n private readonly options: Required<InstallerOptions>;\n private readonly registryManager: RegistryManager;\n private lockfile: PrismLockfile | null = null;\n private lockfilePath: string;\n\n constructor(registryManager: RegistryManager, options: InstallerOptions = {}) {\n this.registryManager = registryManager;\n this.options = {\n componentsDir: options.componentsDir ?? 'src/components/prism',\n blocksDir: options.blocksDir ?? 'src/blocks',\n hooksDir: options.hooksDir ?? 'src/hooks',\n overwrite: options.overwrite ?? false,\n dryRun: options.dryRun ?? false,\n skipDependencies: options.skipDependencies ?? false,\n templateVars: options.templateVars ?? {},\n };\n this.lockfilePath = path.join(process.cwd(), 'prism.lock.json');\n }\n\n // ===========================================================================\n // COMPONENT INSTALLATION\n // ===========================================================================\n\n /**\n * Install a component and its dependencies.\n */\n async installComponent(name: string, registryName?: string): Promise<InstallResult> {\n const result: InstallResult = {\n success: false,\n files: [],\n npmDependencies: [],\n errors: [],\n warnings: [],\n };\n\n try {\n // Resolve component and dependencies\n const resolved = await this.registryManager.resolveComponentDependencies(name, registryName);\n\n // Get all items to install (flattened)\n const itemsToInstall = this.options.skipDependencies ? [resolved] : this.flattenDependencies(resolved);\n\n // Check for existing installations\n await this.loadLockfile();\n const existingComponents = new Set(Object.keys(this.lockfile?.components ?? {}));\n\n // Filter out already installed components (unless overwrite is enabled)\n const filteredItems = this.options.overwrite\n ? itemsToInstall\n : itemsToInstall.filter((item) => {\n const def = item.definition as ComponentDefinition;\n if (existingComponents.has(def.name)) {\n result.warnings.push(\n `Component \"${def.name}\" is already installed, skipping (use --overwrite to replace)`\n );\n return false;\n }\n return true;\n });\n\n // Collect all file operations\n const operations: FileOperation[] = [];\n const installedComponents: InstalledComponent[] = [];\n\n for (const item of filteredItems) {\n const component = item.definition as ComponentDefinition;\n const componentOps = await this.prepareComponentFiles(component, item.registry);\n operations.push(...componentOps);\n\n installedComponents.push({\n name: component.name,\n version: component.version,\n registry: item.registry,\n installedAt: new Date().toISOString(),\n files: componentOps.filter((op) => op.type === 'write').map((op) => op.path),\n });\n }\n\n // Collect npm dependencies\n result.npmDependencies = this.registryManager.getNpmDependencies(resolved);\n\n // Execute operations (or simulate in dry run)\n if (this.options.dryRun) {\n result.files = operations.filter((op) => op.type === 'write').map((op) => op.path);\n result.success = true;\n } else {\n await this.executeOperations(operations);\n result.files = operations.filter((op) => op.type === 'write').map((op) => op.path);\n\n // Update lockfile\n for (const component of installedComponents) {\n this.lockfile!.components[component.name] = component;\n }\n await this.saveLockfile();\n\n result.success = true;\n }\n } catch (error) {\n result.errors.push(error instanceof Error ? error.message : String(error));\n }\n\n return result;\n }\n\n /**\n * Prepare file operations for a component.\n */\n private async prepareComponentFiles(component: ComponentDefinition, _registry: string): Promise<FileOperation[]> {\n const operations: FileOperation[] = [];\n const componentDir = path.join(this.options.componentsDir, component.name);\n\n // Create component directory\n operations.push({ type: 'mkdir', path: componentDir });\n\n // Prepare each file\n for (const file of component.files) {\n const targetPath = path.join(componentDir, path.basename(file.path));\n const content = await this.fetchFileContent(file.path);\n const processedContent = this.processTemplate(content);\n\n operations.push({\n type: 'write',\n path: targetPath,\n content: processedContent,\n });\n }\n\n return operations;\n }\n\n // ===========================================================================\n // BLOCK INSTALLATION\n // ===========================================================================\n\n /**\n * Install a block and its dependencies.\n */\n async installBlock(name: string, registryName?: string): Promise<InstallResult> {\n const result: InstallResult = {\n success: false,\n files: [],\n npmDependencies: [],\n errors: [],\n warnings: [],\n };\n\n try {\n // Resolve block and dependencies\n const resolved = await this.registryManager.resolveBlockDependencies(name, registryName);\n\n // Get all items to install (flattened)\n const allItems = this.options.skipDependencies ? [resolved] : this.flattenDependencies(resolved);\n\n // Separate blocks and components by checking for block-specific properties\n // BlockDefinition has 'defaultConfig' which ComponentDefinition doesn't have\n const blocks = allItems.filter((item) => {\n const def = item.definition;\n // Block has 'defaultConfig' and 'dependencies.blocks', Component has 'dependencies.components'\n return 'defaultConfig' in def && 'dependencies' in def && 'blocks' in (def as BlockDefinition).dependencies;\n });\n const components = allItems.filter((item) => !blocks.includes(item));\n\n // Check for existing installations\n await this.loadLockfile();\n\n // Install component dependencies first\n for (const item of components) {\n const component = item.definition as ComponentDefinition;\n const existingComponent = this.lockfile?.components[component.name];\n\n if (existingComponent && !this.options.overwrite) {\n result.warnings.push(`Component \"${component.name}\" is already installed, skipping`);\n continue;\n }\n\n const componentResult = await this.installComponent(component.name, item.registry);\n result.files.push(...componentResult.files);\n result.errors.push(...componentResult.errors);\n result.warnings.push(...componentResult.warnings);\n }\n\n // Install blocks\n const operations: FileOperation[] = [];\n const installedBlocks: InstalledBlock[] = [];\n\n for (const item of blocks) {\n const block = item.definition as BlockDefinition;\n const existingBlock = this.lockfile?.blocks[block.name];\n\n if (existingBlock && !this.options.overwrite) {\n result.warnings.push(`Block \"${block.name}\" is already installed, skipping`);\n continue;\n }\n\n const blockOps = await this.prepareBlockFiles(block, item.registry);\n operations.push(...blockOps);\n\n installedBlocks.push({\n name: block.name,\n version: block.version,\n registry: item.registry,\n installedAt: new Date().toISOString(),\n files: blockOps.filter((op) => op.type === 'write').map((op) => op.path),\n config: block.defaultConfig,\n });\n }\n\n // Collect npm dependencies\n result.npmDependencies = this.registryManager.getNpmDependencies(resolved);\n\n // Execute operations\n if (this.options.dryRun) {\n result.files.push(...operations.filter((op) => op.type === 'write').map((op) => op.path));\n result.success = true;\n } else {\n await this.executeOperations(operations);\n result.files.push(...operations.filter((op) => op.type === 'write').map((op) => op.path));\n\n // Update lockfile\n for (const block of installedBlocks) {\n this.lockfile!.blocks[block.name] = block;\n }\n await this.saveLockfile();\n\n result.success = true;\n }\n } catch (error) {\n result.errors.push(error instanceof Error ? error.message : String(error));\n }\n\n return result;\n }\n\n /**\n * Prepare file operations for a block.\n */\n private async prepareBlockFiles(block: BlockDefinition, _registry: string): Promise<FileOperation[]> {\n const operations: FileOperation[] = [];\n const blockDir = path.join(this.options.blocksDir, block.name);\n\n // Create block directory\n operations.push({ type: 'mkdir', path: blockDir });\n\n // Prepare each file\n for (const file of block.files) {\n const targetPath = path.join(blockDir, file.path);\n const targetDir = path.dirname(targetPath);\n\n // Create subdirectory if needed\n if (targetDir !== blockDir) {\n operations.push({ type: 'mkdir', path: targetDir });\n }\n\n const content = await this.fetchFileContent(file.path);\n const processedContent = this.processTemplate(content);\n\n operations.push({\n type: 'write',\n path: targetPath,\n content: processedContent,\n });\n }\n\n return operations;\n }\n\n // ===========================================================================\n // UNINSTALLATION\n // ===========================================================================\n\n /**\n * Uninstall a component.\n */\n async uninstallComponent(name: string): Promise<InstallResult> {\n const result: InstallResult = {\n success: false,\n files: [],\n npmDependencies: [],\n errors: [],\n warnings: [],\n };\n\n try {\n await this.loadLockfile();\n const installed = this.lockfile?.components[name];\n\n if (!installed) {\n result.errors.push(`Component \"${name}\" is not installed`);\n return result;\n }\n\n // Check if any other components depend on this one\n const dependents = await this.findDependents(name, 'component');\n if (dependents.length > 0) {\n result.errors.push(`Cannot uninstall \"${name}\" because it is used by: ${dependents.join(', ')}`);\n return result;\n }\n\n // Delete files\n if (!this.options.dryRun) {\n for (const filePath of installed.files) {\n await fs.unlink(filePath).catch(() => {\n result.warnings.push(`Could not delete file: ${filePath}`);\n });\n }\n\n // Try to remove component directory if empty\n const componentDir = path.dirname(installed.files[0]);\n await fs.rmdir(componentDir).catch(() => {\n // Directory not empty or doesn't exist\n });\n\n // Update lockfile\n delete this.lockfile!.components[name];\n await this.saveLockfile();\n }\n\n result.files = installed.files;\n result.success = true;\n } catch (error) {\n result.errors.push(error instanceof Error ? error.message : String(error));\n }\n\n return result;\n }\n\n /**\n * Uninstall a block.\n */\n async uninstallBlock(name: string): Promise<InstallResult> {\n const result: InstallResult = {\n success: false,\n files: [],\n npmDependencies: [],\n errors: [],\n warnings: [],\n };\n\n try {\n await this.loadLockfile();\n const installed = this.lockfile?.blocks[name];\n\n if (!installed) {\n result.errors.push(`Block \"${name}\" is not installed`);\n return result;\n }\n\n // Check if any other blocks depend on this one\n const dependents = await this.findDependents(name, 'block');\n if (dependents.length > 0) {\n result.errors.push(`Cannot uninstall \"${name}\" because it is used by: ${dependents.join(', ')}`);\n return result;\n }\n\n // Delete files\n if (!this.options.dryRun) {\n for (const filePath of installed.files) {\n await fs.unlink(filePath).catch(() => {\n result.warnings.push(`Could not delete file: ${filePath}`);\n });\n }\n\n // Try to remove block directory\n const blockDir = path.dirname(installed.files[0]);\n await fs.rm(blockDir, { recursive: true }).catch(() => {\n result.warnings.push(`Could not remove directory: ${blockDir}`);\n });\n\n // Update lockfile\n delete this.lockfile!.blocks[name];\n await this.saveLockfile();\n }\n\n result.files = installed.files;\n result.success = true;\n } catch (error) {\n result.errors.push(error instanceof Error ? error.message : String(error));\n }\n\n return result;\n }\n\n // ===========================================================================\n // HELPERS\n // ===========================================================================\n\n /**\n * Flatten dependency tree into unique list.\n */\n private flattenDependencies(resolved: ResolvedItem): ResolvedItem[] {\n const seen = new Set<string>();\n const result: ResolvedItem[] = [];\n\n function traverse(item: ResolvedItem): void {\n const key = `${item.registry}:${item.definition.name}`;\n if (seen.has(key)) return;\n seen.add(key);\n\n // Process dependencies first (for proper install order)\n for (const dep of item.dependencies) {\n traverse(dep);\n }\n\n result.push(item);\n }\n\n traverse(resolved);\n return result;\n }\n\n /**\n * Fetch file content from registry.\n * Supports local files (prefixed with file:// or absolute paths) and remote URLs.\n */\n private async fetchFileContent(filePath: string): Promise<string> {\n // Handle local file paths\n if (filePath.startsWith('file://') || filePath.startsWith('/') || /^[a-zA-Z]:/.test(filePath)) {\n const actualPath = filePath.replace('file://', '');\n try {\n const content = await fs.readFile(actualPath, 'utf-8');\n return content;\n } catch (error) {\n throw new Error(\n `Failed to read local file \"${actualPath}\": ${error instanceof Error ? error.message : String(error)}`,\n { cause: error }\n );\n }\n }\n\n // Handle relative paths (resolve against baseDir from registry manager options)\n if (!filePath.startsWith('http://') && !filePath.startsWith('https://')) {\n const resolvedPath = path.resolve(process.cwd(), filePath);\n try {\n const content = await fs.readFile(resolvedPath, 'utf-8');\n return content;\n } catch (error) {\n throw new Error(\n `Failed to read file \"${resolvedPath}\": ${error instanceof Error ? error.message : String(error)}`,\n { cause: error }\n );\n }\n }\n\n // Handle remote URLs\n try {\n const response = await fetch(filePath);\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n return await response.text();\n } catch (error) {\n throw new Error(\n `Failed to fetch remote file \"${filePath}\": ${error instanceof Error ? error.message : String(error)}`,\n { cause: error }\n );\n }\n }\n\n /**\n * Process template variables in content.\n */\n private processTemplate(content: string): string {\n let result = content;\n\n for (const [key, value] of Object.entries(this.options.templateVars)) {\n result = result.replace(new RegExp(`{{${key}}}`, 'g'), value);\n }\n\n return result;\n }\n\n /**\n * Execute file operations.\n */\n private async executeOperations(operations: FileOperation[]): Promise<void> {\n // Sort operations: directories first, then files\n const sorted = [...operations].sort((a, b) => {\n if (a.type === 'mkdir' && b.type !== 'mkdir') return -1;\n if (a.type !== 'mkdir' && b.type === 'mkdir') return 1;\n return 0;\n });\n\n for (const op of sorted) {\n if (op.type === 'mkdir') {\n await fs.mkdir(op.path, { recursive: true });\n } else if (op.type === 'write' && op.content !== undefined) {\n // Check if file exists and we shouldn't overwrite\n if (!this.options.overwrite) {\n try {\n await fs.access(op.path);\n continue; // File exists, skip\n } catch {\n // File doesn't exist, proceed\n }\n }\n await fs.writeFile(op.path, op.content, 'utf-8');\n }\n }\n }\n\n /**\n * Find items that depend on a given component/block.\n */\n private async findDependents(name: string, type: 'component' | 'block'): Promise<string[]> {\n const dependents: string[] = [];\n\n if (!this.lockfile) return dependents;\n\n // Check all installed blocks for dependencies\n for (const [blockName, _block] of Object.entries(this.lockfile.blocks)) {\n const blockDef = await this.registryManager.getBlock(blockName);\n if (!blockDef) continue;\n\n if (type === 'component' && blockDef.dependencies.components.includes(name)) {\n dependents.push(blockName);\n }\n if (type === 'block' && blockDef.dependencies.blocks.includes(name)) {\n dependents.push(blockName);\n }\n }\n\n // Check components for component dependencies\n if (type === 'component') {\n for (const [compName, _comp] of Object.entries(this.lockfile.components)) {\n const compDef = await this.registryManager.getComponent(compName);\n if (!compDef) continue;\n\n if (compDef.dependencies.components.includes(name)) {\n dependents.push(compName);\n }\n }\n }\n\n return dependents;\n }\n\n // ===========================================================================\n // LOCKFILE MANAGEMENT\n // ===========================================================================\n\n /**\n * Load lockfile from disk.\n */\n private async loadLockfile(): Promise<void> {\n if (this.lockfile) return;\n\n try {\n const content = await fs.readFile(this.lockfilePath, 'utf-8');\n this.lockfile = JSON.parse(content);\n } catch {\n // Create new lockfile if it doesn't exist\n this.lockfile = {\n version: '1.0.0',\n components: {},\n blocks: {},\n themes: [],\n };\n }\n }\n\n /**\n * Save lockfile to disk.\n */\n private async saveLockfile(): Promise<void> {\n if (!this.lockfile) return;\n\n await fs.writeFile(this.lockfilePath, JSON.stringify(this.lockfile, null, 2), 'utf-8');\n }\n\n /**\n * Get current lockfile.\n */\n async getLockfile(): Promise<PrismLockfile> {\n await this.loadLockfile();\n return this.lockfile!;\n }\n\n /**\n * List installed components.\n */\n async listInstalled(): Promise<{\n components: InstalledComponent[];\n blocks: InstalledBlock[];\n }> {\n await this.loadLockfile();\n return {\n components: Object.values(this.lockfile!.components),\n blocks: Object.values(this.lockfile!.blocks),\n };\n }\n}\n\n// =============================================================================\n// FACTORY\n// =============================================================================\n\n/**\n * Create a new installer instance.\n */\nexport function createInstaller(registryManager: RegistryManager, options?: InstallerOptions): PrismInstaller {\n return new PrismInstaller(registryManager, options);\n}\n","/**\n * Prism Registry Module\n *\n * Component and block registry system for the Prism design framework.\n * Enables shadcn/ui-style copy-paste installation with dependency resolution.\n *\n * @module @omnitron-dev/prism/registry\n */\n\n// =============================================================================\n// REGISTRY MANAGER\n// =============================================================================\n\nexport { RegistryManager, registry, createRegistryManager } from './manager.js';\n\nexport type { RegistryManagerOptions, SearchOptions, ResolvedItem } from './manager.js';\n\n// =============================================================================\n// INSTALLER\n// =============================================================================\n\nexport { PrismInstaller, createInstaller } from './installer.js';\n\nexport type { InstallerOptions, InstallResult } from './installer.js';\n\n// =============================================================================\n// DEFAULT REGISTRY SCHEMA\n// =============================================================================\n\nimport type { RegistrySchema } from '../types/registry.js';\n\n/**\n * Default Prism registry schema.\n * Defines the structure for the base component and block registry.\n */\nexport const defaultRegistrySchema: RegistrySchema = {\n $schema: 'https://prism.omnitron.dev/registry/v1/schema.json',\n name: 'prism',\n version: '1.0.0',\n description: 'Official Prism Design System Registry',\n baseUrl: 'https://registry.prism.omnitron.dev',\n components: {\n // Input Components\n button: {\n name: 'button',\n version: '1.0.0',\n category: 'inputs',\n displayName: 'Button',\n description: 'Primary action button with multiple variants',\n files: [\n { path: 'Button.tsx', type: 'component' },\n { path: 'Button.types.ts', type: 'types' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n docs: 'https://docs.prism.omnitron.dev/components/button',\n },\n 'icon-button': {\n name: 'icon-button',\n version: '1.0.0',\n category: 'inputs',\n displayName: 'Icon Button',\n description: 'Compact button for icon-only actions',\n files: [\n { path: 'IconButton.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n },\n 'text-field': {\n name: 'text-field',\n version: '1.0.0',\n category: 'inputs',\n displayName: 'Text Field',\n description: 'Text input with label and helper text',\n files: [\n { path: 'TextField.tsx', type: 'component' },\n { path: 'TextField.types.ts', type: 'types' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n },\n select: {\n name: 'select',\n version: '1.0.0',\n category: 'inputs',\n displayName: 'Select',\n description: 'Dropdown selection component',\n files: [\n { path: 'Select.tsx', type: 'component' },\n { path: 'Select.types.ts', type: 'types' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n },\n checkbox: {\n name: 'checkbox',\n version: '1.0.0',\n category: 'inputs',\n displayName: 'Checkbox',\n description: 'Checkbox input for boolean values',\n files: [\n { path: 'Checkbox.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n switch: {\n name: 'switch',\n version: '1.0.0',\n category: 'inputs',\n displayName: 'Switch',\n description: 'Toggle switch for on/off states',\n files: [\n { path: 'Switch.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n\n // Data Display\n avatar: {\n name: 'avatar',\n version: '1.0.0',\n category: 'data-display',\n displayName: 'Avatar',\n description: 'User avatar with image or initials',\n files: [\n { path: 'Avatar.tsx', type: 'component' },\n { path: 'AvatarGroup.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n },\n badge: {\n name: 'badge',\n version: '1.0.0',\n category: 'data-display',\n displayName: 'Badge',\n description: 'Badge for notifications and status',\n files: [\n { path: 'Badge.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n },\n chip: {\n name: 'chip',\n version: '1.0.0',\n category: 'data-display',\n displayName: 'Chip',\n description: 'Compact element for tags and selections',\n files: [\n { path: 'Chip.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n },\n tooltip: {\n name: 'tooltip',\n version: '1.0.0',\n category: 'data-display',\n displayName: 'Tooltip',\n description: 'Informative tooltip on hover',\n files: [\n { path: 'Tooltip.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n\n // Feedback\n alert: {\n name: 'alert',\n version: '1.0.0',\n category: 'feedback',\n displayName: 'Alert',\n description: 'Alert messages with severity levels',\n files: [\n { path: 'Alert.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n },\n snackbar: {\n name: 'snackbar',\n version: '1.0.0',\n category: 'feedback',\n displayName: 'Snackbar',\n description: 'Brief notification messages',\n files: [\n { path: 'Snackbar.tsx', type: 'component' },\n { path: 'SnackbarProvider.tsx', type: 'component' },\n { path: 'useSnackbar.ts', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material', 'notistack'],\n components: [],\n },\n hasVariants: false,\n },\n dialog: {\n name: 'dialog',\n version: '1.0.0',\n category: 'feedback',\n displayName: 'Dialog',\n description: 'Modal dialog with actions',\n files: [\n { path: 'Dialog.tsx', type: 'component' },\n { path: 'ConfirmDialog.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: ['button'],\n },\n hasVariants: false,\n },\n progress: {\n name: 'progress',\n version: '1.0.0',\n category: 'feedback',\n displayName: 'Progress',\n description: 'Progress indicators (linear and circular)',\n files: [\n { path: 'LinearProgress.tsx', type: 'component' },\n { path: 'CircularProgress.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n\n // Surfaces\n card: {\n name: 'card',\n version: '1.0.0',\n category: 'surfaces',\n displayName: 'Card',\n description: 'Content card with header, content, and actions',\n files: [\n { path: 'Card.tsx', type: 'component' },\n { path: 'Card.types.ts', type: 'types' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n },\n paper: {\n name: 'paper',\n version: '1.0.0',\n category: 'surfaces',\n displayName: 'Paper',\n description: 'Basic surface with elevation',\n files: [\n { path: 'Paper.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n accordion: {\n name: 'accordion',\n version: '1.0.0',\n category: 'surfaces',\n displayName: 'Accordion',\n description: 'Expandable content panels',\n files: [\n { path: 'Accordion.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n\n // Navigation\n tabs: {\n name: 'tabs',\n version: '1.0.0',\n category: 'navigation',\n displayName: 'Tabs',\n description: 'Tabbed navigation component',\n files: [\n { path: 'Tabs.tsx', type: 'component' },\n { path: 'TabPanel.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: true,\n },\n breadcrumbs: {\n name: 'breadcrumbs',\n version: '1.0.0',\n category: 'navigation',\n displayName: 'Breadcrumbs',\n description: 'Navigation breadcrumb trail',\n files: [\n { path: 'Breadcrumbs.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n menu: {\n name: 'menu',\n version: '1.0.0',\n category: 'navigation',\n displayName: 'Menu',\n description: 'Dropdown menu for actions',\n files: [\n { path: 'Menu.tsx', type: 'component' },\n { path: 'MenuItem.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n\n // Layout\n stack: {\n name: 'stack',\n version: '1.0.0',\n category: 'layout',\n displayName: 'Stack',\n description: 'Vertical/horizontal flex layout',\n files: [\n { path: 'Stack.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n grid: {\n name: 'grid',\n version: '1.0.0',\n category: 'layout',\n displayName: 'Grid',\n description: 'Responsive grid layout',\n files: [\n { path: 'Grid.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n container: {\n name: 'container',\n version: '1.0.0',\n category: 'layout',\n displayName: 'Container',\n description: 'Centered content container',\n files: [\n { path: 'Container.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n divider: {\n name: 'divider',\n version: '1.0.0',\n category: 'layout',\n displayName: 'Divider',\n description: 'Visual separator',\n files: [\n { path: 'Divider.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n\n // Data\n 'data-table': {\n name: 'data-table',\n version: '1.0.0',\n category: 'data',\n displayName: 'Data Table',\n description: 'Full-featured data table with sorting, filtering, pagination',\n files: [\n { path: 'DataTable.tsx', type: 'component' },\n { path: 'DataTable.types.ts', type: 'types' },\n { path: 'DataTableToolbar.tsx', type: 'component' },\n { path: 'DataTablePagination.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material', '@tanstack/react-table'],\n components: ['button', 'text-field', 'select', 'checkbox', 'menu'],\n },\n hasVariants: true,\n docs: 'https://docs.prism.omnitron.dev/components/data-table',\n },\n table: {\n name: 'table',\n version: '1.0.0',\n category: 'data',\n displayName: 'Table',\n description: 'Basic table component',\n files: [\n { path: 'Table.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n list: {\n name: 'list',\n version: '1.0.0',\n category: 'data',\n displayName: 'List',\n description: 'Vertical list of items',\n files: [\n { path: 'List.tsx', type: 'component' },\n { path: 'ListItem.tsx', type: 'component' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material'],\n components: [],\n },\n hasVariants: false,\n },\n },\n blocks: {\n // Dashboard blocks\n 'dashboard-layout': {\n name: 'dashboard-layout',\n version: '1.0.0',\n category: 'layouts',\n displayName: 'Dashboard Layout',\n description: 'Complete dashboard layout with sidebar and header',\n files: [\n { path: 'DashboardLayout.tsx', type: 'component' },\n { path: 'DashboardLayout.types.ts', type: 'type' },\n { path: 'Sidebar.tsx', type: 'component' },\n { path: 'Header.tsx', type: 'component' },\n { path: 'NavSection.tsx', type: 'component' },\n { path: 'NavItem.tsx', type: 'component' },\n { path: 'useDashboard.ts', type: 'hook' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material', 'framer-motion'],\n components: ['avatar', 'menu', 'icon-button', 'tooltip'],\n blocks: [],\n },\n defaultConfig: {\n sidebarWidth: 280,\n headerHeight: 64,\n collapsedWidth: 72,\n },\n docs: 'https://docs.prism.omnitron.dev/blocks/dashboard-layout',\n },\n 'auth-forms': {\n name: 'auth-forms',\n version: '1.0.0',\n category: 'auth',\n displayName: 'Authentication Forms',\n description: 'Login, register, forgot password, and verify forms',\n files: [\n { path: 'LoginForm.tsx', type: 'component' },\n { path: 'RegisterForm.tsx', type: 'component' },\n { path: 'ForgotPasswordForm.tsx', type: 'component' },\n { path: 'VerifyCodeForm.tsx', type: 'component' },\n { path: 'auth.schema.ts', type: 'schema' },\n { path: 'useAuthForm.ts', type: 'hook' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material', 'react-hook-form', '@hookform/resolvers', 'zod'],\n components: ['button', 'text-field', 'checkbox', 'alert'],\n blocks: [],\n },\n defaultConfig: {\n showSocialLogin: true,\n showRememberMe: true,\n },\n },\n 'settings-panel': {\n name: 'settings-panel',\n version: '1.0.0',\n category: 'settings',\n displayName: 'Settings Panel',\n description: 'Theme settings panel with live preview',\n files: [\n { path: 'SettingsPanel.tsx', type: 'component' },\n { path: 'SettingsDrawer.tsx', type: 'component' },\n { path: 'ThemePreview.tsx', type: 'component' },\n { path: 'useSettings.ts', type: 'hook' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material', 'framer-motion'],\n components: ['button', 'switch', 'select', 'icon-button'],\n blocks: [],\n },\n defaultConfig: {\n position: 'right',\n },\n },\n 'user-profile': {\n name: 'user-profile',\n version: '1.0.0',\n category: 'data',\n displayName: 'User Profile',\n description: 'User profile page with avatar, info, and settings',\n files: [\n { path: 'ProfilePage.tsx', type: 'component' },\n { path: 'ProfileHeader.tsx', type: 'component' },\n { path: 'ProfileTabs.tsx', type: 'component' },\n { path: 'AccountTab.tsx', type: 'component' },\n { path: 'SecurityTab.tsx', type: 'component' },\n { path: 'NotificationsTab.tsx', type: 'component' },\n { path: 'useProfile.ts', type: 'hook' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material', 'react-hook-form'],\n components: ['avatar', 'button', 'tabs', 'card', 'text-field', 'switch'],\n blocks: [],\n },\n defaultConfig: {},\n },\n 'data-grid': {\n name: 'data-grid',\n version: '1.0.0',\n category: 'data',\n displayName: 'Data Grid',\n description: 'Advanced data grid with server-side features',\n files: [\n { path: 'DataGrid.tsx', type: 'component' },\n { path: 'DataGrid.types.ts', type: 'type' },\n { path: 'GridToolbar.tsx', type: 'component' },\n { path: 'GridFilters.tsx', type: 'component' },\n { path: 'GridExport.tsx', type: 'component' },\n { path: 'useDataGrid.ts', type: 'hook' },\n { path: 'index.ts', type: 'barrel' },\n ],\n dependencies: {\n npm: ['@mui/material', '@tanstack/react-table', '@tanstack/react-virtual'],\n components: ['button', 'text-field', 'select', 'checkbox', 'menu', 'chip'],\n blocks: [],\n },\n defaultConfig: {\n pageSize: 25,\n enableColumnResize: true,\n enableColumnReorder: true,\n },\n },\n },\n themes: {},\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/state/create-store.ts","../src/state/stores/settings.ts"],"names":[],"mappings":"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","file":"chunk-DDY7TLUI.js","sourcesContent":["/**\n * Prism Store Factory\n *\n * Creates Zustand stores with sensible defaults:\n * - Immer middleware for immutable updates\n * - DevTools integration\n * - Optional persistence\n *\n * @module @omnitron-dev/prism/state\n */\n\nimport { create, type StateCreator, type StoreApi, type UseBoundStore } from 'zustand';\nimport { devtools, persist, type PersistOptions, type DevtoolsOptions } from 'zustand/middleware';\nimport { immer } from 'zustand/middleware/immer';\n\n/**\n * Options for creating a Prism store.\n */\nexport interface CreateStoreOptions<T> {\n /** Store name for DevTools and persistence */\n name: string;\n /** Enable persistence to localStorage */\n persist?: boolean | Partial<PersistOptions<T>>;\n /** Enable Redux DevTools (default: true in development) */\n devtools?: boolean;\n}\n\n/**\n * Middleware type helpers for proper typing.\n */\ntype ImmerMiddleware = ['zustand/immer', never];\ntype DevtoolsMiddleware = ['zustand/devtools', never];\ntype PersistMiddleware<T> = ['zustand/persist', T];\n\n/**\n * Creates a Zustand store with Prism defaults.\n *\n * @example\n * ```typescript\n * interface CounterState {\n * count: number;\n * increment: () => void;\n * decrement: () => void;\n * }\n *\n * export const useCounterStore = createPrismStore<CounterState>(\n * (set) => ({\n * count: 0,\n * increment: () => set((state) => { state.count += 1; }),\n * decrement: () => set((state) => { state.count -= 1; }),\n * }),\n * { name: 'counter', persist: true }\n * );\n * ```\n */\nexport function createPrismStore<T extends object>(\n initializer: StateCreator<T, [ImmerMiddleware], []>,\n options: CreateStoreOptions<T>\n) {\n const { name, persist: persistOption, devtools: devtoolsOption = true } = options;\n const enableDevtools = devtoolsOption && typeof window !== 'undefined';\n\n // Prepare persist config\n const persistConfig: PersistOptions<T> | null = persistOption\n ? {\n name: `prism-${name}`,\n ...(typeof persistOption === 'object' ? persistOption : {}),\n }\n : null;\n\n // Prepare devtools config\n const devtoolsConfig: DevtoolsOptions = { name: `Prism:${name}` };\n\n // Create store based on which middleware are enabled\n // Using explicit middleware chains for proper type inference\n if (persistConfig && enableDevtools) {\n return create<T>()(devtools(persist(immer(initializer), persistConfig), devtoolsConfig));\n }\n\n if (persistConfig) {\n return create<T>()(persist(immer(initializer), persistConfig));\n }\n\n if (enableDevtools) {\n return create<T>()(devtools(immer(initializer), devtoolsConfig));\n }\n\n // No middleware except immer\n return create<T>()(immer(initializer));\n}\n\n/**\n * Creates a simple store without persistence (for UI-only state).\n */\nexport function createUIStore<T extends object>(initializer: StateCreator<T, [ImmerMiddleware], []>, name: string) {\n return createPrismStore(initializer, { name, persist: false });\n}\n\n/**\n * Creates a persisted store (for settings, preferences).\n *\n * Includes a storage wrapper that catches errors from localStorage\n * (e.g., private browsing, quota exceeded) and falls back gracefully.\n */\nexport function createPersistedStore<T extends object>(\n initializer: StateCreator<T, [ImmerMiddleware], []>,\n name: string,\n persistOptions?: Partial<PersistOptions<T>>\n) {\n return createPrismStore(initializer, {\n name,\n persist: {\n version: 1,\n storage: {\n getItem: (key) => {\n try {\n const value = localStorage.getItem(key);\n return value ? JSON.parse(value) : null;\n } catch {\n return null;\n }\n },\n setItem: (key, value) => {\n try {\n localStorage.setItem(key, JSON.stringify(value));\n } catch {\n // Silently fail (private browsing, quota exceeded)\n }\n },\n removeItem: (key) => {\n try {\n localStorage.removeItem(key);\n } catch {\n // Silently fail\n }\n },\n },\n ...persistOptions,\n },\n });\n}\n\n/**\n * Selector type for store state.\n */\nexport type StoreSelector<T, U> = (state: T) => U;\n\n/**\n * Helper to create typed selectors for a store.\n *\n * @example\n * ```typescript\n * const selectors = createSelectors(useUserStore);\n * const userName = selectors.use.name();\n * ```\n */\nexport function createSelectors<T extends object>(store: UseBoundStore<StoreApi<T>>) {\n const storeIn = store as UseBoundStore<StoreApi<T>> & {\n use: { [K in keyof T]: () => T[K] };\n };\n\n // Use Proxy so selectors work for dynamically added state keys,\n // not just keys present at creation time\n storeIn.use = new Proxy({} as { [K in keyof T]: () => T[K] }, {\n get: (_target, prop: string | symbol) => {\n if (typeof prop !== 'string') return undefined;\n return () => store((state: T) => state[prop as keyof T]);\n },\n });\n\n return storeIn;\n}\n","/**\n * Settings Store\n *\n * Comprehensive settings management with persistence.\n * Combines theme preferences with layout and navigation settings.\n *\n * @module @omnitron-dev/prism/state/stores/settings\n */\n\nimport { createPersistedStore, createSelectors } from '../create-store.js';\nimport type { ThemePreset, ThemeMode, ThemeDirection, ComponentDensity } from '../../types/theme.js';\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\n/**\n * Navigation layout options for dashboard.\n */\nexport type NavLayout = 'vertical' | 'horizontal' | 'mini';\n\n/**\n * Navigation color scheme.\n */\nexport type NavColor = 'integrate' | 'apparent';\n\n/**\n * Settings state and actions.\n */\nexport interface SettingsState {\n // Theme\n /** Current theme mode */\n mode: ThemeMode;\n /** Current theme preset */\n preset: ThemePreset;\n /** Primary color override (hex) */\n primaryColor: string | null;\n /** High contrast mode */\n contrast: 'default' | 'high';\n /** Text direction */\n direction: ThemeDirection;\n\n // Typography\n /** Base font size (12-20) */\n fontSize: number;\n /** Font family override */\n fontFamily: string | null;\n\n // Layout\n /** Component density */\n density: ComponentDensity;\n /** Compact sidebar (deprecated — use sidebarCollapsed) */\n compactSidebar: boolean;\n /** Per-layout sidebar collapsed state (keyed by persistKey) */\n sidebarCollapsed: Record<string, boolean>;\n /** Dashboard navigation layout */\n navLayout: NavLayout;\n /** Navigation color scheme */\n navColor: NavColor;\n /** Stretch content to full width */\n stretch: boolean;\n\n /** Per-table rows-per-page preference (keyed by table ID) */\n tableRowsPerPage: Record<string, number>;\n\n // Actions\n setMode: (mode: ThemeMode) => void;\n toggleMode: () => void;\n setPreset: (preset: ThemePreset) => void;\n setPrimaryColor: (color: string | null) => void;\n setContrast: (contrast: 'default' | 'high') => void;\n setDirection: (direction: ThemeDirection) => void;\n setFontSize: (size: number) => void;\n setFontFamily: (family: string | null) => void;\n setDensity: (density: ComponentDensity) => void;\n setCompactSidebar: (compact: boolean) => void;\n setSidebarCollapsed: (key: string, collapsed: boolean) => void;\n getSidebarCollapsed: (key: string) => boolean;\n setNavLayout: (layout: NavLayout) => void;\n setNavColor: (color: NavColor) => void;\n setStretch: (stretch: boolean) => void;\n setTableRowsPerPage: (tableId: string, rows: number) => void;\n getTableRowsPerPage: (tableId: string, fallback?: number) => number;\n updateSettings: (updates: Partial<SettingsValues>) => void;\n reset: () => void;\n canReset: () => boolean;\n}\n\n/**\n * Settings values (state without actions).\n */\nexport type SettingsValues = Omit<\n SettingsState,\n | 'setMode'\n | 'toggleMode'\n | 'setPreset'\n | 'setPrimaryColor'\n | 'setContrast'\n | 'setDirection'\n | 'setFontSize'\n | 'setFontFamily'\n | 'setDensity'\n | 'setCompactSidebar'\n | 'setSidebarCollapsed'\n | 'getSidebarCollapsed'\n | 'setNavLayout'\n | 'setNavColor'\n | 'setStretch'\n | 'setTableRowsPerPage'\n | 'getTableRowsPerPage'\n | 'updateSettings'\n | 'reset'\n | 'canReset'\n>;\n\n// =============================================================================\n// DEFAULT STATE\n// =============================================================================\n\nconst defaultSettings: SettingsValues = {\n // Theme\n mode: 'light',\n preset: 'default-light',\n primaryColor: null,\n contrast: 'default',\n direction: 'ltr',\n\n // Typography\n fontSize: 16,\n fontFamily: null, // null = use Prism default (Nunito Sans Variable)\n\n // Layout\n density: 'standard',\n compactSidebar: false,\n sidebarCollapsed: {},\n navLayout: 'vertical',\n navColor: 'integrate',\n stretch: true,\n tableRowsPerPage: {},\n};\n\n// =============================================================================\n// STORE\n// =============================================================================\n\n/**\n * Settings store with persistence.\n *\n * @example\n * ```tsx\n * function SettingsPanel() {\n * const { mode, setMode, preset, setPreset, canReset, reset } = useSettingsStore();\n *\n * return (\n * <div>\n * <Switch checked={mode === 'dark'} onChange={() => setMode(mode === 'dark' ? 'light' : 'dark')} />\n * <Select value={preset} onChange={(e) => setPreset(e.target.value as ThemePreset)}>\n * <MenuItem value=\"default-light\">Light</MenuItem>\n * <MenuItem value=\"luxury\">Luxury</MenuItem>\n * </Select>\n * {canReset() && <Button onClick={reset}>Reset</Button>}\n * </div>\n * );\n * }\n * ```\n */\nexport const useSettingsStore = createPersistedStore<SettingsState>(\n (set, get) => ({\n ...defaultSettings,\n\n // Theme actions\n setMode: (mode) => set({ mode }),\n toggleMode: () =>\n set((state) => {\n state.mode = state.mode === 'light' ? 'dark' : 'light';\n }),\n setPreset: (preset) => set({ preset }),\n setPrimaryColor: (primaryColor) => set({ primaryColor }),\n setContrast: (contrast) => set({ contrast }),\n setDirection: (direction) => set({ direction }),\n\n // Typography actions\n setFontSize: (fontSize) => set({ fontSize: Math.min(20, Math.max(12, fontSize)) }),\n setFontFamily: (fontFamily) => set({ fontFamily }),\n\n // Layout actions\n setDensity: (density) => set({ density }),\n setCompactSidebar: (compactSidebar) => set({ compactSidebar }),\n setSidebarCollapsed: (key, collapsed) =>\n set((state) => {\n state.sidebarCollapsed = { ...state.sidebarCollapsed, [key]: collapsed };\n }),\n getSidebarCollapsed: (key) => get().sidebarCollapsed[key] ?? false,\n setNavLayout: (navLayout) => set({ navLayout }),\n setNavColor: (navColor) => set({ navColor }),\n setStretch: (stretch) => set({ stretch }),\n setTableRowsPerPage: (tableId, rows) =>\n set((state) => {\n state.tableRowsPerPage = { ...state.tableRowsPerPage, [tableId]: rows };\n }),\n getTableRowsPerPage: (tableId, fallback = 25) => get().tableRowsPerPage[tableId] ?? fallback,\n\n // Batch update\n updateSettings: (updates) => set(updates),\n\n // Reset\n reset: () => set(defaultSettings),\n canReset: () => {\n const state = get();\n return Object.keys(defaultSettings).some(\n (key) => state[key as keyof SettingsValues] !== defaultSettings[key as keyof SettingsValues]\n );\n },\n }),\n 'settings'\n);\n\n/**\n * Settings store with auto-generated selectors.\n *\n * @example\n * ```tsx\n * const mode = settingsStore.use.mode();\n * const preset = settingsStore.use.preset();\n * ```\n */\nexport const settingsStore = createSelectors(useSettingsStore);\n\n/**\n * Get default settings values.\n */\nexport function getDefaultSettings(): SettingsValues {\n return { ...defaultSettings };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/hooks/use-boolean.ts"],"names":[],"mappings":";;AAiEO,SAAS,UAAA,CAAW,eAAe,KAAA,EAAyB;AACjE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,YAAY,CAAA;AAE/C,EAAA,MAAM,MAAA,GAAS,YAAY,MAAM;AAC/B,IAAA,QAAA,CAAS,IAAI,CAAA;AAAA,EACf,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,OAAA,GAAU,YAAY,MAAM;AAChC,IAAA,QAAA,CAAS,KAAK,CAAA;AAAA,EAChB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,QAAA,GAAW,YAAY,MAAM;AACjC,IAAA,QAAA,CAAS,CAAC,IAAA,KAAS,CAAC,IAAI,CAAA;AAAA,EAC1B,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,OAAO,OAAA;AAAA,IACL,OAAO;AAAA,MACL,KAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,KAAA,EAAO,MAAA,EAAQ,OAAA,EAAS,QAAQ;AAAA,GACnC;AACF","file":"chunk-HO2GKTWJ.js","sourcesContent":["'use client';\n\n/**\n * useBoolean Hook\n *\n * A hook for managing boolean state with convenient toggle methods.\n *\n * @module @omnitron-dev/prism/core/hooks/use-boolean\n */\n\nimport { useState, useCallback, useMemo } from 'react';\n\n/**\n * Return type for useBoolean hook.\n */\nexport interface UseBooleanReturn {\n /** Current boolean value */\n value: boolean;\n /** Set value to true */\n onTrue: () => void;\n /** Set value to false */\n onFalse: () => void;\n /** Toggle the value */\n onToggle: () => void;\n /** Set to specific value */\n setValue: (value: boolean) => void;\n}\n\n/**\n * Hook for managing boolean state with convenient toggle methods.\n *\n * @param defaultValue - Initial boolean value (default: false)\n * @returns Boolean state and control methods\n *\n * @example\n * ```tsx\n * function Modal() {\n * const dialog = useBoolean();\n *\n * return (\n * <>\n * <Button onClick={dialog.onTrue}>Open</Button>\n * <Dialog open={dialog.value} onClose={dialog.onFalse}>\n * <DialogContent>...</DialogContent>\n * </Dialog>\n * </>\n * );\n * }\n * ```\n *\n * @example\n * ```tsx\n * function Sidebar() {\n * const { value: isCollapsed, onToggle } = useBoolean(false);\n *\n * return (\n * <nav style={{ width: isCollapsed ? 64 : 240 }}>\n * <IconButton onClick={onToggle}>\n * {isCollapsed ? <MenuIcon /> : <CloseIcon />}\n * </IconButton>\n * </nav>\n * );\n * }\n * ```\n */\nexport function useBoolean(defaultValue = false): UseBooleanReturn {\n const [value, setValue] = useState(defaultValue);\n\n const onTrue = useCallback(() => {\n setValue(true);\n }, []);\n\n const onFalse = useCallback(() => {\n setValue(false);\n }, []);\n\n const onToggle = useCallback(() => {\n setValue((prev) => !prev);\n }, []);\n\n return useMemo(\n () => ({\n value,\n onTrue,\n onFalse,\n onToggle,\n setValue,\n }),\n [value, onTrue, onFalse, onToggle]\n );\n}\n"]}
|