@tachui/core 0.7.0-alpha1 → 0.7.1-alpha
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/README.md +195 -0
- package/dist/ScrollView-h-6wYMAm.js +515 -0
- package/dist/Spacer-BbteDQ9I.js +5337 -0
- package/dist/binding-CmdpowkI.js +2276 -0
- package/dist/bundles/minimal.d.ts +30 -4
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/common.js +825 -954
- package/dist/compiler/index.js +1386 -10
- package/dist/components/index.js +4166 -101
- package/dist/concatenated-component-DPcl2TEO.js +6779 -0
- package/dist/{runtime/context.js → context--zQFIImS.js} +65 -71
- package/dist/debug.js +0 -1
- package/dist/dom-bridge-Cx-s6Ihx.js +406 -0
- package/dist/effect-CytAc9em.js +66 -0
- package/dist/essential.js +825 -954
- package/dist/index-Nfi2SBQh.js +3268 -0
- package/dist/index.js +825 -954
- package/dist/minimal-prod.js +162 -191
- package/dist/minimal.js +183 -957
- package/dist/modifiers/responsive/index.d.ts +10 -9
- package/dist/modifiers/responsive/index.d.ts.map +1 -1
- package/dist/plugins/index.js +543 -32
- package/dist/reactive/index.js +490 -93
- package/dist/runtime/dom-bridge.js +12 -239
- package/dist/runtime/renderer.js +8 -388
- package/dist/scheduler-7SvC3a21.js +814 -0
- package/dist/validation/index.js +6614 -198
- package/dist/viewport/index.js +2002 -83
- package/package.json +3 -4
- package/dist/assets/Asset.cjs +0 -2
- package/dist/assets/Asset.cjs.map +0 -1
- package/dist/assets/Asset.js +0 -9
- package/dist/assets/Asset.js.map +0 -1
- package/dist/assets/AssetCollection.cjs +0 -2
- package/dist/assets/AssetCollection.cjs.map +0 -1
- package/dist/assets/AssetCollection.js +0 -44
- package/dist/assets/AssetCollection.js.map +0 -1
- package/dist/assets/ColorAsset.cjs +0 -2
- package/dist/assets/ColorAsset.cjs.map +0 -1
- package/dist/assets/ColorAsset.js +0 -114
- package/dist/assets/ColorAsset.js.map +0 -1
- package/dist/assets/FontAsset.cjs +0 -9
- package/dist/assets/FontAsset.cjs.map +0 -1
- package/dist/assets/FontAsset.js +0 -173
- package/dist/assets/FontAsset.js.map +0 -1
- package/dist/assets/ImageAsset.cjs +0 -2
- package/dist/assets/ImageAsset.cjs.map +0 -1
- package/dist/assets/ImageAsset.js +0 -39
- package/dist/assets/ImageAsset.js.map +0 -1
- package/dist/assets/index.cjs +0 -2
- package/dist/assets/index.cjs.map +0 -1
- package/dist/assets/index.js +0 -119
- package/dist/assets/index.js.map +0 -1
- package/dist/common.cjs +0 -2
- package/dist/common.cjs.map +0 -1
- package/dist/common.js.map +0 -1
- package/dist/compiler/advanced-parser.cjs +0 -5
- package/dist/compiler/advanced-parser.cjs.map +0 -1
- package/dist/compiler/advanced-parser.js +0 -440
- package/dist/compiler/advanced-parser.js.map +0 -1
- package/dist/compiler/codegen.cjs +0 -6
- package/dist/compiler/codegen.cjs.map +0 -1
- package/dist/compiler/codegen.js +0 -241
- package/dist/compiler/codegen.js.map +0 -1
- package/dist/compiler/enhanced-codegen.cjs +0 -6
- package/dist/compiler/enhanced-codegen.cjs.map +0 -1
- package/dist/compiler/enhanced-codegen.js +0 -347
- package/dist/compiler/enhanced-codegen.js.map +0 -1
- package/dist/compiler/index.cjs +0 -2
- package/dist/compiler/index.cjs.map +0 -1
- package/dist/compiler/index.js.map +0 -1
- package/dist/compiler/parser.cjs +0 -5
- package/dist/compiler/parser.cjs.map +0 -1
- package/dist/compiler/parser.js +0 -275
- package/dist/compiler/parser.js.map +0 -1
- package/dist/compiler/plugin.cjs +0 -33
- package/dist/compiler/plugin.cjs.map +0 -1
- package/dist/compiler/plugin.js +0 -103
- package/dist/compiler/plugin.js.map +0 -1
- package/dist/components/BasicInput.cjs +0 -2
- package/dist/components/BasicInput.cjs.map +0 -1
- package/dist/components/BasicInput.js +0 -182
- package/dist/components/BasicInput.js.map +0 -1
- package/dist/components/Button.cjs +0 -7
- package/dist/components/Button.cjs.map +0 -1
- package/dist/components/Button.js +0 -408
- package/dist/components/Button.js.map +0 -1
- package/dist/components/Divider.cjs +0 -2
- package/dist/components/Divider.cjs.map +0 -1
- package/dist/components/Divider.js +0 -187
- package/dist/components/Divider.js.map +0 -1
- package/dist/components/EnhancedLink.cjs +0 -2
- package/dist/components/EnhancedLink.cjs.map +0 -1
- package/dist/components/EnhancedLink.js +0 -345
- package/dist/components/EnhancedLink.js.map +0 -1
- package/dist/components/Form.cjs +0 -2
- package/dist/components/Form.cjs.map +0 -1
- package/dist/components/Form.js +0 -244
- package/dist/components/Form.js.map +0 -1
- package/dist/components/Grid.cjs +0 -2
- package/dist/components/Grid.cjs.map +0 -1
- package/dist/components/Grid.js +0 -1045
- package/dist/components/Grid.js.map +0 -1
- package/dist/components/GridResponsive.cjs +0 -2
- package/dist/components/GridResponsive.cjs.map +0 -1
- package/dist/components/GridResponsive.js +0 -382
- package/dist/components/GridResponsive.js.map +0 -1
- package/dist/components/Image.cjs +0 -2
- package/dist/components/Image.cjs.map +0 -1
- package/dist/components/Image.js +0 -212
- package/dist/components/Image.js.map +0 -1
- package/dist/components/List.cjs +0 -2
- package/dist/components/List.cjs.map +0 -1
- package/dist/components/List.js +0 -561
- package/dist/components/List.js.map +0 -1
- package/dist/components/Menu.cjs +0 -2
- package/dist/components/Menu.cjs.map +0 -1
- package/dist/components/Menu.js +0 -443
- package/dist/components/Menu.js.map +0 -1
- package/dist/components/Picker.cjs +0 -2
- package/dist/components/Picker.cjs.map +0 -1
- package/dist/components/Picker.js +0 -478
- package/dist/components/Picker.js.map +0 -1
- package/dist/components/ScrollView.cjs +0 -6
- package/dist/components/ScrollView.cjs.map +0 -1
- package/dist/components/ScrollView.js +0 -363
- package/dist/components/ScrollView.js.map +0 -1
- package/dist/components/Section.cjs +0 -2
- package/dist/components/Section.cjs.map +0 -1
- package/dist/components/Section.js +0 -323
- package/dist/components/Section.js.map +0 -1
- package/dist/components/Show.cjs +0 -2
- package/dist/components/Show.cjs.map +0 -1
- package/dist/components/Show.js +0 -112
- package/dist/components/Show.js.map +0 -1
- package/dist/components/Spacer.cjs +0 -2
- package/dist/components/Spacer.cjs.map +0 -1
- package/dist/components/Spacer.js +0 -53
- package/dist/components/Spacer.js.map +0 -1
- package/dist/components/Text.cjs +0 -2
- package/dist/components/Text.cjs.map +0 -1
- package/dist/components/Text.js +0 -193
- package/dist/components/Text.js.map +0 -1
- package/dist/components/Toggle.cjs +0 -2
- package/dist/components/Toggle.cjs.map +0 -1
- package/dist/components/Toggle.js +0 -477
- package/dist/components/Toggle.js.map +0 -1
- package/dist/components/index.cjs +0 -2
- package/dist/components/index.cjs.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/wrapper.cjs +0 -2
- package/dist/components/wrapper.cjs.map +0 -1
- package/dist/components/wrapper.js +0 -484
- package/dist/components/wrapper.js.map +0 -1
- package/dist/concatenation/concatenatable.cjs +0 -2
- package/dist/concatenation/concatenatable.cjs.map +0 -1
- package/dist/concatenation/concatenatable.js +0 -118
- package/dist/concatenation/concatenatable.js.map +0 -1
- package/dist/concatenation/concatenated-component.cjs +0 -2
- package/dist/concatenation/concatenated-component.cjs.map +0 -1
- package/dist/concatenation/concatenated-component.js +0 -276
- package/dist/concatenation/concatenated-component.js.map +0 -1
- package/dist/concatenation/text-optimizer.cjs +0 -2
- package/dist/concatenation/text-optimizer.cjs.map +0 -1
- package/dist/concatenation/text-optimizer.js +0 -236
- package/dist/concatenation/text-optimizer.js.map +0 -1
- package/dist/concatenation/types.cjs +0 -2
- package/dist/concatenation/types.cjs.map +0 -1
- package/dist/concatenation/types.js +0 -13
- package/dist/concatenation/types.js.map +0 -1
- package/dist/constants/frame-utils.cjs +0 -2
- package/dist/constants/frame-utils.cjs.map +0 -1
- package/dist/constants/frame-utils.js +0 -116
- package/dist/constants/frame-utils.js.map +0 -1
- package/dist/constants/layout.cjs +0 -2
- package/dist/constants/layout.cjs.map +0 -1
- package/dist/constants/layout.js +0 -46
- package/dist/constants/layout.js.map +0 -1
- package/dist/css-classes/component-base.cjs +0 -2
- package/dist/css-classes/component-base.cjs.map +0 -1
- package/dist/css-classes/component-base.js +0 -62
- package/dist/css-classes/component-base.js.map +0 -1
- package/dist/css-classes/css-class-manager.cjs +0 -2
- package/dist/css-classes/css-class-manager.cjs.map +0 -1
- package/dist/css-classes/css-class-manager.js +0 -209
- package/dist/css-classes/css-class-manager.js.map +0 -1
- package/dist/css-classes/dom-integration.cjs +0 -2
- package/dist/css-classes/dom-integration.cjs.map +0 -1
- package/dist/css-classes/dom-integration.js +0 -67
- package/dist/css-classes/dom-integration.js.map +0 -1
- package/dist/css-classes/enhanced-renderer.cjs +0 -2
- package/dist/css-classes/enhanced-renderer.cjs.map +0 -1
- package/dist/css-classes/enhanced-renderer.js +0 -73
- package/dist/css-classes/enhanced-renderer.js.map +0 -1
- package/dist/css-classes/utilities.cjs +0 -2
- package/dist/css-classes/utilities.cjs.map +0 -1
- package/dist/css-classes/utilities.js +0 -41
- package/dist/css-classes/utilities.js.map +0 -1
- package/dist/debug.cjs +0 -52
- package/dist/debug.cjs.map +0 -1
- package/dist/debug.js.map +0 -1
- package/dist/essential.cjs +0 -2
- package/dist/essential.cjs.map +0 -1
- package/dist/essential.js.map +0 -1
- package/dist/gradients/css-generator.cjs +0 -2
- package/dist/gradients/css-generator.cjs.map +0 -1
- package/dist/gradients/css-generator.js +0 -100
- package/dist/gradients/css-generator.js.map +0 -1
- package/dist/gradients/examples.cjs +0 -2
- package/dist/gradients/examples.cjs.map +0 -1
- package/dist/gradients/examples.js +0 -555
- package/dist/gradients/examples.js.map +0 -1
- package/dist/gradients/gradient-asset.cjs +0 -2
- package/dist/gradients/gradient-asset.cjs.map +0 -1
- package/dist/gradients/gradient-asset.js +0 -22
- package/dist/gradients/gradient-asset.js.map +0 -1
- package/dist/gradients/index.cjs +0 -2
- package/dist/gradients/index.cjs.map +0 -1
- package/dist/gradients/index.js +0 -78
- package/dist/gradients/index.js.map +0 -1
- package/dist/gradients/performance.cjs +0 -2
- package/dist/gradients/performance.cjs.map +0 -1
- package/dist/gradients/performance.js +0 -237
- package/dist/gradients/performance.js.map +0 -1
- package/dist/gradients/presets.cjs +0 -2
- package/dist/gradients/presets.cjs.map +0 -1
- package/dist/gradients/presets.js +0 -254
- package/dist/gradients/presets.js.map +0 -1
- package/dist/gradients/reactive.cjs +0 -2
- package/dist/gradients/reactive.cjs.map +0 -1
- package/dist/gradients/reactive.js +0 -239
- package/dist/gradients/reactive.js.map +0 -1
- package/dist/gradients/state-gradient-asset.cjs +0 -2
- package/dist/gradients/state-gradient-asset.cjs.map +0 -1
- package/dist/gradients/state-gradient-asset.js +0 -111
- package/dist/gradients/state-gradient-asset.js.map +0 -1
- package/dist/gradients/utils.cjs +0 -2
- package/dist/gradients/utils.cjs.map +0 -1
- package/dist/gradients/utils.js +0 -385
- package/dist/gradients/utils.js.map +0 -1
- package/dist/gradients/validation.cjs +0 -2
- package/dist/gradients/validation.cjs.map +0 -1
- package/dist/gradients/validation.js +0 -209
- package/dist/gradients/validation.js.map +0 -1
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index2.cjs +0 -2
- package/dist/index2.cjs.map +0 -1
- package/dist/index2.js +0 -293
- package/dist/index2.js.map +0 -1
- package/dist/lifecycle/hooks.cjs +0 -2
- package/dist/lifecycle/hooks.cjs.map +0 -1
- package/dist/lifecycle/hooks.js +0 -159
- package/dist/lifecycle/hooks.js.map +0 -1
- package/dist/minimal-prod.cjs +0 -2
- package/dist/minimal-prod.cjs.map +0 -1
- package/dist/minimal-prod.js.map +0 -1
- package/dist/minimal.cjs +0 -2
- package/dist/minimal.cjs.map +0 -1
- package/dist/minimal.js.map +0 -1
- package/dist/modifiers/as-html-validator.cjs +0 -2
- package/dist/modifiers/as-html-validator.cjs.map +0 -1
- package/dist/modifiers/as-html-validator.js +0 -47
- package/dist/modifiers/as-html-validator.js.map +0 -1
- package/dist/modifiers/as-html.cjs +0 -2
- package/dist/modifiers/as-html.cjs.map +0 -1
- package/dist/modifiers/as-html.js +0 -71
- package/dist/modifiers/as-html.js.map +0 -1
- package/dist/modifiers/attributes.cjs +0 -2
- package/dist/modifiers/attributes.cjs.map +0 -1
- package/dist/modifiers/attributes.js +0 -272
- package/dist/modifiers/attributes.js.map +0 -1
- package/dist/modifiers/backdrop.cjs +0 -2
- package/dist/modifiers/backdrop.cjs.map +0 -1
- package/dist/modifiers/backdrop.js +0 -109
- package/dist/modifiers/backdrop.js.map +0 -1
- package/dist/modifiers/background.cjs +0 -2
- package/dist/modifiers/background.cjs.map +0 -1
- package/dist/modifiers/background.js +0 -67
- package/dist/modifiers/background.js.map +0 -1
- package/dist/modifiers/base.cjs +0 -25
- package/dist/modifiers/base.cjs.map +0 -1
- package/dist/modifiers/base.js +0 -745
- package/dist/modifiers/base.js.map +0 -1
- package/dist/modifiers/basic-sanitizer.cjs +0 -2
- package/dist/modifiers/basic-sanitizer.cjs.map +0 -1
- package/dist/modifiers/basic-sanitizer.js +0 -162
- package/dist/modifiers/basic-sanitizer.js.map +0 -1
- package/dist/modifiers/border.cjs +0 -2
- package/dist/modifiers/border.cjs.map +0 -1
- package/dist/modifiers/border.js +0 -160
- package/dist/modifiers/border.js.map +0 -1
- package/dist/modifiers/builder.cjs +0 -2
- package/dist/modifiers/builder.cjs.map +0 -1
- package/dist/modifiers/builder.js +0 -930
- package/dist/modifiers/builder.js.map +0 -1
- package/dist/modifiers/core.cjs +0 -2
- package/dist/modifiers/core.cjs.map +0 -1
- package/dist/modifiers/core.js +0 -398
- package/dist/modifiers/core.js.map +0 -1
- package/dist/modifiers/css.cjs +0 -2
- package/dist/modifiers/css.cjs.map +0 -1
- package/dist/modifiers/css.js +0 -50
- package/dist/modifiers/css.js.map +0 -1
- package/dist/modifiers/effects.cjs +0 -2
- package/dist/modifiers/effects.cjs.map +0 -1
- package/dist/modifiers/effects.js +0 -178
- package/dist/modifiers/effects.js.map +0 -1
- package/dist/modifiers/elements.cjs +0 -2
- package/dist/modifiers/elements.cjs.map +0 -1
- package/dist/modifiers/elements.js +0 -216
- package/dist/modifiers/elements.js.map +0 -1
- package/dist/modifiers/filters.cjs +0 -2
- package/dist/modifiers/filters.cjs.map +0 -1
- package/dist/modifiers/filters.js +0 -223
- package/dist/modifiers/filters.js.map +0 -1
- package/dist/modifiers/flexbox.cjs +0 -2
- package/dist/modifiers/flexbox.cjs.map +0 -1
- package/dist/modifiers/flexbox.js +0 -56
- package/dist/modifiers/flexbox.js.map +0 -1
- package/dist/modifiers/font.cjs +0 -2
- package/dist/modifiers/font.cjs.map +0 -1
- package/dist/modifiers/font.js +0 -60
- package/dist/modifiers/font.js.map +0 -1
- package/dist/modifiers/grid.cjs +0 -2
- package/dist/modifiers/grid.cjs.map +0 -1
- package/dist/modifiers/grid.js +0 -92
- package/dist/modifiers/grid.js.map +0 -1
- package/dist/modifiers/margin.cjs +0 -2
- package/dist/modifiers/margin.cjs.map +0 -1
- package/dist/modifiers/margin.js +0 -65
- package/dist/modifiers/margin.js.map +0 -1
- package/dist/modifiers/padding.cjs +0 -2
- package/dist/modifiers/padding.cjs.map +0 -1
- package/dist/modifiers/padding.js +0 -109
- package/dist/modifiers/padding.js.map +0 -1
- package/dist/modifiers/registry.cjs +0 -2
- package/dist/modifiers/registry.cjs.map +0 -1
- package/dist/modifiers/registry.js +0 -163
- package/dist/modifiers/registry.js.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.cjs +0 -2
- package/dist/modifiers/responsive/advanced-utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.js +0 -291
- package/dist/modifiers/responsive/advanced-utilities.js.map +0 -1
- package/dist/modifiers/responsive/breakpoints.cjs +0 -2
- package/dist/modifiers/responsive/breakpoints.cjs.map +0 -1
- package/dist/modifiers/responsive/breakpoints.js +0 -168
- package/dist/modifiers/responsive/breakpoints.js.map +0 -1
- package/dist/modifiers/responsive/css-generator.cjs +0 -5
- package/dist/modifiers/responsive/css-generator.cjs.map +0 -1
- package/dist/modifiers/responsive/css-generator.js +0 -261
- package/dist/modifiers/responsive/css-generator.js.map +0 -1
- package/dist/modifiers/responsive/dev-tools.cjs +0 -77
- package/dist/modifiers/responsive/dev-tools.cjs.map +0 -1
- package/dist/modifiers/responsive/dev-tools.js +0 -380
- package/dist/modifiers/responsive/dev-tools.js.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.cjs +0 -2
- package/dist/modifiers/responsive/layout-patterns.cjs.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.js +0 -254
- package/dist/modifiers/responsive/layout-patterns.js.map +0 -1
- package/dist/modifiers/responsive/performance.cjs +0 -3
- package/dist/modifiers/responsive/performance.cjs.map +0 -1
- package/dist/modifiers/responsive/performance.js +0 -212
- package/dist/modifiers/responsive/performance.js.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.cjs +0 -2
- package/dist/modifiers/responsive/responsive-builder.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.js +0 -272
- package/dist/modifiers/responsive/responsive-builder.js.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.cjs +0 -3
- package/dist/modifiers/responsive/responsive-modifier.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.js +0 -204
- package/dist/modifiers/responsive/responsive-modifier.js.map +0 -1
- package/dist/modifiers/responsive/types.cjs +0 -2
- package/dist/modifiers/responsive/types.cjs.map +0 -1
- package/dist/modifiers/responsive/types.js +0 -26
- package/dist/modifiers/responsive/types.js.map +0 -1
- package/dist/modifiers/responsive/utilities.cjs +0 -16
- package/dist/modifiers/responsive/utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/utilities.js +0 -273
- package/dist/modifiers/responsive/utilities.js.map +0 -1
- package/dist/modifiers/scroll.cjs +0 -2
- package/dist/modifiers/scroll.cjs.map +0 -1
- package/dist/modifiers/scroll.js +0 -82
- package/dist/modifiers/scroll.js.map +0 -1
- package/dist/modifiers/shadows.cjs +0 -2
- package/dist/modifiers/shadows.cjs.map +0 -1
- package/dist/modifiers/shadows.js +0 -147
- package/dist/modifiers/shadows.js.map +0 -1
- package/dist/modifiers/size.cjs +0 -2
- package/dist/modifiers/size.cjs.map +0 -1
- package/dist/modifiers/size.js +0 -74
- package/dist/modifiers/size.js.map +0 -1
- package/dist/modifiers/text.cjs +0 -2
- package/dist/modifiers/text.cjs.map +0 -1
- package/dist/modifiers/text.js +0 -166
- package/dist/modifiers/text.js.map +0 -1
- package/dist/modifiers/transformations.cjs +0 -2
- package/dist/modifiers/transformations.cjs.map +0 -1
- package/dist/modifiers/transformations.js +0 -216
- package/dist/modifiers/transformations.js.map +0 -1
- package/dist/modifiers/transitions.cjs +0 -2
- package/dist/modifiers/transitions.cjs.map +0 -1
- package/dist/modifiers/transitions.js +0 -102
- package/dist/modifiers/transitions.js.map +0 -1
- package/dist/modifiers/types.cjs +0 -2
- package/dist/modifiers/types.cjs.map +0 -1
- package/dist/modifiers/types.js +0 -5
- package/dist/modifiers/types.js.map +0 -1
- package/dist/modifiers/typography.cjs +0 -2
- package/dist/modifiers/typography.cjs.map +0 -1
- package/dist/modifiers/typography.js +0 -76
- package/dist/modifiers/typography.js.map +0 -1
- package/dist/modifiers/utility.cjs +0 -2
- package/dist/modifiers/utility.cjs.map +0 -1
- package/dist/modifiers/utility.js +0 -71
- package/dist/modifiers/utility.js.map +0 -1
- package/dist/modifiers/utils.cjs +0 -2
- package/dist/modifiers/utils.cjs.map +0 -1
- package/dist/modifiers/utils.js +0 -250
- package/dist/modifiers/utils.js.map +0 -1
- package/dist/plugins/index.cjs +0 -2
- package/dist/plugins/index.cjs.map +0 -1
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/legacy-adapter.cjs +0 -2
- package/dist/plugins/legacy-adapter.cjs.map +0 -1
- package/dist/plugins/legacy-adapter.js +0 -30
- package/dist/plugins/legacy-adapter.js.map +0 -1
- package/dist/plugins/simplified-component-registry.cjs +0 -2
- package/dist/plugins/simplified-component-registry.cjs.map +0 -1
- package/dist/plugins/simplified-component-registry.js +0 -71
- package/dist/plugins/simplified-component-registry.js.map +0 -1
- package/dist/plugins/simplified-error-handler.cjs +0 -2
- package/dist/plugins/simplified-error-handler.cjs.map +0 -1
- package/dist/plugins/simplified-error-handler.js +0 -154
- package/dist/plugins/simplified-error-handler.js.map +0 -1
- package/dist/plugins/simplified-lazy-loader.cjs +0 -2
- package/dist/plugins/simplified-lazy-loader.cjs.map +0 -1
- package/dist/plugins/simplified-lazy-loader.js +0 -129
- package/dist/plugins/simplified-lazy-loader.js.map +0 -1
- package/dist/plugins/simplified-plugin-manager.cjs +0 -2
- package/dist/plugins/simplified-plugin-manager.cjs.map +0 -1
- package/dist/plugins/simplified-plugin-manager.js +0 -51
- package/dist/plugins/simplified-plugin-manager.js.map +0 -1
- package/dist/plugins/simplified-tachui-instance.cjs +0 -2
- package/dist/plugins/simplified-tachui-instance.cjs.map +0 -1
- package/dist/plugins/simplified-tachui-instance.js +0 -88
- package/dist/plugins/simplified-tachui-instance.js.map +0 -1
- package/dist/plugins/simplified-types.cjs +0 -2
- package/dist/plugins/simplified-types.cjs.map +0 -1
- package/dist/plugins/simplified-types.js +0 -9
- package/dist/plugins/simplified-types.js.map +0 -1
- package/dist/plugins/simplified-utils.cjs +0 -2
- package/dist/plugins/simplified-utils.cjs.map +0 -1
- package/dist/plugins/simplified-utils.js +0 -40
- package/dist/plugins/simplified-utils.js.map +0 -1
- package/dist/reactive/cleanup.cjs +0 -2
- package/dist/reactive/cleanup.cjs.map +0 -1
- package/dist/reactive/cleanup.js +0 -62
- package/dist/reactive/cleanup.js.map +0 -1
- package/dist/reactive/computed.cjs +0 -2
- package/dist/reactive/computed.cjs.map +0 -1
- package/dist/reactive/computed.js +0 -121
- package/dist/reactive/computed.js.map +0 -1
- package/dist/reactive/context.cjs +0 -2
- package/dist/reactive/context.cjs.map +0 -1
- package/dist/reactive/context.js +0 -143
- package/dist/reactive/context.js.map +0 -1
- package/dist/reactive/effect.cjs +0 -2
- package/dist/reactive/effect.cjs.map +0 -1
- package/dist/reactive/effect.js +0 -67
- package/dist/reactive/effect.js.map +0 -1
- package/dist/reactive/enhanced-effect.cjs +0 -2
- package/dist/reactive/enhanced-effect.cjs.map +0 -1
- package/dist/reactive/enhanced-effect.js +0 -153
- package/dist/reactive/enhanced-effect.js.map +0 -1
- package/dist/reactive/enhanced-signal.cjs +0 -2
- package/dist/reactive/enhanced-signal.cjs.map +0 -1
- package/dist/reactive/enhanced-signal.js +0 -117
- package/dist/reactive/enhanced-signal.js.map +0 -1
- package/dist/reactive/equality.cjs +0 -2
- package/dist/reactive/equality.cjs.map +0 -1
- package/dist/reactive/equality.js +0 -66
- package/dist/reactive/equality.js.map +0 -1
- package/dist/reactive/index.cjs +0 -2
- package/dist/reactive/index.cjs.map +0 -1
- package/dist/reactive/index.js.map +0 -1
- package/dist/reactive/migration.cjs +0 -18
- package/dist/reactive/migration.cjs.map +0 -1
- package/dist/reactive/migration.js +0 -164
- package/dist/reactive/migration.js.map +0 -1
- package/dist/reactive/ownership.cjs +0 -2
- package/dist/reactive/ownership.cjs.map +0 -1
- package/dist/reactive/ownership.js +0 -34
- package/dist/reactive/ownership.js.map +0 -1
- package/dist/reactive/scheduler.cjs +0 -2
- package/dist/reactive/scheduler.cjs.map +0 -1
- package/dist/reactive/scheduler.js +0 -111
- package/dist/reactive/scheduler.js.map +0 -1
- package/dist/reactive/signal.cjs +0 -2
- package/dist/reactive/signal.cjs.map +0 -1
- package/dist/reactive/signal.js +0 -96
- package/dist/reactive/signal.js.map +0 -1
- package/dist/reactive/theme.cjs +0 -2
- package/dist/reactive/theme.cjs.map +0 -1
- package/dist/reactive/theme.js +0 -27
- package/dist/reactive/theme.js.map +0 -1
- package/dist/reactive/types.cjs +0 -2
- package/dist/reactive/types.cjs.map +0 -1
- package/dist/reactive/types.js +0 -5
- package/dist/reactive/types.js.map +0 -1
- package/dist/reactive/unified-scheduler.cjs +0 -2
- package/dist/reactive/unified-scheduler.cjs.map +0 -1
- package/dist/reactive/unified-scheduler.js +0 -219
- package/dist/reactive/unified-scheduler.js.map +0 -1
- package/dist/runtime/component-context.cjs +0 -2
- package/dist/runtime/component-context.cjs.map +0 -1
- package/dist/runtime/component-context.js +0 -177
- package/dist/runtime/component-context.js.map +0 -1
- package/dist/runtime/component.cjs +0 -2
- package/dist/runtime/component.cjs.map +0 -1
- package/dist/runtime/component.js +0 -238
- package/dist/runtime/component.js.map +0 -1
- package/dist/runtime/context.cjs +0 -2
- package/dist/runtime/context.cjs.map +0 -1
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/dev-tools.cjs +0 -2
- package/dist/runtime/dev-tools.cjs.map +0 -1
- package/dist/runtime/dev-tools.js +0 -391
- package/dist/runtime/dev-tools.js.map +0 -1
- package/dist/runtime/development-warnings.cjs +0 -2
- package/dist/runtime/development-warnings.cjs.map +0 -1
- package/dist/runtime/development-warnings.js +0 -69
- package/dist/runtime/development-warnings.js.map +0 -1
- package/dist/runtime/dom-bridge.cjs +0 -2
- package/dist/runtime/dom-bridge.cjs.map +0 -1
- package/dist/runtime/dom-bridge.js.map +0 -1
- package/dist/runtime/element-override.cjs +0 -2
- package/dist/runtime/element-override.cjs.map +0 -1
- package/dist/runtime/element-override.js +0 -214
- package/dist/runtime/element-override.js.map +0 -1
- package/dist/runtime/error-boundary.cjs +0 -2
- package/dist/runtime/error-boundary.cjs.map +0 -1
- package/dist/runtime/error-boundary.js +0 -559
- package/dist/runtime/error-boundary.js.map +0 -1
- package/dist/runtime/error-recovery.cjs +0 -2
- package/dist/runtime/error-recovery.cjs.map +0 -1
- package/dist/runtime/error-recovery.js +0 -385
- package/dist/runtime/error-recovery.js.map +0 -1
- package/dist/runtime/error-reporting.cjs +0 -3
- package/dist/runtime/error-reporting.cjs.map +0 -1
- package/dist/runtime/error-reporting.js +0 -479
- package/dist/runtime/error-reporting.js.map +0 -1
- package/dist/runtime/error-utils.cjs +0 -3
- package/dist/runtime/error-utils.cjs.map +0 -1
- package/dist/runtime/error-utils.js +0 -352
- package/dist/runtime/error-utils.js.map +0 -1
- package/dist/runtime/lazy-component.cjs +0 -2
- package/dist/runtime/lazy-component.cjs.map +0 -1
- package/dist/runtime/lazy-component.js +0 -129
- package/dist/runtime/lazy-component.js.map +0 -1
- package/dist/runtime/lifecycle.cjs +0 -2
- package/dist/runtime/lifecycle.cjs.map +0 -1
- package/dist/runtime/lifecycle.js +0 -7
- package/dist/runtime/lifecycle.js.map +0 -1
- package/dist/runtime/mounting.cjs +0 -2
- package/dist/runtime/mounting.cjs.map +0 -1
- package/dist/runtime/mounting.js +0 -12
- package/dist/runtime/mounting.js.map +0 -1
- package/dist/runtime/optimization.cjs +0 -2
- package/dist/runtime/optimization.cjs.map +0 -1
- package/dist/runtime/optimization.js +0 -6
- package/dist/runtime/optimization.js.map +0 -1
- package/dist/runtime/performance.cjs +0 -2
- package/dist/runtime/performance.cjs.map +0 -1
- package/dist/runtime/performance.js +0 -399
- package/dist/runtime/performance.js.map +0 -1
- package/dist/runtime/props.cjs +0 -2
- package/dist/runtime/props.cjs.map +0 -1
- package/dist/runtime/props.js +0 -265
- package/dist/runtime/props.js.map +0 -1
- package/dist/runtime/renderer.cjs +0 -2
- package/dist/runtime/renderer.cjs.map +0 -1
- package/dist/runtime/renderer.js.map +0 -1
- package/dist/runtime/semantic-role-manager.cjs +0 -2
- package/dist/runtime/semantic-role-manager.cjs.map +0 -1
- package/dist/runtime/semantic-role-manager.js +0 -82
- package/dist/runtime/semantic-role-manager.js.map +0 -1
- package/dist/state/binding.cjs +0 -2
- package/dist/state/binding.cjs.map +0 -1
- package/dist/state/binding.js +0 -155
- package/dist/state/binding.js.map +0 -1
- package/dist/state/environment.cjs +0 -2
- package/dist/state/environment.cjs.map +0 -1
- package/dist/state/environment.js +0 -115
- package/dist/state/environment.js.map +0 -1
- package/dist/state/index.cjs +0 -2
- package/dist/state/index.cjs.map +0 -1
- package/dist/state/index.js +0 -63
- package/dist/state/index.js.map +0 -1
- package/dist/state/observed-object.cjs +0 -2
- package/dist/state/observed-object.cjs.map +0 -1
- package/dist/state/observed-object.js +0 -163
- package/dist/state/observed-object.js.map +0 -1
- package/dist/state/state-manager.cjs +0 -2
- package/dist/state/state-manager.cjs.map +0 -1
- package/dist/state/state-manager.js +0 -233
- package/dist/state/state-manager.js.map +0 -1
- package/dist/state/state.cjs +0 -2
- package/dist/state/state.cjs.map +0 -1
- package/dist/state/state.js +0 -159
- package/dist/state/state.js.map +0 -1
- package/dist/sui-compat.cjs +0 -2
- package/dist/sui-compat.cjs.map +0 -1
- package/dist/sui-compat.js +0 -88
- package/dist/sui-compat.js.map +0 -1
- package/dist/validation/advanced-debugging.cjs +0 -44
- package/dist/validation/advanced-debugging.cjs.map +0 -1
- package/dist/validation/advanced-debugging.js +0 -455
- package/dist/validation/advanced-debugging.js.map +0 -1
- package/dist/validation/build-time/detection.cjs +0 -2
- package/dist/validation/build-time/detection.cjs.map +0 -1
- package/dist/validation/build-time/detection.js +0 -199
- package/dist/validation/build-time/detection.js.map +0 -1
- package/dist/validation/build-time/index.cjs +0 -2
- package/dist/validation/build-time/index.cjs.map +0 -1
- package/dist/validation/build-time/index.js +0 -122
- package/dist/validation/build-time/index.js.map +0 -1
- package/dist/validation/build-time/plugins.cjs +0 -3
- package/dist/validation/build-time/plugins.cjs.map +0 -1
- package/dist/validation/build-time/plugins.js +0 -282
- package/dist/validation/build-time/plugins.js.map +0 -1
- package/dist/validation/build-time/rules.cjs +0 -2
- package/dist/validation/build-time/rules.cjs.map +0 -1
- package/dist/validation/build-time/rules.js +0 -576
- package/dist/validation/build-time/rules.js.map +0 -1
- package/dist/validation/build-time/transformer.cjs +0 -3
- package/dist/validation/build-time/transformer.cjs.map +0 -1
- package/dist/validation/build-time/transformer.js +0 -177
- package/dist/validation/build-time/transformer.js.map +0 -1
- package/dist/validation/comprehensive.cjs +0 -9
- package/dist/validation/comprehensive.cjs.map +0 -1
- package/dist/validation/comprehensive.js +0 -916
- package/dist/validation/comprehensive.js.map +0 -1
- package/dist/validation/debug-tools.cjs +0 -16
- package/dist/validation/debug-tools.cjs.map +0 -1
- package/dist/validation/debug-tools.js +0 -405
- package/dist/validation/debug-tools.js.map +0 -1
- package/dist/validation/developer-experience.cjs +0 -17
- package/dist/validation/developer-experience.cjs.map +0 -1
- package/dist/validation/developer-experience.js +0 -433
- package/dist/validation/developer-experience.js.map +0 -1
- package/dist/validation/documentation-integration.cjs +0 -7
- package/dist/validation/documentation-integration.cjs.map +0 -1
- package/dist/validation/documentation-integration.js +0 -440
- package/dist/validation/documentation-integration.js.map +0 -1
- package/dist/validation/enhanced-runtime.cjs +0 -6
- package/dist/validation/enhanced-runtime.cjs.map +0 -1
- package/dist/validation/enhanced-runtime.js +0 -465
- package/dist/validation/enhanced-runtime.js.map +0 -1
- package/dist/validation/error-reporting.cjs +0 -32
- package/dist/validation/error-reporting.cjs.map +0 -1
- package/dist/validation/error-reporting.js +0 -370
- package/dist/validation/error-reporting.js.map +0 -1
- package/dist/validation/ide-integration.cjs +0 -85
- package/dist/validation/ide-integration.cjs.map +0 -1
- package/dist/validation/ide-integration.js +0 -557
- package/dist/validation/ide-integration.js.map +0 -1
- package/dist/validation/index.cjs +0 -6
- package/dist/validation/index.cjs.map +0 -1
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/lifecycle-validation.cjs +0 -2
- package/dist/validation/lifecycle-validation.cjs.map +0 -1
- package/dist/validation/lifecycle-validation.js +0 -314
- package/dist/validation/lifecycle-validation.js.map +0 -1
- package/dist/validation/performance-optimizer.cjs +0 -2
- package/dist/validation/performance-optimizer.cjs.map +0 -1
- package/dist/validation/performance-optimizer.js +0 -338
- package/dist/validation/performance-optimizer.js.map +0 -1
- package/dist/validation/plugin-registration.cjs +0 -2
- package/dist/validation/plugin-registration.cjs.map +0 -1
- package/dist/validation/plugin-registration.js +0 -126
- package/dist/validation/plugin-registration.js.map +0 -1
- package/dist/validation/production-bypass.cjs +0 -2
- package/dist/validation/production-bypass.cjs.map +0 -1
- package/dist/validation/production-bypass.js +0 -218
- package/dist/validation/production-bypass.js.map +0 -1
- package/dist/validation/simple.cjs +0 -9
- package/dist/validation/simple.cjs.map +0 -1
- package/dist/validation/simple.js +0 -146
- package/dist/validation/simple.js.map +0 -1
- package/dist/viewport/adapters/web-adapter.cjs +0 -70
- package/dist/viewport/adapters/web-adapter.cjs.map +0 -1
- package/dist/viewport/adapters/web-adapter.js +0 -823
- package/dist/viewport/adapters/web-adapter.js.map +0 -1
- package/dist/viewport/components.cjs +0 -2
- package/dist/viewport/components.cjs.map +0 -1
- package/dist/viewport/components.js +0 -298
- package/dist/viewport/components.js.map +0 -1
- package/dist/viewport/environment.cjs +0 -2
- package/dist/viewport/environment.cjs.map +0 -1
- package/dist/viewport/environment.js +0 -86
- package/dist/viewport/environment.js.map +0 -1
- package/dist/viewport/index.cjs +0 -2
- package/dist/viewport/index.cjs.map +0 -1
- package/dist/viewport/index.js.map +0 -1
- package/dist/viewport/platform-detection.cjs +0 -2
- package/dist/viewport/platform-detection.cjs.map +0 -1
- package/dist/viewport/platform-detection.js +0 -205
- package/dist/viewport/platform-detection.js.map +0 -1
- package/dist/viewport/types.cjs +0 -2
- package/dist/viewport/types.cjs.map +0 -1
- package/dist/viewport/types.js +0 -13
- package/dist/viewport/types.js.map +0 -1
- package/dist/viewport/viewport-manager.cjs +0 -2
- package/dist/viewport/viewport-manager.cjs.map +0 -1
- package/dist/viewport/viewport-manager.js +0 -524
- package/dist/viewport/viewport-manager.js.map +0 -1
- package/src/assets/Asset.ts +0 -11
- package/src/assets/AssetCollection.ts +0 -99
- package/src/assets/ColorAsset.ts +0 -210
- package/src/assets/FontAsset.ts +0 -380
- package/src/assets/ImageAsset.ts +0 -91
- package/src/assets/README.md +0 -190
- package/src/assets/index.ts +0 -175
- package/src/assets/test-assets.ts +0 -69
- package/src/assets/test-integration.ts +0 -46
- package/src/assets/test-simple.ts +0 -28
- package/src/assets/types.ts +0 -79
- package/src/bundles/common.ts +0 -30
- package/src/bundles/complete.ts +0 -29
- package/src/bundles/essential.ts +0 -26
- package/src/bundles/minimal.ts +0 -26
- package/src/bundles/production-minimal.ts +0 -67
- package/src/compiler/advanced-parser.ts +0 -871
- package/src/compiler/codegen.ts +0 -450
- package/src/compiler/enhanced-codegen.ts +0 -729
- package/src/compiler/index.ts +0 -25
- package/src/compiler/parser.ts +0 -461
- package/src/compiler/plugin.ts +0 -181
- package/src/compiler/types.ts +0 -177
- package/src/components/BasicInput.ts +0 -352
- package/src/components/Button.ts +0 -963
- package/src/components/Divider.ts +0 -341
- package/src/components/EnhancedLink.ts +0 -676
- package/src/components/Form.ts +0 -414
- package/src/components/Grid.ts +0 -2507
- package/src/components/GridResponsive.ts +0 -637
- package/src/components/Image.ts +0 -426
- package/src/components/List.ts +0 -1084
- package/src/components/Menu.ts +0 -807
- package/src/components/Picker.ts +0 -678
- package/src/components/ScrollView.ts +0 -725
- package/src/components/Section.ts +0 -472
- package/src/components/Show.ts +0 -205
- package/src/components/Spacer.ts +0 -93
- package/src/components/Text.ts +0 -447
- package/src/components/Toggle.ts +0 -700
- package/src/components/index.ts +0 -231
- package/src/components/wrapper.ts +0 -828
- package/src/concatenation/concatenatable.ts +0 -211
- package/src/concatenation/concatenated-component.ts +0 -471
- package/src/concatenation/index.ts +0 -41
- package/src/concatenation/styles.css +0 -120
- package/src/concatenation/text-optimizer.ts +0 -440
- package/src/concatenation/types.ts +0 -116
- package/src/constants/README.md +0 -339
- package/src/constants/__tests__/frame-utils.test.ts +0 -276
- package/src/constants/__tests__/layout.test.ts +0 -215
- package/src/constants/frame-utils.ts +0 -174
- package/src/constants/index.ts +0 -8
- package/src/constants/layout.ts +0 -120
- package/src/css-classes/component-base.ts +0 -117
- package/src/css-classes/css-class-manager.ts +0 -372
- package/src/css-classes/dom-integration.ts +0 -162
- package/src/css-classes/enhanced-renderer.ts +0 -166
- package/src/css-classes/index.ts +0 -45
- package/src/css-classes/types.ts +0 -73
- package/src/css-classes/utilities.ts +0 -175
- package/src/debug/index.ts +0 -267
- package/src/developer-experience/enhanced-errors.ts +0 -556
- package/src/developer-experience/enhanced-types.ts +0 -427
- package/src/developer-experience/index.ts +0 -220
- package/src/globals.d.ts +0 -43
- package/src/gradients/__tests__/angular-gradient.test.ts +0 -111
- package/src/gradients/__tests__/background-modifier.test.ts +0 -81
- package/src/gradients/__tests__/comprehensive-gradients.test.ts +0 -296
- package/src/gradients/__tests__/gradient-asset.test.ts +0 -144
- package/src/gradients/__tests__/linear-gradient.test.ts +0 -92
- package/src/gradients/__tests__/phase4-features.test.ts +0 -386
- package/src/gradients/__tests__/radial-gradient.test.ts +0 -110
- package/src/gradients/__tests__/repeating-gradients.test.ts +0 -125
- package/src/gradients/__tests__/state-background-modifier.test.ts +0 -340
- package/src/gradients/__tests__/state-gradient-asset.test.ts +0 -262
- package/src/gradients/__tests__/state-gradient-integration.test.ts +0 -277
- package/src/gradients/css-generator.ts +0 -158
- package/src/gradients/examples.ts +0 -632
- package/src/gradients/gradient-asset.ts +0 -30
- package/src/gradients/index.ts +0 -85
- package/src/gradients/performance.ts +0 -521
- package/src/gradients/presets.ts +0 -422
- package/src/gradients/reactive.ts +0 -470
- package/src/gradients/state-gradient-asset.ts +0 -179
- package/src/gradients/types.ts +0 -148
- package/src/gradients/utils.ts +0 -579
- package/src/gradients/validation.ts +0 -489
- package/src/index.ts +0 -168
- package/src/lifecycle/hooks.ts +0 -332
- package/src/modifiers/__tests__/as-html-integration.test.ts +0 -204
- package/src/modifiers/__tests__/as-html.test.ts +0 -437
- package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +0 -294
- package/src/modifiers/__tests__/border.test.ts +0 -371
- package/src/modifiers/__tests__/margin-string-support.test.ts +0 -41
- package/src/modifiers/__tests__/padding-string-support.test.ts +0 -41
- package/src/modifiers/as-html-validator.ts +0 -68
- package/src/modifiers/as-html.ts +0 -216
- package/src/modifiers/attributes.ts +0 -574
- package/src/modifiers/backdrop.ts +0 -290
- package/src/modifiers/background.ts +0 -165
- package/src/modifiers/base.ts +0 -1815
- package/src/modifiers/basic-sanitizer.ts +0 -227
- package/src/modifiers/border.ts +0 -574
- package/src/modifiers/builder.ts +0 -1747
- package/src/modifiers/core.ts +0 -521
- package/src/modifiers/css.ts +0 -148
- package/src/modifiers/effects.ts +0 -412
- package/src/modifiers/elements.ts +0 -541
- package/src/modifiers/filters.ts +0 -501
- package/src/modifiers/flexbox.ts +0 -180
- package/src/modifiers/font.ts +0 -149
- package/src/modifiers/grid.ts +0 -238
- package/src/modifiers/index.ts +0 -481
- package/src/modifiers/margin.ts +0 -218
- package/src/modifiers/padding.ts +0 -318
- package/src/modifiers/registry.ts +0 -444
- package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +0 -392
- package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +0 -368
- package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +0 -556
- package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +0 -558
- package/src/modifiers/responsive/advanced-utilities.ts +0 -562
- package/src/modifiers/responsive/breakpoints.ts +0 -330
- package/src/modifiers/responsive/css-generator.ts +0 -432
- package/src/modifiers/responsive/dev-tools.ts +0 -650
- package/src/modifiers/responsive/index.ts +0 -119
- package/src/modifiers/responsive/layout-patterns.ts +0 -592
- package/src/modifiers/responsive/performance.ts +0 -385
- package/src/modifiers/responsive/responsive-builder.ts +0 -620
- package/src/modifiers/responsive/responsive-modifier.ts +0 -410
- package/src/modifiers/responsive/types.ts +0 -226
- package/src/modifiers/responsive/utilities.ts +0 -478
- package/src/modifiers/scroll.ts +0 -297
- package/src/modifiers/shadows.ts +0 -321
- package/src/modifiers/size.ts +0 -208
- package/src/modifiers/text.ts +0 -416
- package/src/modifiers/transformations.ts +0 -640
- package/src/modifiers/transitions.ts +0 -218
- package/src/modifiers/types.ts +0 -889
- package/src/modifiers/typography.ts +0 -341
- package/src/modifiers/utility.ts +0 -209
- package/src/modifiers/utils.ts +0 -413
- package/src/plugins/__tests__/simplified-plugin-system.test.ts +0 -190
- package/src/plugins/component-loader-registry.ts +0 -371
- package/src/plugins/index.ts +0 -61
- package/src/plugins/legacy-adapter.ts +0 -84
- package/src/plugins/simplified-component-registry.ts +0 -130
- package/src/plugins/simplified-error-handler.ts +0 -372
- package/src/plugins/simplified-index.ts +0 -61
- package/src/plugins/simplified-lazy-loader.ts +0 -242
- package/src/plugins/simplified-plugin-manager.ts +0 -93
- package/src/plugins/simplified-tachui-instance.ts +0 -142
- package/src/plugins/simplified-types.ts +0 -79
- package/src/plugins/simplified-utils.ts +0 -118
- package/src/reactive/cleanup.ts +0 -241
- package/src/reactive/computed.ts +0 -281
- package/src/reactive/context.ts +0 -287
- package/src/reactive/effect.ts +0 -194
- package/src/reactive/enhanced-effect.ts +0 -318
- package/src/reactive/enhanced-signal.ts +0 -227
- package/src/reactive/equality.ts +0 -188
- package/src/reactive/globals.d.ts +0 -5
- package/src/reactive/index.ts +0 -150
- package/src/reactive/migration.ts +0 -335
- package/src/reactive/ownership.ts +0 -182
- package/src/reactive/scheduler.ts +0 -300
- package/src/reactive/signal.ts +0 -201
- package/src/reactive/theme.ts +0 -49
- package/src/reactive/types.ts +0 -103
- package/src/reactive/unified-scheduler.ts +0 -357
- package/src/runtime/component-context.ts +0 -343
- package/src/runtime/component.ts +0 -499
- package/src/runtime/context.ts +0 -527
- package/src/runtime/dev-tools.ts +0 -752
- package/src/runtime/development-warnings.ts +0 -114
- package/src/runtime/dom-bridge.ts +0 -570
- package/src/runtime/element-override.ts +0 -282
- package/src/runtime/error-boundary.ts +0 -955
- package/src/runtime/error-recovery.ts +0 -638
- package/src/runtime/error-reporting.ts +0 -808
- package/src/runtime/error-utils.ts +0 -698
- package/src/runtime/index.ts +0 -202
- package/src/runtime/lazy-component.ts +0 -268
- package/src/runtime/lifecycle.ts +0 -10
- package/src/runtime/mounting.ts +0 -17
- package/src/runtime/optimization.ts +0 -13
- package/src/runtime/performance.ts +0 -693
- package/src/runtime/props.ts +0 -434
- package/src/runtime/refs.ts +0 -13
- package/src/runtime/renderer.ts +0 -674
- package/src/runtime/semantic-role-manager.ts +0 -140
- package/src/runtime/types.ts +0 -282
- package/src/state/binding.ts +0 -381
- package/src/state/environment-object.ts +0 -444
- package/src/state/environment.ts +0 -351
- package/src/state/index.ts +0 -179
- package/src/state/observed-object.ts +0 -405
- package/src/state/state-manager.ts +0 -366
- package/src/state/state.ts +0 -339
- package/src/state/types.ts +0 -192
- package/src/sui-compat.ts +0 -163
- package/src/validation/__tests__/phase-1d-integration.test.ts +0 -558
- package/src/validation/advanced-debugging.ts +0 -860
- package/src/validation/build-time/detection.ts +0 -373
- package/src/validation/build-time/index.ts +0 -222
- package/src/validation/build-time/plugins.ts +0 -515
- package/src/validation/build-time/rules.ts +0 -624
- package/src/validation/build-time/transformer.ts +0 -372
- package/src/validation/build-time/types.ts +0 -232
- package/src/validation/comprehensive.ts +0 -1272
- package/src/validation/debug-tools.ts +0 -724
- package/src/validation/developer-experience.ts +0 -712
- package/src/validation/documentation-integration.ts +0 -835
- package/src/validation/enhanced-runtime.ts +0 -765
- package/src/validation/error-reporting.ts +0 -587
- package/src/validation/ide-integration.ts +0 -845
- package/src/validation/index.ts +0 -353
- package/src/validation/lifecycle-validation.ts +0 -636
- package/src/validation/performance-optimizer.ts +0 -599
- package/src/validation/plugin-registration.ts +0 -249
- package/src/validation/production-bypass.ts +0 -466
- package/src/validation/simple.ts +0 -465
- package/src/viewport/adapters/web-adapter.ts +0 -1385
- package/src/viewport/components.ts +0 -505
- package/src/viewport/environment.ts +0 -173
- package/src/viewport/index.ts +0 -290
- package/src/viewport/platform-detection.ts +0 -431
- package/src/viewport/types.ts +0 -371
- package/src/viewport/viewport-manager.ts +0 -979
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev-tools.js","sources":["../../../src/modifiers/responsive/dev-tools.ts"],"sourcesContent":["/**\n * Responsive Development Tools and Debugging Features\n *\n * Provides comprehensive debugging, inspection, and development tools\n * for the responsive design system.\n */\n\nimport { createComputed, Signal } from '../../reactive'\nimport {\n ResponsiveValue,\n BreakpointKey,\n BreakpointContext,\n isResponsiveValue\n} from './types'\nimport {\n getCurrentBreakpoint,\n createBreakpointContext,\n getCurrentBreakpointConfig\n} from './breakpoints'\nimport { ResponsivePerformanceMonitor, cssRuleCache } from './performance'\nimport { MediaQueries } from './utilities'\n\n/**\n * Development mode responsive debugging\n */\nexport class ResponsiveDevTools {\n private static isEnabled = false\n private static debugOverlay: HTMLElement | null = null\n private static logLevel: 'error' | 'warn' | 'info' | 'debug' = 'info'\n\n /**\n * Enable responsive development tools\n */\n static enable(options: {\n showOverlay?: boolean\n showBreakpoints?: boolean\n showPerformance?: boolean\n logLevel?: 'error' | 'warn' | 'info' | 'debug'\n highlightResponsiveElements?: boolean\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n } = {}): void {\n if (process.env.NODE_ENV === 'production') {\n console.warn('ResponsiveDevTools: Not enabling in production mode')\n return\n }\n\n this.isEnabled = true\n this.logLevel = options.logLevel || 'info'\n\n this.log('info', 'ResponsiveDevTools: Enabled')\n\n if (options.showOverlay) {\n this.createDebugOverlay(options)\n }\n\n if (options.highlightResponsiveElements) {\n this.enableElementHighlighting()\n }\n\n if (options.showPerformance) {\n this.enablePerformanceMonitoring()\n }\n\n // Log initial state\n this.logResponsiveState()\n }\n\n /**\n * Disable responsive development tools\n */\n static disable(): void {\n this.isEnabled = false\n\n if (this.debugOverlay) {\n this.debugOverlay.remove()\n this.debugOverlay = null\n }\n\n this.disableElementHighlighting()\n this.log('info', 'ResponsiveDevTools: Disabled')\n }\n\n /**\n * Check if development tools are enabled\n */\n static get enabled(): boolean {\n return this.isEnabled && process.env.NODE_ENV !== 'production'\n }\n\n /**\n * Log responsive information\n */\n private static log(level: 'error' | 'warn' | 'info' | 'debug', ...args: any[]): void {\n if (!this.enabled) return\n\n const levels = ['error', 'warn', 'info', 'debug']\n const currentLevel = levels.indexOf(this.logLevel)\n const messageLevel = levels.indexOf(level)\n\n if (messageLevel <= currentLevel) {\n console[level]('[ResponsiveDevTools]', ...args)\n }\n }\n\n /**\n * Create visual debug overlay\n */\n private static createDebugOverlay(options: {\n showBreakpoints?: boolean\n showPerformance?: boolean\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n }): void {\n if (typeof document === 'undefined') return\n\n const position = options.position || 'top-right'\n\n this.debugOverlay = document.createElement('div')\n this.debugOverlay.id = 'tachui-responsive-debug'\n this.debugOverlay.style.cssText = `\n position: fixed;\n ${position.includes('top') ? 'top: 10px' : 'bottom: 10px'};\n ${position.includes('right') ? 'right: 10px' : 'left: 10px'};\n background: rgba(0, 0, 0, 0.9);\n color: white;\n padding: 12px;\n border-radius: 8px;\n font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;\n font-size: 12px;\n z-index: 10000;\n pointer-events: auto;\n cursor: pointer;\n max-width: 300px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);\n border: 1px solid rgba(255, 255, 255, 0.1);\n `\n\n // Add close button\n const closeButton = document.createElement('div')\n closeButton.textContent = '×'\n closeButton.style.cssText = `\n position: absolute;\n top: 4px;\n right: 8px;\n cursor: pointer;\n font-size: 16px;\n color: #ff6b6b;\n `\n closeButton.onclick = () => this.disable()\n this.debugOverlay.appendChild(closeButton)\n\n document.body.appendChild(this.debugOverlay)\n\n // Update overlay content reactively\n this.updateDebugOverlay(options)\n\n // Update on resize\n let resizeTimer: number\n window.addEventListener('resize', () => {\n clearTimeout(resizeTimer)\n resizeTimer = window.setTimeout(() => {\n this.updateDebugOverlay(options)\n }, 100)\n })\n }\n\n /**\n * Update debug overlay content\n */\n private static updateDebugOverlay(options: {\n showBreakpoints?: boolean\n showPerformance?: boolean\n }): void {\n if (!this.debugOverlay) return\n\n const context = createBreakpointContext()\n const breakpointConfig = getCurrentBreakpointConfig()\n\n let content = `\n <div style=\"margin-bottom: 8px; font-weight: bold; color: #4fc3f7;\">\n 📱 Responsive Debug\n </div>\n `\n\n // Current breakpoint info\n content += `\n <div style=\"margin-bottom: 6px;\">\n <strong>Current:</strong> <span style=\"color: #66bb6a;\">${context.current}</span>\n </div>\n <div style=\"margin-bottom: 6px;\">\n <strong>Size:</strong> ${context.width}×${context.height}\n </div>\n `\n\n // Breakpoint ranges\n if (options.showBreakpoints) {\n content += `<div style=\"margin: 8px 0; font-weight: bold; color: #ffb74d;\">Breakpoints:</div>`\n\n for (const [name, value] of Object.entries(breakpointConfig)) {\n const isActive = name === context.current\n const color = isActive ? '#66bb6a' : '#999'\n content += `\n <div style=\"color: ${color}; margin-bottom: 2px;\">\n ${isActive ? '▶' : '▷'} ${name}: ${value}\n </div>\n `\n }\n }\n\n // Performance info\n if (options.showPerformance) {\n const perfStats = ResponsivePerformanceMonitor.getStats()\n const cacheStats = cssRuleCache.getStats()\n\n content += `<div style=\"margin: 8px 0; font-weight: bold; color: #f06292;\">Performance:</div>`\n content += `\n <div style=\"margin-bottom: 2px;\">\n Cache: ${cacheStats.size} rules (${(cacheStats.hitRate * 100).toFixed(1)}% hit rate)\n </div>\n `\n\n if (Object.keys(perfStats).length > 0) {\n for (const [name, stats] of Object.entries(perfStats)) {\n content += `\n <div style=\"margin-bottom: 2px;\">\n ${name}: ${stats.average.toFixed(2)}ms avg\n </div>\n `\n }\n }\n }\n\n // Media query test results\n content += `<div style=\"margin: 8px 0; font-weight: bold; color: #ba68c8;\">Media Queries:</div>`\n\n const testQueries = {\n 'Touch': MediaQueries.touchDevice,\n 'Dark': MediaQueries.darkMode,\n 'Reduced Motion': MediaQueries.reducedMotion,\n 'High Contrast': MediaQueries.highContrast\n }\n\n for (const [name, query] of Object.entries(testQueries)) {\n const matches = window.matchMedia(query).matches\n const color = matches ? '#66bb6a' : '#666'\n content += `\n <div style=\"color: ${color}; margin-bottom: 2px;\">\n ${matches ? '✓' : '✗'} ${name}\n </div>\n `\n }\n\n this.debugOverlay.innerHTML = content + this.debugOverlay.querySelector('div:last-child')?.outerHTML || ''\n }\n\n /**\n * Enable element highlighting for responsive elements\n */\n private static enableElementHighlighting(): void {\n if (typeof document === 'undefined') return\n\n const style = document.createElement('style')\n style.id = 'tachui-responsive-highlight'\n style.textContent = `\n .tachui-responsive-element {\n outline: 2px dashed #4fc3f7 !important;\n outline-offset: 2px !important;\n position: relative !important;\n }\n\n .tachui-responsive-element::before {\n content: 'R';\n position: absolute !important;\n top: -8px !important;\n right: -8px !important;\n background: #4fc3f7 !important;\n color: white !important;\n width: 16px !important;\n height: 16px !important;\n border-radius: 50% !important;\n font-size: 10px !important;\n font-weight: bold !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n z-index: 10001 !important;\n font-family: monospace !important;\n }\n `\n\n document.head.appendChild(style)\n\n // Find and mark responsive elements\n const observer = new MutationObserver(() => {\n this.highlightResponsiveElements()\n })\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['class']\n })\n\n // Initial highlighting\n this.highlightResponsiveElements()\n }\n\n /**\n * Disable element highlighting\n */\n private static disableElementHighlighting(): void {\n if (typeof document === 'undefined') return\n\n const style = document.getElementById('tachui-responsive-highlight')\n if (style) {\n style.remove()\n }\n\n document.querySelectorAll('.tachui-responsive-element').forEach(el => {\n el.classList.remove('tachui-responsive-element')\n })\n }\n\n /**\n * Highlight elements with responsive classes\n */\n private static highlightResponsiveElements(): void {\n if (typeof document === 'undefined') return\n\n // Find elements with tachui responsive classes\n const responsiveSelectors = [\n '[class*=\"tachui-responsive-\"]',\n '[class*=\"tachui-mq-\"]'\n ]\n\n responsiveSelectors.forEach(selector => {\n document.querySelectorAll(selector).forEach(el => {\n if (!el.classList.contains('tachui-responsive-element')) {\n el.classList.add('tachui-responsive-element')\n }\n })\n })\n }\n\n /**\n * Enable performance monitoring display\n */\n private static enablePerformanceMonitoring(): void {\n // Log performance stats periodically\n setInterval(() => {\n if (!this.enabled) return\n\n const perfStats = ResponsivePerformanceMonitor.getStats()\n const cacheStats = cssRuleCache.getStats()\n\n this.log('debug', 'Performance Stats:', {\n cache: cacheStats,\n performance: perfStats\n })\n }, 5000)\n }\n\n /**\n * Log current responsive state\n */\n static logResponsiveState(): void {\n if (!this.enabled) return\n\n const context = createBreakpointContext()\n const config = getCurrentBreakpointConfig()\n\n console.group('🔍 TachUI Responsive State')\n console.log('Current breakpoint:', context.current)\n console.log('Viewport:', `${context.width}×${context.height}`)\n console.log('Configuration:', config)\n\n // Test media queries only in browser environment\n if (typeof window !== 'undefined' && window.matchMedia) {\n const queries = {\n 'Mobile': MediaQueries.mobile,\n 'Tablet': MediaQueries.tablet,\n 'Desktop': MediaQueries.desktop,\n 'Touch Device': MediaQueries.touchDevice,\n 'Dark Mode': MediaQueries.darkMode,\n 'Reduced Motion': MediaQueries.reducedMotion\n }\n\n console.log('Media Query Results:')\n for (const [name, query] of Object.entries(queries)) {\n try {\n console.log(` ${name}: ${window.matchMedia(query).matches}`)\n } catch (_error) {\n console.log(` ${name}: Error testing query`)\n }\n }\n }\n\n console.groupEnd()\n }\n\n /**\n * Inspect a responsive value\n */\n static inspectResponsiveValue<T>(\n value: ResponsiveValue<T>,\n label?: string\n ): void {\n if (!this.enabled) return\n\n const currentBreakpoint = getCurrentBreakpoint()\n\n console.group(`🔍 Responsive Value${label ? ` - ${label}` : ''}`)\n\n if (isResponsiveValue(value)) {\n const responsiveObj = value as Partial<Record<BreakpointKey, T>>\n console.log('Responsive object:', responsiveObj)\n\n // Show resolved value for current breakpoint\n const breakpointOrder: BreakpointKey[] = ['base', 'sm', 'md', 'lg', 'xl', '2xl']\n const currentIndex = breakpointOrder.indexOf(currentBreakpoint())\n\n let resolvedValue: T | undefined\n for (let i = currentIndex; i >= 0; i--) {\n const bp = breakpointOrder[i]\n if (responsiveObj[bp] !== undefined) {\n resolvedValue = responsiveObj[bp]\n console.log(`Resolved value (${bp}):`, resolvedValue)\n break\n }\n }\n\n // Show all defined breakpoints\n console.log('Defined breakpoints:')\n for (const [bp, val] of Object.entries(responsiveObj)) {\n if (val !== undefined) {\n const isCurrent = bp === currentBreakpoint()\n console.log(` ${isCurrent ? '→' : ' '} ${bp}:`, val)\n }\n }\n } else {\n console.log('Static value:', value)\n }\n\n console.groupEnd()\n }\n\n /**\n * Test responsive behavior\n */\n static testResponsiveBehavior(\n responsiveValue: ResponsiveValue<any>,\n testBreakpoints: BreakpointKey[] = ['base', 'sm', 'md', 'lg', 'xl', '2xl']\n ): Partial<Record<BreakpointKey, any>> {\n if (!this.enabled) return {}\n\n const results: Partial<Record<BreakpointKey, any>> = {}\n\n // Mock different breakpoints and test resolution\n testBreakpoints.forEach(bp => {\n // This would require breakpoint mocking functionality\n // For now, just log what would happen\n this.log('debug', `Testing breakpoint ${bp}:`, responsiveValue)\n })\n\n return results\n }\n\n /**\n * Export responsive configuration for debugging\n */\n static exportConfiguration(): {\n breakpoints: Record<BreakpointKey, string>\n currentContext: BreakpointContext\n performance: any\n mediaQueries: Record<string, boolean>\n } {\n const context = createBreakpointContext()\n const config = getCurrentBreakpointConfig()\n const perfStats = ResponsivePerformanceMonitor.getStats()\n const cacheStats = cssRuleCache.getStats()\n\n const mediaQueryResults: Record<string, boolean> = {}\n if (typeof window !== 'undefined' && window.matchMedia) {\n for (const [name, query] of Object.entries(MediaQueries)) {\n if (typeof query === 'string') {\n try {\n mediaQueryResults[name] = window.matchMedia(query).matches\n } catch (_error) {\n mediaQueryResults[name] = false\n }\n }\n }\n }\n\n return {\n breakpoints: config,\n currentContext: context,\n performance: {\n cache: cacheStats,\n timings: perfStats\n },\n mediaQueries: mediaQueryResults\n }\n }\n}\n\n/**\n * Responsive value inspector hook\n */\nexport function useResponsiveInspector<T>(\n value: ResponsiveValue<T>,\n label?: string\n): Signal<{\n resolvedValue: T | undefined\n activeBreakpoint: BreakpointKey\n allValues: Partial<Record<BreakpointKey, T>>\n isResponsive: boolean\n}> {\n const currentBreakpoint = getCurrentBreakpoint()\n\n return createComputed(() => {\n const breakpoint = currentBreakpoint()\n const isResponsive = isResponsiveValue(value)\n\n let resolvedValue: T | undefined\n let allValues: Partial<Record<BreakpointKey, T>> = {}\n\n if (isResponsive) {\n const responsiveObj = value as Partial<Record<BreakpointKey, T>>\n allValues = responsiveObj\n\n // Resolve value for current breakpoint\n const breakpointOrder: BreakpointKey[] = ['base', 'sm', 'md', 'lg', 'xl', '2xl']\n const currentIndex = breakpointOrder.indexOf(breakpoint)\n\n for (let i = currentIndex; i >= 0; i--) {\n const bp = breakpointOrder[i]\n if (responsiveObj[bp] !== undefined) {\n resolvedValue = responsiveObj[bp]\n break\n }\n }\n } else {\n resolvedValue = value as T\n allValues = { [breakpoint]: resolvedValue }\n }\n\n // Log in development mode\n if (ResponsiveDevTools.enabled && label) {\n ResponsiveDevTools.inspectResponsiveValue(value, label)\n }\n\n return {\n resolvedValue,\n activeBreakpoint: breakpoint,\n allValues,\n isResponsive\n }\n }) as Signal<{\n resolvedValue: T | undefined\n activeBreakpoint: BreakpointKey\n allValues: Partial<Record<BreakpointKey, T>>\n isResponsive: boolean\n }>\n}\n\n/**\n * Browser compatibility testing utilities\n */\nexport class BrowserCompatibility {\n /**\n * Test CSS features support\n */\n static testCSSFeatures(): Record<string, boolean> {\n if (typeof window === 'undefined' || typeof CSS === 'undefined' || !CSS.supports) {\n return {}\n }\n\n const features: Record<string, boolean> = {}\n\n try {\n // Test CSS Grid\n features.cssGrid = CSS.supports('display', 'grid')\n\n // Test CSS Flexbox\n features.flexbox = CSS.supports('display', 'flex')\n\n // Test CSS Custom Properties\n features.customProperties = CSS.supports('--test', 'value')\n\n // Test viewport units\n features.viewportUnits = CSS.supports('width', '100vw')\n\n // Test media queries\n features.mediaQueries = typeof window.matchMedia === 'function'\n\n // Test container queries (modern feature)\n features.containerQueries = CSS.supports('container-type', 'inline-size')\n\n // Test CSS logical properties\n features.logicalProperties = CSS.supports('margin-inline-start', '1rem')\n } catch (_error) {\n // If any test fails, just return what we have so far\n }\n\n return features\n }\n\n /**\n * Test responsive behavior across different viewport sizes\n */\n static testViewportSizes(\n callback: (width: number, height: number) => void\n ): void {\n if (typeof window === 'undefined') return\n\n const testSizes = [\n { width: 320, height: 568, name: 'iPhone SE' },\n { width: 375, height: 667, name: 'iPhone 8' },\n { width: 768, height: 1024, name: 'iPad Portrait' },\n { width: 1024, height: 768, name: 'iPad Landscape' },\n { width: 1280, height: 720, name: 'Desktop Small' },\n { width: 1920, height: 1080, name: 'Desktop Large' }\n ]\n\n // This would require a testing environment or dev tools integration\n if (ResponsiveDevTools.enabled) {\n ResponsiveDevTools['log']('info', 'Testing viewport sizes:', testSizes)\n }\n\n testSizes.forEach(size => {\n // In a real implementation, this would simulate the viewport size\n callback(size.width, size.height)\n })\n }\n}\n\n/**\n * Development-only global helpers\n */\nif (typeof window !== 'undefined' && process.env.NODE_ENV !== 'production') {\n // Add global helpers for development\n ;(window as any).tachUIResponsive = {\n devTools: ResponsiveDevTools,\n inspector: useResponsiveInspector,\n compatibility: BrowserCompatibility,\n logState: () => ResponsiveDevTools.logResponsiveState(),\n export: () => ResponsiveDevTools.exportConfiguration()\n }\n}\n"],"names":["ResponsiveDevTools","options","level","args","levels","currentLevel","position","closeButton","resizeTimer","context","createBreakpointContext","breakpointConfig","getCurrentBreakpointConfig","content","name","value","isActive","perfStats","ResponsivePerformanceMonitor","cacheStats","cssRuleCache","stats","testQueries","MediaQueries","query","matches","style","el","selector","config","queries","label","currentBreakpoint","getCurrentBreakpoint","isResponsiveValue","responsiveObj","breakpointOrder","currentIndex","resolvedValue","i","bp","val","isCurrent","responsiveValue","testBreakpoints","results","mediaQueryResults","__publicField","useResponsiveInspector","createComputed","breakpoint","isResponsive","allValues","BrowserCompatibility","features","callback","testSizes","size"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./responsive-modifier.cjs");class p{static autoFit(e){const t={};if(typeof e.minColumnWidth=="object"){t.gridTemplateColumns={};for(const[a,r]of Object.entries(e.minColumnWidth)){const s=typeof r=="number"?`${r}px`:r,o=e.maxColumns&&typeof e.maxColumns=="object"?e.maxColumns[a]||"auto":e.maxColumns||"auto";t.gridTemplateColumns[a]=o==="auto"?`repeat(auto-fit, minmax(${s}, 1fr))`:`repeat(${o}, minmax(${s}, 1fr))`}}else{const a=typeof e.minColumnWidth=="number"?`${e.minColumnWidth}px`:e.minColumnWidth,r=e.maxColumns||"auto";t.gridTemplateColumns=r==="auto"?`repeat(auto-fit, minmax(${a}, 1fr))`:`repeat(${r}, minmax(${a}, 1fr))`}return e.gap&&(t.gap=e.gap),t.display="grid",i.createResponsiveModifier(t)}static columns(e,t){const a={display:"grid",gridTemplateColumns:typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,s])=>[r,`repeat(${s}, 1fr)`])):`repeat(${e}, 1fr)`};return t?.gap&&(a.gap=t.gap),t?.rowGap&&(a.rowGap=t.rowGap),t?.autoRows&&(a.gridAutoRows=t.autoRows),i.createResponsiveModifier(a)}static masonry(e){const t={display:"grid",gridTemplateColumns:typeof e.columns=="object"?Object.fromEntries(Object.entries(e.columns).map(([a,r])=>[a,`repeat(${r}, 1fr)`])):`repeat(${e.columns}, 1fr)`,gridAutoRows:"max-content"};return e.gap&&(t.gap=e.gap),i.createResponsiveModifier(t)}}class l{static stackToRow(e){const a={display:"flex",flexDirection:{base:"column",[e?.stackBreakpoint||"md"]:"row"}};return e?.gap&&(a.gap=e.gap),e?.align&&(a.alignItems=e.align),e?.justify&&(a.justifyContent=e.justify),i.createResponsiveModifier(a)}static wrap(e){const t={display:"flex",flexWrap:"wrap",...e};return i.createResponsiveModifier(t)}static center(e="row"){const t={display:"flex",flexDirection:e,justifyContent:"center",alignItems:"center"};return i.createResponsiveModifier(t)}static spaceBetween(e="row"){const t={display:"flex",flexDirection:e,justifyContent:"space-between",alignItems:"center"};return i.createResponsiveModifier(t)}}class d{static container(e){const t={width:"100%",marginLeft:"auto",marginRight:"auto"};return e?.maxWidth?t.maxWidth=e.maxWidth:t.maxWidth={sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},e?.padding&&(t.paddingLeft=e.padding,t.paddingRight=e.padding),e?.margin&&(t.marginTop=e.margin,t.marginBottom=e.margin),i.createResponsiveModifier(t)}static fullWidth(){return i.createResponsiveModifier({width:"100vw",marginLeft:"calc(-50vw + 50%)",marginRight:"calc(-50vw + 50%)"})}static section(e){const t={};return e?.paddingY&&(t.paddingTop=e.paddingY,t.paddingBottom=e.paddingY),e?.paddingX&&(t.paddingLeft=e.paddingX,t.paddingRight=e.paddingX),e?.maxWidth&&(t.maxWidth=e.maxWidth,t.marginLeft="auto",t.marginRight="auto"),i.createResponsiveModifier(t)}}class m{static showOn(e){const t={display:{}};for(const a of e)t.display[a]="block";return i.createResponsiveModifier(t)}static hideOn(e){const t={display:{}};for(const a of e)t.display[a]="none";return i.createResponsiveModifier(t)}static mobileOnly(){return i.createResponsiveModifier({display:{base:"block",md:"none"}})}static desktopOnly(){return i.createResponsiveModifier({display:{base:"none",md:"block"}})}static tabletOnly(){return i.createResponsiveModifier({display:{base:"none",md:"block",lg:"none"}})}}class u{static padding(e){const t={};return e.all&&(t.padding=e.all),e.horizontal&&(t.paddingLeft=e.horizontal,t.paddingRight=e.horizontal),e.vertical&&(t.paddingTop=e.vertical,t.paddingBottom=e.vertical),e.top&&(t.paddingTop=e.top),e.right&&(t.paddingRight=e.right),e.bottom&&(t.paddingBottom=e.bottom),e.left&&(t.paddingLeft=e.left),i.createResponsiveModifier(t)}static margin(e){const t={};return e.all&&(t.margin=e.all),e.horizontal&&(t.marginLeft=e.horizontal,t.marginRight=e.horizontal),e.vertical&&(t.marginTop=e.vertical,t.marginBottom=e.vertical),e.top&&(t.marginTop=e.top),e.right&&(t.marginRight=e.right),e.bottom&&(t.marginBottom=e.bottom),e.left&&(t.marginLeft=e.left),i.createResponsiveModifier(t)}static gap(e){const t={};return e.all&&(t.gap=e.all),e.column&&(t.columnGap=e.column),e.row&&(t.rowGap=e.row),i.createResponsiveModifier(t)}}class x{static scale(e){const t={fontSize:e.base};if(e.scale&&typeof e.scale=="object"){t.fontSize={};for(const[a,r]of Object.entries(e.scale)){const s=typeof e.base=="number"?e.base:parseFloat(e.base);t.fontSize[a]=`${s*r}px`}}return e.lineHeight&&(t.lineHeight=e.lineHeight),i.createResponsiveModifier(t)}static fluid(e){const t=e.minBreakpoint||"320px",a=e.maxBreakpoint||"1200px",r=typeof e.minSize=="number"?`${e.minSize}px`:e.minSize,s=typeof e.maxSize=="number"?`${e.maxSize}px`:e.maxSize;return i.createResponsiveModifier({fontSize:`clamp(${r}, calc(${r} + (${s} - ${r}) * ((100vw - ${t}) / (${a} - ${t}))), ${s})`})}}exports.Container=d;exports.Flex=l;exports.ResponsiveContainerPatterns=d;exports.ResponsiveFlexPatterns=l;exports.ResponsiveGrid=p;exports.ResponsiveGridPatterns=p;exports.ResponsiveSpacingPatterns=u;exports.ResponsiveTypography=x;exports.ResponsiveTypographyPatterns=x;exports.ResponsiveVisibilityPatterns=m;exports.Spacing=u;exports.Visibility=m;
|
|
2
|
-
//# sourceMappingURL=layout-patterns.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layout-patterns.cjs","sources":["../../../src/modifiers/responsive/layout-patterns.ts"],"sourcesContent":["/**\n * Responsive Layout Utility Patterns\n * \n * Provides common responsive layout patterns and utilities that make it easy\n * to create responsive designs without writing custom CSS for every use case.\n */\n\nimport { \n ResponsiveValue, \n BreakpointKey, \n ResponsiveSpacingConfig\n} from './types'\nimport { createResponsiveModifier } from './responsive-modifier'\n\n/**\n * Configuration for responsive grid layout\n */\nexport interface ResponsiveGridConfig {\n columns?: ResponsiveValue<number>\n rows?: ResponsiveValue<number>\n gap?: ResponsiveValue<string | number>\n columnGap?: ResponsiveValue<string | number>\n rowGap?: ResponsiveValue<string | number>\n autoFlow?: ResponsiveValue<'row' | 'column' | 'row dense' | 'column dense'>\n autoRows?: ResponsiveValue<string>\n autoColumns?: ResponsiveValue<string>\n templateAreas?: ResponsiveValue<string>\n}\n\n/**\n * Configuration for responsive flexbox layout\n */\nexport interface ResponsiveFlexConfig {\n direction?: ResponsiveValue<'row' | 'row-reverse' | 'column' | 'column-reverse'>\n wrap?: ResponsiveValue<'nowrap' | 'wrap' | 'wrap-reverse'>\n justify?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'>\n align?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'>\n alignContent?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'stretch' | 'space-between' | 'space-around'>\n gap?: ResponsiveValue<string | number>\n columnGap?: ResponsiveValue<string | number>\n rowGap?: ResponsiveValue<string | number>\n}\n\n/**\n * Configuration for responsive container layout\n */\nexport interface ResponsiveContainerConfig {\n maxWidth?: ResponsiveValue<string | number>\n width?: ResponsiveValue<string | number>\n padding?: ResponsiveValue<string | number>\n margin?: ResponsiveValue<string | number>\n centerContent?: ResponsiveValue<boolean>\n}\n\n\n/**\n * Responsive Grid Layout Utilities\n */\nexport class ResponsiveGridPatterns {\n /**\n * Create a responsive grid with automatic column sizing\n */\n static autoFit(config: {\n minColumnWidth: ResponsiveValue<string | number>\n gap?: ResponsiveValue<string | number>\n maxColumns?: ResponsiveValue<number>\n }) {\n const gridConfig: any = {}\n \n if (typeof config.minColumnWidth === 'object') {\n // Handle responsive minColumnWidth\n gridConfig.gridTemplateColumns = {}\n for (const [breakpoint, width] of Object.entries(config.minColumnWidth)) {\n const widthValue = typeof width === 'number' ? `${width}px` : width\n const maxCols = config.maxColumns && typeof config.maxColumns === 'object' \n ? config.maxColumns[breakpoint as BreakpointKey] || 'auto'\n : config.maxColumns || 'auto'\n \n gridConfig.gridTemplateColumns[breakpoint] = maxCols === 'auto' \n ? `repeat(auto-fit, minmax(${widthValue}, 1fr))`\n : `repeat(${maxCols}, minmax(${widthValue}, 1fr))`\n }\n } else {\n const widthValue = typeof config.minColumnWidth === 'number' ? `${config.minColumnWidth}px` : config.minColumnWidth\n const maxCols = config.maxColumns || 'auto'\n gridConfig.gridTemplateColumns = maxCols === 'auto'\n ? `repeat(auto-fit, minmax(${widthValue}, 1fr))`\n : `repeat(${maxCols}, minmax(${widthValue}, 1fr))`\n }\n \n if (config.gap) {\n gridConfig.gap = config.gap\n }\n \n gridConfig.display = 'grid'\n \n return createResponsiveModifier(gridConfig)\n }\n \n /**\n * Create a responsive grid with explicit column counts\n */\n static columns(columns: ResponsiveValue<number>, config?: {\n gap?: ResponsiveValue<string | number>\n rowGap?: ResponsiveValue<string | number>\n autoRows?: ResponsiveValue<string>\n }) {\n const gridConfig: any = {\n display: 'grid',\n gridTemplateColumns: typeof columns === 'object' \n ? Object.fromEntries(\n Object.entries(columns).map(([bp, cols]) => [bp, `repeat(${cols}, 1fr)`])\n )\n : `repeat(${columns}, 1fr)`\n }\n \n if (config?.gap) gridConfig.gap = config.gap\n if (config?.rowGap) gridConfig.rowGap = config.rowGap\n if (config?.autoRows) gridConfig.gridAutoRows = config.autoRows\n \n return createResponsiveModifier(gridConfig)\n }\n \n /**\n * Create responsive masonry-style grid\n */\n static masonry(config: {\n columns: ResponsiveValue<number>\n gap?: ResponsiveValue<string | number>\n }) {\n const gridConfig: any = {\n display: 'grid',\n gridTemplateColumns: typeof config.columns === 'object'\n ? Object.fromEntries(\n Object.entries(config.columns).map(([bp, cols]) => [bp, `repeat(${cols}, 1fr)`])\n )\n : `repeat(${config.columns}, 1fr)`,\n gridAutoRows: 'max-content'\n }\n \n if (config.gap) gridConfig.gap = config.gap\n \n return createResponsiveModifier(gridConfig)\n }\n}\n\n/**\n * Responsive Flexbox Layout Utilities\n */\nexport class ResponsiveFlexPatterns {\n /**\n * Create a responsive flex container that stacks on mobile, flows horizontally on desktop\n */\n static stackToRow(config?: {\n stackBreakpoint?: BreakpointKey\n gap?: ResponsiveValue<string | number>\n align?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'>\n justify?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'>\n }) {\n const stackBreakpoint = config?.stackBreakpoint || 'md'\n \n const flexConfig: any = {\n display: 'flex',\n flexDirection: {\n base: 'column',\n [stackBreakpoint]: 'row'\n }\n }\n \n if (config?.gap) flexConfig.gap = config.gap\n if (config?.align) flexConfig.alignItems = config.align\n if (config?.justify) flexConfig.justifyContent = config.justify\n \n return createResponsiveModifier(flexConfig)\n }\n \n /**\n * Create a responsive flex container with wrapping behavior\n */\n static wrap(config?: ResponsiveFlexConfig) {\n const flexConfig: any = {\n display: 'flex',\n flexWrap: 'wrap',\n ...config\n }\n \n return createResponsiveModifier(flexConfig)\n }\n \n /**\n * Create centered flex layout\n */\n static center(direction: ResponsiveValue<'row' | 'column'> = 'row') {\n const flexConfig: any = {\n display: 'flex',\n flexDirection: direction,\n justifyContent: 'center',\n alignItems: 'center'\n }\n \n return createResponsiveModifier(flexConfig)\n }\n \n /**\n * Create space-between flex layout\n */\n static spaceBetween(direction: ResponsiveValue<'row' | 'column'> = 'row') {\n const flexConfig: any = {\n display: 'flex',\n flexDirection: direction,\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n \n return createResponsiveModifier(flexConfig)\n }\n}\n\n/**\n * Responsive Container Utilities\n */\nexport class ResponsiveContainerPatterns {\n /**\n * Create a responsive container with max-width constraints\n */\n static container(config?: ResponsiveContainerConfig) {\n const containerConfig: any = {\n width: '100%',\n marginLeft: 'auto',\n marginRight: 'auto'\n }\n \n if (config?.maxWidth) {\n containerConfig.maxWidth = config.maxWidth\n } else {\n // Default responsive max-widths\n containerConfig.maxWidth = {\n sm: '640px',\n md: '768px',\n lg: '1024px',\n xl: '1280px',\n '2xl': '1536px'\n }\n }\n \n if (config?.padding) {\n containerConfig.paddingLeft = config.padding\n containerConfig.paddingRight = config.padding\n }\n \n if (config?.margin) {\n containerConfig.marginTop = config.margin\n containerConfig.marginBottom = config.margin\n }\n \n return createResponsiveModifier(containerConfig)\n }\n \n /**\n * Create a full-width container that breaks out of constraints\n */\n static fullWidth() {\n return createResponsiveModifier({\n width: '100vw',\n marginLeft: 'calc(-50vw + 50%)',\n marginRight: 'calc(-50vw + 50%)'\n })\n }\n \n /**\n * Create a section container with responsive padding\n */\n static section(config?: {\n paddingY?: ResponsiveValue<string | number>\n paddingX?: ResponsiveValue<string | number>\n maxWidth?: ResponsiveValue<string | number>\n }) {\n const sectionConfig: any = {}\n \n if (config?.paddingY) {\n sectionConfig.paddingTop = config.paddingY\n sectionConfig.paddingBottom = config.paddingY\n }\n \n if (config?.paddingX) {\n sectionConfig.paddingLeft = config.paddingX\n sectionConfig.paddingRight = config.paddingX\n }\n \n if (config?.maxWidth) {\n sectionConfig.maxWidth = config.maxWidth\n sectionConfig.marginLeft = 'auto'\n sectionConfig.marginRight = 'auto'\n }\n \n return createResponsiveModifier(sectionConfig)\n }\n}\n\n/**\n * Responsive Visibility Utilities\n */\nexport class ResponsiveVisibilityPatterns {\n /**\n * Show element only on specific breakpoints\n */\n static showOn(breakpoints: BreakpointKey[]) {\n const displayConfig: any = {\n display: {} // Start with empty object\n }\n \n // Show on specified breakpoints\n for (const breakpoint of breakpoints) {\n displayConfig.display[breakpoint] = 'block'\n }\n \n return createResponsiveModifier(displayConfig)\n }\n \n /**\n * Hide element only on specific breakpoints\n */\n static hideOn(breakpoints: BreakpointKey[]) {\n const displayConfig: any = {\n display: {} // Start with empty object\n }\n \n // Hide on specified breakpoints\n for (const breakpoint of breakpoints) {\n displayConfig.display[breakpoint] = 'none'\n }\n \n return createResponsiveModifier(displayConfig)\n }\n \n /**\n * Show on mobile, hide on desktop\n */\n static mobileOnly() {\n return createResponsiveModifier({\n display: {\n base: 'block',\n md: 'none'\n }\n })\n }\n \n /**\n * Hide on mobile, show on desktop\n */\n static desktopOnly() {\n return createResponsiveModifier({\n display: {\n base: 'none',\n md: 'block'\n }\n })\n }\n \n /**\n * Show only on tablet breakpoint\n */\n static tabletOnly() {\n return createResponsiveModifier({\n display: {\n base: 'none',\n md: 'block',\n lg: 'none'\n }\n })\n }\n}\n\n/**\n * Responsive Spacing Utilities\n */\nexport class ResponsiveSpacingPatterns {\n /**\n * Create responsive padding\n */\n static padding(config: ResponsiveSpacingConfig) {\n const paddingConfig: any = {}\n \n if (config.all) paddingConfig.padding = config.all\n if (config.horizontal) {\n paddingConfig.paddingLeft = config.horizontal\n paddingConfig.paddingRight = config.horizontal\n }\n if (config.vertical) {\n paddingConfig.paddingTop = config.vertical\n paddingConfig.paddingBottom = config.vertical\n }\n if (config.top) paddingConfig.paddingTop = config.top\n if (config.right) paddingConfig.paddingRight = config.right\n if (config.bottom) paddingConfig.paddingBottom = config.bottom\n if (config.left) paddingConfig.paddingLeft = config.left\n \n return createResponsiveModifier(paddingConfig)\n }\n \n /**\n * Create responsive margin\n */\n static margin(config: ResponsiveSpacingConfig) {\n const marginConfig: any = {}\n \n if (config.all) marginConfig.margin = config.all\n if (config.horizontal) {\n marginConfig.marginLeft = config.horizontal\n marginConfig.marginRight = config.horizontal\n }\n if (config.vertical) {\n marginConfig.marginTop = config.vertical\n marginConfig.marginBottom = config.vertical\n }\n if (config.top) marginConfig.marginTop = config.top\n if (config.right) marginConfig.marginRight = config.right\n if (config.bottom) marginConfig.marginBottom = config.bottom\n if (config.left) marginConfig.marginLeft = config.left\n \n return createResponsiveModifier(marginConfig)\n }\n \n /**\n * Create responsive gap (for flexbox and grid)\n */\n static gap(config: {\n all?: ResponsiveValue<string | number>\n column?: ResponsiveValue<string | number>\n row?: ResponsiveValue<string | number>\n }) {\n const gapConfig: any = {}\n \n if (config.all) gapConfig.gap = config.all\n if (config.column) gapConfig.columnGap = config.column\n if (config.row) gapConfig.rowGap = config.row\n \n return createResponsiveModifier(gapConfig)\n }\n}\n\n/**\n * Responsive Typography Utilities\n */\nexport class ResponsiveTypographyPatterns {\n /**\n * Create responsive font scale\n */\n static scale(config: {\n base: string | number\n scale?: ResponsiveValue<number>\n lineHeight?: ResponsiveValue<number | string>\n }) {\n const typographyConfig: any = {\n fontSize: config.base\n }\n \n if (config.scale && typeof config.scale === 'object') {\n typographyConfig.fontSize = {}\n for (const [breakpoint, scaleValue] of Object.entries(config.scale)) {\n const baseSize = typeof config.base === 'number' ? config.base : parseFloat(config.base)\n typographyConfig.fontSize[breakpoint] = `${baseSize * scaleValue}px`\n }\n }\n \n if (config.lineHeight) {\n typographyConfig.lineHeight = config.lineHeight\n }\n \n return createResponsiveModifier(typographyConfig)\n }\n \n /**\n * Create fluid typography that scales smoothly\n */\n static fluid(config: {\n minSize: string | number\n maxSize: string | number\n minBreakpoint?: string\n maxBreakpoint?: string\n }) {\n const minBp = config.minBreakpoint || '320px'\n const maxBp = config.maxBreakpoint || '1200px'\n const minSize = typeof config.minSize === 'number' ? `${config.minSize}px` : config.minSize\n const maxSize = typeof config.maxSize === 'number' ? `${config.maxSize}px` : config.maxSize\n \n return createResponsiveModifier({\n fontSize: `clamp(${minSize}, calc(${minSize} + (${maxSize} - ${minSize}) * ((100vw - ${minBp}) / (${maxBp} - ${minBp}))), ${maxSize})`\n })\n }\n}\n\n/**\n * Common Layout Patterns\n */\nexport const LayoutPatterns = {\n /**\n * Sidebar layout that collapses on mobile\n */\n sidebar: (config?: {\n sidebarWidth?: ResponsiveValue<string | number>\n collapseBreakpoint?: BreakpointKey\n gap?: ResponsiveValue<string | number>\n }) => {\n const collapseBreakpoint = config?.collapseBreakpoint || 'md'\n const sidebarWidth = config?.sidebarWidth || '250px'\n \n return createResponsiveModifier({\n display: 'grid',\n gridTemplateColumns: {\n base: '1fr',\n [collapseBreakpoint]: `${sidebarWidth} 1fr`\n },\n gap: config?.gap || '1rem'\n })\n },\n \n /**\n * Holy grail layout (header, footer, sidebar, main content)\n */\n holyGrail: (config?: {\n headerHeight?: ResponsiveValue<string | number>\n footerHeight?: ResponsiveValue<string | number>\n sidebarWidth?: ResponsiveValue<string | number>\n collapseBreakpoint?: BreakpointKey\n }) => {\n const collapseBreakpoint = config?.collapseBreakpoint || 'lg'\n \n return createResponsiveModifier({\n display: 'grid',\n gridTemplateAreas: {\n base: '\"header\" \"main\" \"footer\"',\n [collapseBreakpoint]: '\"header header\" \"sidebar main\" \"footer footer\"'\n },\n gridTemplateRows: {\n base: `${config?.headerHeight || 'auto'} 1fr ${config?.footerHeight || 'auto'}`,\n [collapseBreakpoint]: `${config?.headerHeight || 'auto'} 1fr ${config?.footerHeight || 'auto'}`\n },\n gridTemplateColumns: {\n base: '1fr',\n [collapseBreakpoint]: `${config?.sidebarWidth || '250px'} 1fr`\n },\n minHeight: '100vh'\n })\n },\n \n /**\n * Card grid layout\n */\n cardGrid: (config?: {\n minCardWidth?: ResponsiveValue<string | number>\n gap?: ResponsiveValue<string | number>\n maxColumns?: ResponsiveValue<number>\n }) => {\n return ResponsiveGridPatterns.autoFit({\n minColumnWidth: config?.minCardWidth || '300px',\n gap: config?.gap || '1rem',\n maxColumns: config?.maxColumns\n })\n },\n \n /**\n * Hero section layout\n */\n hero: (config?: {\n minHeight?: ResponsiveValue<string | number>\n textAlign?: ResponsiveValue<'left' | 'center' | 'right'>\n padding?: ResponsiveValue<string | number>\n }) => {\n return createResponsiveModifier({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n textAlign: config?.textAlign || 'center',\n minHeight: config?.minHeight || '50vh',\n padding: config?.padding || '2rem'\n })\n }\n}\n\n/**\n * Export all layout patterns for easy access\n */\nexport {\n ResponsiveGridPatterns as ResponsiveGrid,\n ResponsiveFlexPatterns as Flex,\n ResponsiveContainerPatterns as Container,\n ResponsiveVisibilityPatterns as Visibility,\n ResponsiveSpacingPatterns as Spacing,\n ResponsiveTypographyPatterns as ResponsiveTypography\n}"],"names":["ResponsiveGridPatterns","config","gridConfig","breakpoint","width","widthValue","maxCols","createResponsiveModifier","columns","bp","cols","ResponsiveFlexPatterns","flexConfig","direction","ResponsiveContainerPatterns","containerConfig","sectionConfig","ResponsiveVisibilityPatterns","breakpoints","displayConfig","ResponsiveSpacingPatterns","paddingConfig","marginConfig","gapConfig","ResponsiveTypographyPatterns","typographyConfig","scaleValue","baseSize","minBp","maxBp","minSize","maxSize"],"mappings":"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"}
|
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
import { createResponsiveModifier as i } from "./responsive-modifier.js";
|
|
2
|
-
class o {
|
|
3
|
-
/**
|
|
4
|
-
* Create a responsive grid with automatic column sizing
|
|
5
|
-
*/
|
|
6
|
-
static autoFit(t) {
|
|
7
|
-
const a = {};
|
|
8
|
-
if (typeof t.minColumnWidth == "object") {
|
|
9
|
-
a.gridTemplateColumns = {};
|
|
10
|
-
for (const [e, r] of Object.entries(t.minColumnWidth)) {
|
|
11
|
-
const s = typeof r == "number" ? `${r}px` : r, p = t.maxColumns && typeof t.maxColumns == "object" ? t.maxColumns[e] || "auto" : t.maxColumns || "auto";
|
|
12
|
-
a.gridTemplateColumns[e] = p === "auto" ? `repeat(auto-fit, minmax(${s}, 1fr))` : `repeat(${p}, minmax(${s}, 1fr))`;
|
|
13
|
-
}
|
|
14
|
-
} else {
|
|
15
|
-
const e = typeof t.minColumnWidth == "number" ? `${t.minColumnWidth}px` : t.minColumnWidth, r = t.maxColumns || "auto";
|
|
16
|
-
a.gridTemplateColumns = r === "auto" ? `repeat(auto-fit, minmax(${e}, 1fr))` : `repeat(${r}, minmax(${e}, 1fr))`;
|
|
17
|
-
}
|
|
18
|
-
return t.gap && (a.gap = t.gap), a.display = "grid", i(a);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Create a responsive grid with explicit column counts
|
|
22
|
-
*/
|
|
23
|
-
static columns(t, a) {
|
|
24
|
-
const e = {
|
|
25
|
-
display: "grid",
|
|
26
|
-
gridTemplateColumns: typeof t == "object" ? Object.fromEntries(
|
|
27
|
-
Object.entries(t).map(([r, s]) => [r, `repeat(${s}, 1fr)`])
|
|
28
|
-
) : `repeat(${t}, 1fr)`
|
|
29
|
-
};
|
|
30
|
-
return a?.gap && (e.gap = a.gap), a?.rowGap && (e.rowGap = a.rowGap), a?.autoRows && (e.gridAutoRows = a.autoRows), i(e);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Create responsive masonry-style grid
|
|
34
|
-
*/
|
|
35
|
-
static masonry(t) {
|
|
36
|
-
const a = {
|
|
37
|
-
display: "grid",
|
|
38
|
-
gridTemplateColumns: typeof t.columns == "object" ? Object.fromEntries(
|
|
39
|
-
Object.entries(t.columns).map(([e, r]) => [e, `repeat(${r}, 1fr)`])
|
|
40
|
-
) : `repeat(${t.columns}, 1fr)`,
|
|
41
|
-
gridAutoRows: "max-content"
|
|
42
|
-
};
|
|
43
|
-
return t.gap && (a.gap = t.gap), i(a);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
class m {
|
|
47
|
-
/**
|
|
48
|
-
* Create a responsive flex container that stacks on mobile, flows horizontally on desktop
|
|
49
|
-
*/
|
|
50
|
-
static stackToRow(t) {
|
|
51
|
-
const e = {
|
|
52
|
-
display: "flex",
|
|
53
|
-
flexDirection: {
|
|
54
|
-
base: "column",
|
|
55
|
-
[t?.stackBreakpoint || "md"]: "row"
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
return t?.gap && (e.gap = t.gap), t?.align && (e.alignItems = t.align), t?.justify && (e.justifyContent = t.justify), i(e);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Create a responsive flex container with wrapping behavior
|
|
62
|
-
*/
|
|
63
|
-
static wrap(t) {
|
|
64
|
-
const a = {
|
|
65
|
-
display: "flex",
|
|
66
|
-
flexWrap: "wrap",
|
|
67
|
-
...t
|
|
68
|
-
};
|
|
69
|
-
return i(a);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Create centered flex layout
|
|
73
|
-
*/
|
|
74
|
-
static center(t = "row") {
|
|
75
|
-
return i({
|
|
76
|
-
display: "flex",
|
|
77
|
-
flexDirection: t,
|
|
78
|
-
justifyContent: "center",
|
|
79
|
-
alignItems: "center"
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Create space-between flex layout
|
|
84
|
-
*/
|
|
85
|
-
static spaceBetween(t = "row") {
|
|
86
|
-
return i({
|
|
87
|
-
display: "flex",
|
|
88
|
-
flexDirection: t,
|
|
89
|
-
justifyContent: "space-between",
|
|
90
|
-
alignItems: "center"
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
class d {
|
|
95
|
-
/**
|
|
96
|
-
* Create a responsive container with max-width constraints
|
|
97
|
-
*/
|
|
98
|
-
static container(t) {
|
|
99
|
-
const a = {
|
|
100
|
-
width: "100%",
|
|
101
|
-
marginLeft: "auto",
|
|
102
|
-
marginRight: "auto"
|
|
103
|
-
};
|
|
104
|
-
return t?.maxWidth ? a.maxWidth = t.maxWidth : a.maxWidth = {
|
|
105
|
-
sm: "640px",
|
|
106
|
-
md: "768px",
|
|
107
|
-
lg: "1024px",
|
|
108
|
-
xl: "1280px",
|
|
109
|
-
"2xl": "1536px"
|
|
110
|
-
}, t?.padding && (a.paddingLeft = t.padding, a.paddingRight = t.padding), t?.margin && (a.marginTop = t.margin, a.marginBottom = t.margin), i(a);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Create a full-width container that breaks out of constraints
|
|
114
|
-
*/
|
|
115
|
-
static fullWidth() {
|
|
116
|
-
return i({
|
|
117
|
-
width: "100vw",
|
|
118
|
-
marginLeft: "calc(-50vw + 50%)",
|
|
119
|
-
marginRight: "calc(-50vw + 50%)"
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Create a section container with responsive padding
|
|
124
|
-
*/
|
|
125
|
-
static section(t) {
|
|
126
|
-
const a = {};
|
|
127
|
-
return t?.paddingY && (a.paddingTop = t.paddingY, a.paddingBottom = t.paddingY), t?.paddingX && (a.paddingLeft = t.paddingX, a.paddingRight = t.paddingX), t?.maxWidth && (a.maxWidth = t.maxWidth, a.marginLeft = "auto", a.marginRight = "auto"), i(a);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
class u {
|
|
131
|
-
/**
|
|
132
|
-
* Show element only on specific breakpoints
|
|
133
|
-
*/
|
|
134
|
-
static showOn(t) {
|
|
135
|
-
const a = {
|
|
136
|
-
display: {}
|
|
137
|
-
// Start with empty object
|
|
138
|
-
};
|
|
139
|
-
for (const e of t)
|
|
140
|
-
a.display[e] = "block";
|
|
141
|
-
return i(a);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Hide element only on specific breakpoints
|
|
145
|
-
*/
|
|
146
|
-
static hideOn(t) {
|
|
147
|
-
const a = {
|
|
148
|
-
display: {}
|
|
149
|
-
// Start with empty object
|
|
150
|
-
};
|
|
151
|
-
for (const e of t)
|
|
152
|
-
a.display[e] = "none";
|
|
153
|
-
return i(a);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Show on mobile, hide on desktop
|
|
157
|
-
*/
|
|
158
|
-
static mobileOnly() {
|
|
159
|
-
return i({
|
|
160
|
-
display: {
|
|
161
|
-
base: "block",
|
|
162
|
-
md: "none"
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Hide on mobile, show on desktop
|
|
168
|
-
*/
|
|
169
|
-
static desktopOnly() {
|
|
170
|
-
return i({
|
|
171
|
-
display: {
|
|
172
|
-
base: "none",
|
|
173
|
-
md: "block"
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Show only on tablet breakpoint
|
|
179
|
-
*/
|
|
180
|
-
static tabletOnly() {
|
|
181
|
-
return i({
|
|
182
|
-
display: {
|
|
183
|
-
base: "none",
|
|
184
|
-
md: "block",
|
|
185
|
-
lg: "none"
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
class x {
|
|
191
|
-
/**
|
|
192
|
-
* Create responsive padding
|
|
193
|
-
*/
|
|
194
|
-
static padding(t) {
|
|
195
|
-
const a = {};
|
|
196
|
-
return t.all && (a.padding = t.all), t.horizontal && (a.paddingLeft = t.horizontal, a.paddingRight = t.horizontal), t.vertical && (a.paddingTop = t.vertical, a.paddingBottom = t.vertical), t.top && (a.paddingTop = t.top), t.right && (a.paddingRight = t.right), t.bottom && (a.paddingBottom = t.bottom), t.left && (a.paddingLeft = t.left), i(a);
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Create responsive margin
|
|
200
|
-
*/
|
|
201
|
-
static margin(t) {
|
|
202
|
-
const a = {};
|
|
203
|
-
return t.all && (a.margin = t.all), t.horizontal && (a.marginLeft = t.horizontal, a.marginRight = t.horizontal), t.vertical && (a.marginTop = t.vertical, a.marginBottom = t.vertical), t.top && (a.marginTop = t.top), t.right && (a.marginRight = t.right), t.bottom && (a.marginBottom = t.bottom), t.left && (a.marginLeft = t.left), i(a);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Create responsive gap (for flexbox and grid)
|
|
207
|
-
*/
|
|
208
|
-
static gap(t) {
|
|
209
|
-
const a = {};
|
|
210
|
-
return t.all && (a.gap = t.all), t.column && (a.columnGap = t.column), t.row && (a.rowGap = t.row), i(a);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
class h {
|
|
214
|
-
/**
|
|
215
|
-
* Create responsive font scale
|
|
216
|
-
*/
|
|
217
|
-
static scale(t) {
|
|
218
|
-
const a = {
|
|
219
|
-
fontSize: t.base
|
|
220
|
-
};
|
|
221
|
-
if (t.scale && typeof t.scale == "object") {
|
|
222
|
-
a.fontSize = {};
|
|
223
|
-
for (const [e, r] of Object.entries(t.scale)) {
|
|
224
|
-
const s = typeof t.base == "number" ? t.base : parseFloat(t.base);
|
|
225
|
-
a.fontSize[e] = `${s * r}px`;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
return t.lineHeight && (a.lineHeight = t.lineHeight), i(a);
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Create fluid typography that scales smoothly
|
|
232
|
-
*/
|
|
233
|
-
static fluid(t) {
|
|
234
|
-
const a = t.minBreakpoint || "320px", e = t.maxBreakpoint || "1200px", r = typeof t.minSize == "number" ? `${t.minSize}px` : t.minSize, s = typeof t.maxSize == "number" ? `${t.maxSize}px` : t.maxSize;
|
|
235
|
-
return i({
|
|
236
|
-
fontSize: `clamp(${r}, calc(${r} + (${s} - ${r}) * ((100vw - ${a}) / (${e} - ${a}))), ${s})`
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
export {
|
|
241
|
-
d as Container,
|
|
242
|
-
m as Flex,
|
|
243
|
-
d as ResponsiveContainerPatterns,
|
|
244
|
-
m as ResponsiveFlexPatterns,
|
|
245
|
-
o as ResponsiveGrid,
|
|
246
|
-
o as ResponsiveGridPatterns,
|
|
247
|
-
x as ResponsiveSpacingPatterns,
|
|
248
|
-
h as ResponsiveTypography,
|
|
249
|
-
h as ResponsiveTypographyPatterns,
|
|
250
|
-
u as ResponsiveVisibilityPatterns,
|
|
251
|
-
x as Spacing,
|
|
252
|
-
u as Visibility
|
|
253
|
-
};
|
|
254
|
-
//# sourceMappingURL=layout-patterns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layout-patterns.js","sources":["../../../src/modifiers/responsive/layout-patterns.ts"],"sourcesContent":["/**\n * Responsive Layout Utility Patterns\n * \n * Provides common responsive layout patterns and utilities that make it easy\n * to create responsive designs without writing custom CSS for every use case.\n */\n\nimport { \n ResponsiveValue, \n BreakpointKey, \n ResponsiveSpacingConfig\n} from './types'\nimport { createResponsiveModifier } from './responsive-modifier'\n\n/**\n * Configuration for responsive grid layout\n */\nexport interface ResponsiveGridConfig {\n columns?: ResponsiveValue<number>\n rows?: ResponsiveValue<number>\n gap?: ResponsiveValue<string | number>\n columnGap?: ResponsiveValue<string | number>\n rowGap?: ResponsiveValue<string | number>\n autoFlow?: ResponsiveValue<'row' | 'column' | 'row dense' | 'column dense'>\n autoRows?: ResponsiveValue<string>\n autoColumns?: ResponsiveValue<string>\n templateAreas?: ResponsiveValue<string>\n}\n\n/**\n * Configuration for responsive flexbox layout\n */\nexport interface ResponsiveFlexConfig {\n direction?: ResponsiveValue<'row' | 'row-reverse' | 'column' | 'column-reverse'>\n wrap?: ResponsiveValue<'nowrap' | 'wrap' | 'wrap-reverse'>\n justify?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'>\n align?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'>\n alignContent?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'stretch' | 'space-between' | 'space-around'>\n gap?: ResponsiveValue<string | number>\n columnGap?: ResponsiveValue<string | number>\n rowGap?: ResponsiveValue<string | number>\n}\n\n/**\n * Configuration for responsive container layout\n */\nexport interface ResponsiveContainerConfig {\n maxWidth?: ResponsiveValue<string | number>\n width?: ResponsiveValue<string | number>\n padding?: ResponsiveValue<string | number>\n margin?: ResponsiveValue<string | number>\n centerContent?: ResponsiveValue<boolean>\n}\n\n\n/**\n * Responsive Grid Layout Utilities\n */\nexport class ResponsiveGridPatterns {\n /**\n * Create a responsive grid with automatic column sizing\n */\n static autoFit(config: {\n minColumnWidth: ResponsiveValue<string | number>\n gap?: ResponsiveValue<string | number>\n maxColumns?: ResponsiveValue<number>\n }) {\n const gridConfig: any = {}\n \n if (typeof config.minColumnWidth === 'object') {\n // Handle responsive minColumnWidth\n gridConfig.gridTemplateColumns = {}\n for (const [breakpoint, width] of Object.entries(config.minColumnWidth)) {\n const widthValue = typeof width === 'number' ? `${width}px` : width\n const maxCols = config.maxColumns && typeof config.maxColumns === 'object' \n ? config.maxColumns[breakpoint as BreakpointKey] || 'auto'\n : config.maxColumns || 'auto'\n \n gridConfig.gridTemplateColumns[breakpoint] = maxCols === 'auto' \n ? `repeat(auto-fit, minmax(${widthValue}, 1fr))`\n : `repeat(${maxCols}, minmax(${widthValue}, 1fr))`\n }\n } else {\n const widthValue = typeof config.minColumnWidth === 'number' ? `${config.minColumnWidth}px` : config.minColumnWidth\n const maxCols = config.maxColumns || 'auto'\n gridConfig.gridTemplateColumns = maxCols === 'auto'\n ? `repeat(auto-fit, minmax(${widthValue}, 1fr))`\n : `repeat(${maxCols}, minmax(${widthValue}, 1fr))`\n }\n \n if (config.gap) {\n gridConfig.gap = config.gap\n }\n \n gridConfig.display = 'grid'\n \n return createResponsiveModifier(gridConfig)\n }\n \n /**\n * Create a responsive grid with explicit column counts\n */\n static columns(columns: ResponsiveValue<number>, config?: {\n gap?: ResponsiveValue<string | number>\n rowGap?: ResponsiveValue<string | number>\n autoRows?: ResponsiveValue<string>\n }) {\n const gridConfig: any = {\n display: 'grid',\n gridTemplateColumns: typeof columns === 'object' \n ? Object.fromEntries(\n Object.entries(columns).map(([bp, cols]) => [bp, `repeat(${cols}, 1fr)`])\n )\n : `repeat(${columns}, 1fr)`\n }\n \n if (config?.gap) gridConfig.gap = config.gap\n if (config?.rowGap) gridConfig.rowGap = config.rowGap\n if (config?.autoRows) gridConfig.gridAutoRows = config.autoRows\n \n return createResponsiveModifier(gridConfig)\n }\n \n /**\n * Create responsive masonry-style grid\n */\n static masonry(config: {\n columns: ResponsiveValue<number>\n gap?: ResponsiveValue<string | number>\n }) {\n const gridConfig: any = {\n display: 'grid',\n gridTemplateColumns: typeof config.columns === 'object'\n ? Object.fromEntries(\n Object.entries(config.columns).map(([bp, cols]) => [bp, `repeat(${cols}, 1fr)`])\n )\n : `repeat(${config.columns}, 1fr)`,\n gridAutoRows: 'max-content'\n }\n \n if (config.gap) gridConfig.gap = config.gap\n \n return createResponsiveModifier(gridConfig)\n }\n}\n\n/**\n * Responsive Flexbox Layout Utilities\n */\nexport class ResponsiveFlexPatterns {\n /**\n * Create a responsive flex container that stacks on mobile, flows horizontally on desktop\n */\n static stackToRow(config?: {\n stackBreakpoint?: BreakpointKey\n gap?: ResponsiveValue<string | number>\n align?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'>\n justify?: ResponsiveValue<'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'>\n }) {\n const stackBreakpoint = config?.stackBreakpoint || 'md'\n \n const flexConfig: any = {\n display: 'flex',\n flexDirection: {\n base: 'column',\n [stackBreakpoint]: 'row'\n }\n }\n \n if (config?.gap) flexConfig.gap = config.gap\n if (config?.align) flexConfig.alignItems = config.align\n if (config?.justify) flexConfig.justifyContent = config.justify\n \n return createResponsiveModifier(flexConfig)\n }\n \n /**\n * Create a responsive flex container with wrapping behavior\n */\n static wrap(config?: ResponsiveFlexConfig) {\n const flexConfig: any = {\n display: 'flex',\n flexWrap: 'wrap',\n ...config\n }\n \n return createResponsiveModifier(flexConfig)\n }\n \n /**\n * Create centered flex layout\n */\n static center(direction: ResponsiveValue<'row' | 'column'> = 'row') {\n const flexConfig: any = {\n display: 'flex',\n flexDirection: direction,\n justifyContent: 'center',\n alignItems: 'center'\n }\n \n return createResponsiveModifier(flexConfig)\n }\n \n /**\n * Create space-between flex layout\n */\n static spaceBetween(direction: ResponsiveValue<'row' | 'column'> = 'row') {\n const flexConfig: any = {\n display: 'flex',\n flexDirection: direction,\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n \n return createResponsiveModifier(flexConfig)\n }\n}\n\n/**\n * Responsive Container Utilities\n */\nexport class ResponsiveContainerPatterns {\n /**\n * Create a responsive container with max-width constraints\n */\n static container(config?: ResponsiveContainerConfig) {\n const containerConfig: any = {\n width: '100%',\n marginLeft: 'auto',\n marginRight: 'auto'\n }\n \n if (config?.maxWidth) {\n containerConfig.maxWidth = config.maxWidth\n } else {\n // Default responsive max-widths\n containerConfig.maxWidth = {\n sm: '640px',\n md: '768px',\n lg: '1024px',\n xl: '1280px',\n '2xl': '1536px'\n }\n }\n \n if (config?.padding) {\n containerConfig.paddingLeft = config.padding\n containerConfig.paddingRight = config.padding\n }\n \n if (config?.margin) {\n containerConfig.marginTop = config.margin\n containerConfig.marginBottom = config.margin\n }\n \n return createResponsiveModifier(containerConfig)\n }\n \n /**\n * Create a full-width container that breaks out of constraints\n */\n static fullWidth() {\n return createResponsiveModifier({\n width: '100vw',\n marginLeft: 'calc(-50vw + 50%)',\n marginRight: 'calc(-50vw + 50%)'\n })\n }\n \n /**\n * Create a section container with responsive padding\n */\n static section(config?: {\n paddingY?: ResponsiveValue<string | number>\n paddingX?: ResponsiveValue<string | number>\n maxWidth?: ResponsiveValue<string | number>\n }) {\n const sectionConfig: any = {}\n \n if (config?.paddingY) {\n sectionConfig.paddingTop = config.paddingY\n sectionConfig.paddingBottom = config.paddingY\n }\n \n if (config?.paddingX) {\n sectionConfig.paddingLeft = config.paddingX\n sectionConfig.paddingRight = config.paddingX\n }\n \n if (config?.maxWidth) {\n sectionConfig.maxWidth = config.maxWidth\n sectionConfig.marginLeft = 'auto'\n sectionConfig.marginRight = 'auto'\n }\n \n return createResponsiveModifier(sectionConfig)\n }\n}\n\n/**\n * Responsive Visibility Utilities\n */\nexport class ResponsiveVisibilityPatterns {\n /**\n * Show element only on specific breakpoints\n */\n static showOn(breakpoints: BreakpointKey[]) {\n const displayConfig: any = {\n display: {} // Start with empty object\n }\n \n // Show on specified breakpoints\n for (const breakpoint of breakpoints) {\n displayConfig.display[breakpoint] = 'block'\n }\n \n return createResponsiveModifier(displayConfig)\n }\n \n /**\n * Hide element only on specific breakpoints\n */\n static hideOn(breakpoints: BreakpointKey[]) {\n const displayConfig: any = {\n display: {} // Start with empty object\n }\n \n // Hide on specified breakpoints\n for (const breakpoint of breakpoints) {\n displayConfig.display[breakpoint] = 'none'\n }\n \n return createResponsiveModifier(displayConfig)\n }\n \n /**\n * Show on mobile, hide on desktop\n */\n static mobileOnly() {\n return createResponsiveModifier({\n display: {\n base: 'block',\n md: 'none'\n }\n })\n }\n \n /**\n * Hide on mobile, show on desktop\n */\n static desktopOnly() {\n return createResponsiveModifier({\n display: {\n base: 'none',\n md: 'block'\n }\n })\n }\n \n /**\n * Show only on tablet breakpoint\n */\n static tabletOnly() {\n return createResponsiveModifier({\n display: {\n base: 'none',\n md: 'block',\n lg: 'none'\n }\n })\n }\n}\n\n/**\n * Responsive Spacing Utilities\n */\nexport class ResponsiveSpacingPatterns {\n /**\n * Create responsive padding\n */\n static padding(config: ResponsiveSpacingConfig) {\n const paddingConfig: any = {}\n \n if (config.all) paddingConfig.padding = config.all\n if (config.horizontal) {\n paddingConfig.paddingLeft = config.horizontal\n paddingConfig.paddingRight = config.horizontal\n }\n if (config.vertical) {\n paddingConfig.paddingTop = config.vertical\n paddingConfig.paddingBottom = config.vertical\n }\n if (config.top) paddingConfig.paddingTop = config.top\n if (config.right) paddingConfig.paddingRight = config.right\n if (config.bottom) paddingConfig.paddingBottom = config.bottom\n if (config.left) paddingConfig.paddingLeft = config.left\n \n return createResponsiveModifier(paddingConfig)\n }\n \n /**\n * Create responsive margin\n */\n static margin(config: ResponsiveSpacingConfig) {\n const marginConfig: any = {}\n \n if (config.all) marginConfig.margin = config.all\n if (config.horizontal) {\n marginConfig.marginLeft = config.horizontal\n marginConfig.marginRight = config.horizontal\n }\n if (config.vertical) {\n marginConfig.marginTop = config.vertical\n marginConfig.marginBottom = config.vertical\n }\n if (config.top) marginConfig.marginTop = config.top\n if (config.right) marginConfig.marginRight = config.right\n if (config.bottom) marginConfig.marginBottom = config.bottom\n if (config.left) marginConfig.marginLeft = config.left\n \n return createResponsiveModifier(marginConfig)\n }\n \n /**\n * Create responsive gap (for flexbox and grid)\n */\n static gap(config: {\n all?: ResponsiveValue<string | number>\n column?: ResponsiveValue<string | number>\n row?: ResponsiveValue<string | number>\n }) {\n const gapConfig: any = {}\n \n if (config.all) gapConfig.gap = config.all\n if (config.column) gapConfig.columnGap = config.column\n if (config.row) gapConfig.rowGap = config.row\n \n return createResponsiveModifier(gapConfig)\n }\n}\n\n/**\n * Responsive Typography Utilities\n */\nexport class ResponsiveTypographyPatterns {\n /**\n * Create responsive font scale\n */\n static scale(config: {\n base: string | number\n scale?: ResponsiveValue<number>\n lineHeight?: ResponsiveValue<number | string>\n }) {\n const typographyConfig: any = {\n fontSize: config.base\n }\n \n if (config.scale && typeof config.scale === 'object') {\n typographyConfig.fontSize = {}\n for (const [breakpoint, scaleValue] of Object.entries(config.scale)) {\n const baseSize = typeof config.base === 'number' ? config.base : parseFloat(config.base)\n typographyConfig.fontSize[breakpoint] = `${baseSize * scaleValue}px`\n }\n }\n \n if (config.lineHeight) {\n typographyConfig.lineHeight = config.lineHeight\n }\n \n return createResponsiveModifier(typographyConfig)\n }\n \n /**\n * Create fluid typography that scales smoothly\n */\n static fluid(config: {\n minSize: string | number\n maxSize: string | number\n minBreakpoint?: string\n maxBreakpoint?: string\n }) {\n const minBp = config.minBreakpoint || '320px'\n const maxBp = config.maxBreakpoint || '1200px'\n const minSize = typeof config.minSize === 'number' ? `${config.minSize}px` : config.minSize\n const maxSize = typeof config.maxSize === 'number' ? `${config.maxSize}px` : config.maxSize\n \n return createResponsiveModifier({\n fontSize: `clamp(${minSize}, calc(${minSize} + (${maxSize} - ${minSize}) * ((100vw - ${minBp}) / (${maxBp} - ${minBp}))), ${maxSize})`\n })\n }\n}\n\n/**\n * Common Layout Patterns\n */\nexport const LayoutPatterns = {\n /**\n * Sidebar layout that collapses on mobile\n */\n sidebar: (config?: {\n sidebarWidth?: ResponsiveValue<string | number>\n collapseBreakpoint?: BreakpointKey\n gap?: ResponsiveValue<string | number>\n }) => {\n const collapseBreakpoint = config?.collapseBreakpoint || 'md'\n const sidebarWidth = config?.sidebarWidth || '250px'\n \n return createResponsiveModifier({\n display: 'grid',\n gridTemplateColumns: {\n base: '1fr',\n [collapseBreakpoint]: `${sidebarWidth} 1fr`\n },\n gap: config?.gap || '1rem'\n })\n },\n \n /**\n * Holy grail layout (header, footer, sidebar, main content)\n */\n holyGrail: (config?: {\n headerHeight?: ResponsiveValue<string | number>\n footerHeight?: ResponsiveValue<string | number>\n sidebarWidth?: ResponsiveValue<string | number>\n collapseBreakpoint?: BreakpointKey\n }) => {\n const collapseBreakpoint = config?.collapseBreakpoint || 'lg'\n \n return createResponsiveModifier({\n display: 'grid',\n gridTemplateAreas: {\n base: '\"header\" \"main\" \"footer\"',\n [collapseBreakpoint]: '\"header header\" \"sidebar main\" \"footer footer\"'\n },\n gridTemplateRows: {\n base: `${config?.headerHeight || 'auto'} 1fr ${config?.footerHeight || 'auto'}`,\n [collapseBreakpoint]: `${config?.headerHeight || 'auto'} 1fr ${config?.footerHeight || 'auto'}`\n },\n gridTemplateColumns: {\n base: '1fr',\n [collapseBreakpoint]: `${config?.sidebarWidth || '250px'} 1fr`\n },\n minHeight: '100vh'\n })\n },\n \n /**\n * Card grid layout\n */\n cardGrid: (config?: {\n minCardWidth?: ResponsiveValue<string | number>\n gap?: ResponsiveValue<string | number>\n maxColumns?: ResponsiveValue<number>\n }) => {\n return ResponsiveGridPatterns.autoFit({\n minColumnWidth: config?.minCardWidth || '300px',\n gap: config?.gap || '1rem',\n maxColumns: config?.maxColumns\n })\n },\n \n /**\n * Hero section layout\n */\n hero: (config?: {\n minHeight?: ResponsiveValue<string | number>\n textAlign?: ResponsiveValue<'left' | 'center' | 'right'>\n padding?: ResponsiveValue<string | number>\n }) => {\n return createResponsiveModifier({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n textAlign: config?.textAlign || 'center',\n minHeight: config?.minHeight || '50vh',\n padding: config?.padding || '2rem'\n })\n }\n}\n\n/**\n * Export all layout patterns for easy access\n */\nexport {\n ResponsiveGridPatterns as ResponsiveGrid,\n ResponsiveFlexPatterns as Flex,\n ResponsiveContainerPatterns as Container,\n ResponsiveVisibilityPatterns as Visibility,\n ResponsiveSpacingPatterns as Spacing,\n ResponsiveTypographyPatterns as ResponsiveTypography\n}"],"names":["ResponsiveGridPatterns","config","gridConfig","breakpoint","width","widthValue","maxCols","createResponsiveModifier","columns","bp","cols","ResponsiveFlexPatterns","flexConfig","direction","ResponsiveContainerPatterns","containerConfig","sectionConfig","ResponsiveVisibilityPatterns","breakpoints","displayConfig","ResponsiveSpacingPatterns","paddingConfig","marginConfig","gapConfig","ResponsiveTypographyPatterns","typographyConfig","scaleValue","baseSize","minBp","maxBp","minSize","maxSize"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var b=Object.defineProperty,T=(u,e,t)=>e in u?b(u,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):u[e]=t,o=(u,e,t)=>T(u,typeof e!="symbol"?e+"":e,t);class w{constructor(){o(this,"cache",new Map),o(this,"hitCount",0),o(this,"missCount",0)}get(e){const t=this.cache.get(e);return t?this.hitCount++:this.missCount++,t}set(e,t){this.cache.set(e,t)}clear(){this.cache.clear(),this.hitCount=0,this.missCount=0}getStats(){return{size:this.cache.size,hitRate:this.hitCount/(this.hitCount+this.missCount)||0,hits:this.hitCount,misses:this.missCount}}}const l=new w;class m{static generateOptimizedCSS(e,t,i={}){const{minify:s=process.env.NODE_ENV==="production",batch:c=!0,deduplicate:r=!0}=i,n=this.createCacheKey(e,t,{minify:s});if(r){const h=l.get(n);if(h)return h}const a=this.generateCSS(e,t,{minify:s});return r&&l.set(n,a),c&&a.trim()?(this.addToBatch(a),""):a}static createCacheKey(e,t,i){return JSON.stringify({selector:e,config:t,options:i})}static generateCSS(e,t,i){const{minify:s=!1}=i,c=s?"":" ",r=s?"":`
|
|
2
|
-
`,n=s?"":" ";let a="";const h=new Set,p=this.extractBaseStyles(t);Object.keys(p).length>0&&(a+=`${e}${n}{${r}`,a+=this.generateProperties(p,c,r,n),a+=`}${r}`);for(const[d,f]of Object.entries(t))if(typeof f=="object"&&f!==null)for(const[S,$]of Object.entries(f)){if(S==="base")continue;const C=this.getMediaQuery(S),g=`${C}:${d}`;h.has(g)||(a+=`@media ${C}${n}{${r}`,a+=`${c}${e}${n}{${r}`,a+=`${c}${c}${this.propertyToCSS(d)}:${n}${this.valueToCSS($)};${r}`,a+=`${c}}${r}`,a+=`}${r}`,h.add(g))}return a}static addToBatch(e){this.ruleQueue.push(e),this.ruleQueue.length>=this.BATCH_SIZE?this.flushBatch():this.flushTimer||(this.flushTimer=window.setTimeout(()=>this.flushBatch(),16))}static flushBatch(){if(this.ruleQueue.length===0)return;const e=this.ruleQueue.join("");this.ruleQueue=[],this.flushTimer&&(clearTimeout(this.flushTimer),this.flushTimer=null),this.injectCSS(e)}static injectCSS(e){if(typeof document>"u")return;let t=document.getElementById("tachui-responsive-styles");t||(t=document.createElement("style"),t.id="tachui-responsive-styles",t.type="text/css",document.head.appendChild(t)),t.appendChild(document.createTextNode(e))}static extractBaseStyles(e){const t={};for(const[i,s]of Object.entries(e))typeof s!="object"||s===null?t[i]=s:"base"in s&&(t[i]=s.base);return t}static generateProperties(e,t,i,s){let c="";for(const[r,n]of Object.entries(e))n!==void 0&&(c+=`${t}${this.propertyToCSS(r)}:${s}${this.valueToCSS(n)};${i}`);return c}static propertyToCSS(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}static valueToCSS(e){return typeof e=="number"?`${e}px`:e.toString()}static getMediaQuery(e){return{base:"",sm:"(min-width: 640px)",md:"(min-width: 768px)",lg:"(min-width: 1024px)",xl:"(min-width: 1280px)","2xl":"(min-width: 1536px)"}[e]||e}static flush(){this.flushBatch()}static getStats(){return{cache:l.getStats(),batch:{queueSize:this.ruleQueue.length,batchSize:this.BATCH_SIZE}}}static reset(){l.clear(),this.ruleQueue=[],this.flushTimer&&(clearTimeout(this.flushTimer),this.flushTimer=null)}}o(m,"BATCH_SIZE",50);o(m,"ruleQueue",[]);o(m,"flushTimer",null);class y{static startMeasurement(e){const t=performance.now();return()=>{const i=performance.now()-t;return this.recordMeasurement(e,i),i}}static recordMeasurement(e,t){this.measurements.has(e)||this.measurements.set(e,[]);const i=this.measurements.get(e);i.push(t),i.length>100&&i.shift()}static getStats(){const e={};for(const[t,i]of this.measurements){const s=[...i].sort((r,n)=>r-n),c=i.reduce((r,n)=>r+n,0)/i.length;e[t]={count:i.length,average:c,min:s[0],max:s[s.length-1],p50:s[Math.floor(s.length*.5)],p95:s[Math.floor(s.length*.95)],p99:s[Math.floor(s.length*.99)]}}return e}static reset(){this.measurements.clear()}}o(y,"measurements",new Map);exports.OptimizedCSSGenerator=m;exports.ResponsivePerformanceMonitor=y;exports.cssRuleCache=l;
|
|
3
|
-
//# sourceMappingURL=performance.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"performance.cjs","sources":["../../../src/modifiers/responsive/performance.ts"],"sourcesContent":["/**\n * Responsive System Performance Optimizations\n * \n * Optimizes CSS generation, caching, and runtime performance for the responsive system.\n */\n\nimport { ResponsiveStyleConfig, BreakpointKey } from './types'\n\n/**\n * CSS rule cache for deduplication\n */\nclass CSSRuleCache {\n private cache = new Map<string, string>()\n private hitCount = 0\n private missCount = 0\n \n get(key: string): string | undefined {\n const result = this.cache.get(key)\n if (result) {\n this.hitCount++\n } else {\n this.missCount++\n }\n return result\n }\n \n set(key: string, value: string): void {\n this.cache.set(key, value)\n }\n \n clear(): void {\n this.cache.clear()\n this.hitCount = 0\n this.missCount = 0\n }\n \n getStats() {\n return {\n size: this.cache.size,\n hitRate: this.hitCount / (this.hitCount + this.missCount) || 0,\n hits: this.hitCount,\n misses: this.missCount\n }\n }\n}\n\n/**\n * Global CSS rule cache instance\n */\nexport const cssRuleCache = new CSSRuleCache()\n\n/**\n * Performance-optimized CSS generation\n */\nexport class OptimizedCSSGenerator {\n private static readonly BATCH_SIZE = 50\n private static ruleQueue: string[] = []\n private static flushTimer: number | null = null\n \n /**\n * Generate CSS with caching and batching\n */\n static generateOptimizedCSS(\n selector: string,\n config: ResponsiveStyleConfig,\n options: {\n minify?: boolean\n batch?: boolean\n deduplicate?: boolean\n } = {}\n ): string {\n const {\n minify = process.env.NODE_ENV === 'production',\n batch = true,\n deduplicate = true\n } = options\n \n // Create cache key\n const cacheKey = this.createCacheKey(selector, config, { minify })\n \n // Check cache first\n if (deduplicate) {\n const cached = cssRuleCache.get(cacheKey)\n if (cached) {\n return cached\n }\n }\n \n // Generate CSS\n const css = this.generateCSS(selector, config, { minify })\n \n // Cache result\n if (deduplicate) {\n cssRuleCache.set(cacheKey, css)\n }\n \n // Handle batching\n if (batch && css.trim()) {\n this.addToBatch(css)\n return '' // Return empty since we're batching\n }\n \n return css\n }\n \n /**\n * Create cache key for CSS rule\n */\n private static createCacheKey(\n selector: string,\n config: ResponsiveStyleConfig,\n options: { minify?: boolean }\n ): string {\n return JSON.stringify({ selector, config, options })\n }\n \n /**\n * Generate CSS without optimizations (for comparison)\n */\n private static generateCSS(\n selector: string,\n config: ResponsiveStyleConfig,\n options: { minify?: boolean }\n ): string {\n const { minify = false } = options\n const indent = minify ? '' : ' '\n const newline = minify ? '' : '\\n'\n const space = minify ? '' : ' '\n \n let css = ''\n const processedBreakpoints = new Set<string>()\n \n // Base styles first\n const baseStyles = this.extractBaseStyles(config)\n if (Object.keys(baseStyles).length > 0) {\n css += `${selector}${space}{${newline}`\n css += this.generateProperties(baseStyles, indent, newline, space)\n css += `}${newline}`\n }\n \n // Responsive styles\n for (const [property, value] of Object.entries(config)) {\n if (typeof value === 'object' && value !== null) {\n for (const [breakpoint, breakpointValue] of Object.entries(value)) {\n if (breakpoint === 'base') continue\n \n const mediaQuery = this.getMediaQuery(breakpoint as BreakpointKey)\n const breakpointKey = `${mediaQuery}:${property}`\n \n if (!processedBreakpoints.has(breakpointKey)) {\n css += `@media ${mediaQuery}${space}{${newline}`\n css += `${indent}${selector}${space}{${newline}`\n css += `${indent}${indent}${this.propertyToCSS(property)}:${space}${this.valueToCSS(breakpointValue)};${newline}`\n css += `${indent}}${newline}`\n css += `}${newline}`\n \n processedBreakpoints.add(breakpointKey)\n }\n }\n }\n }\n \n return css\n }\n \n /**\n * Add CSS to batch queue\n */\n private static addToBatch(css: string): void {\n this.ruleQueue.push(css)\n \n if (this.ruleQueue.length >= this.BATCH_SIZE) {\n this.flushBatch()\n } else if (!this.flushTimer) {\n this.flushTimer = window.setTimeout(() => this.flushBatch(), 16) // Next frame\n }\n }\n \n /**\n * Flush batched CSS rules\n */\n private static flushBatch(): void {\n if (this.ruleQueue.length === 0) return\n \n const batchedCSS = this.ruleQueue.join('')\n this.ruleQueue = []\n \n if (this.flushTimer) {\n clearTimeout(this.flushTimer)\n this.flushTimer = null\n }\n \n // Inject batched CSS\n this.injectCSS(batchedCSS)\n }\n \n /**\n * Inject CSS into document\n */\n private static injectCSS(css: string): void {\n if (typeof document === 'undefined') return\n \n let styleElement = document.getElementById('tachui-responsive-styles') as HTMLStyleElement\n \n if (!styleElement) {\n styleElement = document.createElement('style')\n styleElement.id = 'tachui-responsive-styles'\n styleElement.type = 'text/css'\n document.head.appendChild(styleElement)\n }\n \n // Use standard approach (legacy IE support removed)\n styleElement.appendChild(document.createTextNode(css))\n }\n \n /**\n * Extract base (non-responsive) styles\n */\n private static extractBaseStyles(config: ResponsiveStyleConfig): Record<string, any> {\n const baseStyles: Record<string, any> = {}\n \n for (const [property, value] of Object.entries(config)) {\n if (typeof value !== 'object' || value === null) {\n baseStyles[property] = value\n } else if ('base' in value) {\n baseStyles[property] = value.base\n }\n }\n \n return baseStyles\n }\n \n /**\n * Generate CSS properties\n */\n private static generateProperties(\n styles: Record<string, any>,\n indent: string,\n newline: string,\n space: string\n ): string {\n let css = ''\n \n for (const [property, value] of Object.entries(styles)) {\n if (value !== undefined) {\n css += `${indent}${this.propertyToCSS(property)}:${space}${this.valueToCSS(value)};${newline}`\n }\n }\n \n return css\n }\n \n /**\n * Convert property name to CSS\n */\n private static propertyToCSS(property: string): string {\n return property.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)\n }\n \n /**\n * Convert value to CSS\n */\n private static valueToCSS(value: any): string {\n if (typeof value === 'number') {\n return `${value}px`\n }\n return value.toString()\n }\n \n /**\n * Get media query for breakpoint\n */\n private static getMediaQuery(breakpoint: BreakpointKey): string {\n const queries: Record<BreakpointKey, string> = {\n base: '',\n sm: '(min-width: 640px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 1024px)',\n xl: '(min-width: 1280px)',\n '2xl': '(min-width: 1536px)'\n }\n \n return queries[breakpoint] || breakpoint\n }\n \n /**\n * Force flush any pending batched CSS\n */\n static flush(): void {\n this.flushBatch()\n }\n \n /**\n * Get performance statistics\n */\n static getStats() {\n return {\n cache: cssRuleCache.getStats(),\n batch: {\n queueSize: this.ruleQueue.length,\n batchSize: this.BATCH_SIZE\n }\n }\n }\n \n /**\n * Clear all caches and reset performance counters\n */\n static reset(): void {\n cssRuleCache.clear()\n this.ruleQueue = []\n if (this.flushTimer) {\n clearTimeout(this.flushTimer)\n this.flushTimer = null\n }\n }\n}\n\n/**\n * Performance monitoring for responsive system\n */\nexport class ResponsivePerformanceMonitor {\n private static measurements = new Map<string, number[]>()\n \n /**\n * Start performance measurement\n */\n static startMeasurement(name: string): () => number {\n const startTime = performance.now()\n \n return () => {\n const duration = performance.now() - startTime\n this.recordMeasurement(name, duration)\n return duration\n }\n }\n \n /**\n * Record measurement\n */\n private static recordMeasurement(name: string, duration: number): void {\n if (!this.measurements.has(name)) {\n this.measurements.set(name, [])\n }\n \n const measurements = this.measurements.get(name)!\n measurements.push(duration)\n \n // Keep only last 100 measurements\n if (measurements.length > 100) {\n measurements.shift()\n }\n }\n \n /**\n * Get performance statistics\n */\n static getStats() {\n const stats: Record<string, any> = {}\n \n for (const [name, measurements] of this.measurements) {\n const sorted = [...measurements].sort((a, b) => a - b)\n const avg = measurements.reduce((sum, val) => sum + val, 0) / measurements.length\n \n stats[name] = {\n count: measurements.length,\n average: avg,\n min: sorted[0],\n max: sorted[sorted.length - 1],\n p50: sorted[Math.floor(sorted.length * 0.5)],\n p95: sorted[Math.floor(sorted.length * 0.95)],\n p99: sorted[Math.floor(sorted.length * 0.99)]\n }\n }\n \n return stats\n }\n \n /**\n * Clear all performance data\n */\n static reset(): void {\n this.measurements.clear()\n }\n}"],"names":["CSSRuleCache","__publicField","key","result","value","cssRuleCache","OptimizedCSSGenerator","selector","config","options","minify","batch","deduplicate","cacheKey","cached","css","indent","newline","space","processedBreakpoints","baseStyles","property","breakpoint","breakpointValue","mediaQuery","breakpointKey","batchedCSS","styleElement","styles","match","ResponsivePerformanceMonitor","name","startTime","duration","measurements","stats","sorted","a","b","avg","sum","val"],"mappings":"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"}
|