@tachui/core 0.7.0-alpha1 → 0.8.0-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/bundles/common.d.ts +1 -1
- package/dist/bundles/common.d.ts.map +1 -1
- package/dist/bundles/minimal.d.ts +17 -5
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/bundles/production-minimal.d.ts +2 -16
- package/dist/bundles/production-minimal.d.ts.map +1 -1
- package/dist/common.js +402 -955
- package/dist/compiler/advanced-parser.d.ts.map +1 -1
- package/dist/compiler/index.js +1392 -10
- package/dist/component-XAzF1xqs.js +487 -0
- package/dist/component-base-x2XmHFjy.js +255 -0
- package/dist/components/index.d.ts +4 -38
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -102
- package/dist/components/wrapper.d.ts +5 -152
- package/dist/components/wrapper.d.ts.map +1 -1
- package/dist/concatenated-component-ByPl3_FF.js +2933 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/layout.d.ts +47 -4
- package/dist/constants/layout.d.ts.map +1 -1
- package/dist/constants/layout.js +52 -14
- package/dist/css-classes/index.js +176 -0
- package/dist/dom-bridge-CAa1N2zX.js +406 -0
- package/dist/effect-B9Knft0b.js +66 -0
- package/dist/essential.js +394 -953
- package/dist/index-DCPJFUm9.js +1407 -0
- package/dist/index-DIvMCJQO.js +268 -0
- package/dist/index-vdsiw6gQ.js +777 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +394 -953
- package/dist/minimal-prod.js +107 -190
- package/dist/minimal.js +115 -955
- package/dist/modifiers/background.d.ts +41 -11
- package/dist/modifiers/background.d.ts.map +1 -1
- package/dist/modifiers/base.d.ts +6 -33
- package/dist/modifiers/base.d.ts.map +1 -1
- package/dist/modifiers/base.js +275 -533
- package/dist/modifiers/builder.d.ts +103 -195
- package/dist/modifiers/builder.d.ts.map +1 -1
- package/dist/modifiers/builder.js +7 -928
- package/dist/modifiers/core.d.ts +9 -401
- package/dist/modifiers/core.d.ts.map +1 -1
- package/dist/modifiers/{utils.d.ts → factories.d.ts} +18 -5
- package/dist/modifiers/factories.d.ts.map +1 -0
- package/dist/modifiers/index.d.ts +8 -52
- package/dist/modifiers/index.d.ts.map +1 -1
- package/dist/modifiers/index.js +38 -0
- package/dist/modifiers/presets.d.ts +368 -0
- package/dist/modifiers/presets.d.ts.map +1 -0
- package/dist/modifiers/registry.js +8 -161
- package/dist/modifiers/types.d.ts +39 -211
- package/dist/modifiers/types.d.ts.map +1 -1
- package/dist/modifiers/types.js +0 -1
- package/dist/performance-optimizer-stub-CtfXUwl4.js +38 -0
- package/dist/plugins/index.d.ts +5 -6
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +393 -32
- package/dist/plugins/simplified-index.d.ts +5 -6
- package/dist/plugins/simplified-index.d.ts.map +1 -1
- package/dist/production-minimal-BY_gMc-l.js +2532 -0
- package/dist/reactive/index.js +489 -91
- package/dist/reactive/types.js +0 -1
- package/dist/runtime/dom-bridge.js +12 -239
- package/dist/runtime/element-override.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +0 -7
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/renderer.d.ts.map +1 -1
- package/dist/runtime/renderer.js +7 -388
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -1
- package/dist/runtime/types.js +1 -0
- package/dist/scheduler-BKeqwrYE.js +814 -0
- package/dist/validation/build-time-stub.d.ts +33 -0
- package/dist/validation/build-time-stub.d.ts.map +1 -0
- package/dist/validation/debug-tools-stub.d.ts +67 -0
- package/dist/validation/debug-tools-stub.d.ts.map +1 -0
- package/dist/validation/index.d.ts +23 -78
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +788 -233
- package/dist/validation/lifecycle-validation.d.ts.map +1 -1
- package/dist/validation/performance-optimizer-stub.d.ts +50 -0
- package/dist/validation/performance-optimizer-stub.d.ts.map +1 -0
- package/dist/validation/plugin-registration.d.ts +5 -1
- package/dist/validation/plugin-registration.d.ts.map +1 -1
- package/dist/validation/production-bypass-core.d.ts +69 -0
- package/dist/validation/production-bypass-core.d.ts.map +1 -0
- package/package.json +43 -8
- 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.d.ts +0 -116
- package/dist/components/BasicInput.d.ts.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.d.ts +0 -252
- package/dist/components/Button.d.ts.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.d.ts +0 -141
- package/dist/components/Divider.d.ts.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.d.ts +0 -365
- package/dist/components/EnhancedLink.d.ts.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.d.ts +0 -141
- package/dist/components/Form.d.ts.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.d.ts +0 -698
- package/dist/components/Grid.d.ts.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.d.ts +0 -214
- package/dist/components/GridResponsive.d.ts.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.d.ts +0 -162
- package/dist/components/Image.d.ts.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.d.ts +0 -287
- package/dist/components/List.d.ts.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.d.ts +0 -159
- package/dist/components/Menu.d.ts.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.d.ts +0 -153
- package/dist/components/Picker.d.ts.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.d.ts +0 -222
- package/dist/components/ScrollView.d.ts.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.d.ts +0 -153
- package/dist/components/Section.d.ts.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.d.ts +0 -64
- package/dist/components/Show.d.ts.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.d.ts +0 -35
- package/dist/components/Spacer.d.ts.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.d.ts +0 -242
- package/dist/components/Text.d.ts.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.d.ts +0 -207
- package/dist/components/Toggle.d.ts.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.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/index.d.ts +0 -61
- package/dist/debug/index.d.ts.map +0 -1
- package/dist/debug.cjs +0 -52
- package/dist/debug.cjs.map +0 -1
- package/dist/debug.js +0 -179
- package/dist/debug.js.map +0 -1
- package/dist/developer-experience/enhanced-errors.d.ts +0 -128
- package/dist/developer-experience/enhanced-errors.d.ts.map +0 -1
- package/dist/developer-experience/enhanced-types.d.ts +0 -281
- package/dist/developer-experience/enhanced-types.d.ts.map +0 -1
- package/dist/developer-experience/index.d.ts +0 -44
- package/dist/developer-experience/index.d.ts.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.d.ts +0 -203
- package/dist/modifiers/attributes.d.ts.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.d.ts +0 -59
- package/dist/modifiers/backdrop.d.ts.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.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.d.ts +0 -217
- package/dist/modifiers/border.d.ts.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.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.d.ts +0 -159
- package/dist/modifiers/effects.d.ts.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.d.ts +0 -240
- package/dist/modifiers/elements.d.ts.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.d.ts +0 -275
- package/dist/modifiers/filters.d.ts.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.d.ts +0 -82
- package/dist/modifiers/flexbox.d.ts.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.d.ts +0 -71
- package/dist/modifiers/font.d.ts.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.d.ts +0 -92
- package/dist/modifiers/grid.d.ts.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.d.ts +0 -128
- package/dist/modifiers/margin.d.ts.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.d.ts +0 -204
- package/dist/modifiers/padding.d.ts.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.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.d.ts +0 -118
- package/dist/modifiers/responsive/advanced-utilities.d.ts.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.d.ts +0 -81
- package/dist/modifiers/responsive/breakpoints.d.ts.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.d.ts +0 -100
- package/dist/modifiers/responsive/css-generator.d.ts.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.d.ts +0 -107
- package/dist/modifiers/responsive/dev-tools.d.ts.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/index.d.ts +0 -28
- package/dist/modifiers/responsive/index.d.ts.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.d.ts +0 -230
- package/dist/modifiers/responsive/layout-patterns.d.ts.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.d.ts +0 -130
- package/dist/modifiers/responsive/performance.d.ts.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.d.ts +0 -133
- package/dist/modifiers/responsive/responsive-builder.d.ts.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.d.ts +0 -123
- package/dist/modifiers/responsive/responsive-modifier.d.ts.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.d.ts +0 -183
- package/dist/modifiers/responsive/types.d.ts.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.d.ts +0 -149
- package/dist/modifiers/responsive/utilities.d.ts.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.d.ts +0 -143
- package/dist/modifiers/scroll.d.ts.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.d.ts +0 -114
- package/dist/modifiers/shadows.d.ts.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.d.ts +0 -113
- package/dist/modifiers/size.d.ts.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.d.ts +0 -147
- package/dist/modifiers/text.d.ts.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.d.ts +0 -329
- package/dist/modifiers/transformations.d.ts.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.d.ts +0 -98
- package/dist/modifiers/transitions.d.ts.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.map +0 -1
- package/dist/modifiers/typography.cjs +0 -2
- package/dist/modifiers/typography.cjs.map +0 -1
- package/dist/modifiers/typography.d.ts +0 -192
- package/dist/modifiers/typography.d.ts.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.d.ts +0 -69
- package/dist/modifiers/utility.d.ts.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.d.ts.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.d.ts +0 -83
- package/dist/plugins/simplified-error-handler.d.ts.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.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 +0 -289
- 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.d.ts +0 -240
- package/dist/runtime/dev-tools.d.ts.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.d.ts +0 -42
- package/dist/runtime/development-warnings.d.ts.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.d.ts +0 -302
- package/dist/runtime/error-boundary.d.ts.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.d.ts +0 -267
- package/dist/runtime/error-recovery.d.ts.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.d.ts +0 -287
- package/dist/runtime/error-reporting.d.ts.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.d.ts +0 -204
- package/dist/runtime/error-utils.d.ts.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.d.ts +0 -217
- package/dist/runtime/performance.d.ts.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.d.ts +0 -110
- package/dist/sui-compat.d.ts.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.d.ts +0 -319
- package/dist/validation/advanced-debugging.d.ts.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.d.ts +0 -32
- package/dist/validation/build-time/detection.d.ts.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.d.ts +0 -84
- package/dist/validation/build-time/index.d.ts.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.d.ts +0 -75
- package/dist/validation/build-time/plugins.d.ts.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.d.ts +0 -73
- package/dist/validation/build-time/rules.d.ts.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.d.ts +0 -23
- package/dist/validation/build-time/transformer.d.ts.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/build-time/types.d.ts +0 -212
- package/dist/validation/build-time/types.d.ts.map +0 -1
- package/dist/validation/comprehensive.cjs +0 -9
- package/dist/validation/comprehensive.cjs.map +0 -1
- package/dist/validation/comprehensive.d.ts +0 -160
- package/dist/validation/comprehensive.d.ts.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.d.ts +0 -251
- package/dist/validation/debug-tools.d.ts.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.d.ts +0 -243
- package/dist/validation/developer-experience.d.ts.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.d.ts +0 -269
- package/dist/validation/documentation-integration.d.ts.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.d.ts +0 -279
- package/dist/validation/enhanced-runtime.d.ts.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.d.ts +0 -186
- package/dist/validation/error-reporting.d.ts.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.d.ts +0 -328
- package/dist/validation/ide-integration.d.ts.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.d.ts +0 -218
- package/dist/validation/performance-optimizer.d.ts.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.d.ts +0 -175
- package/dist/validation/production-bypass.d.ts.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.d.ts +0 -111
- package/dist/validation/simple.d.ts.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.d.ts +0 -227
- package/dist/viewport/adapters/web-adapter.d.ts.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.d.ts +0 -131
- package/dist/viewport/components.d.ts.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.d.ts +0 -75
- package/dist/viewport/environment.d.ts.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.d.ts +0 -138
- package/dist/viewport/index.d.ts.map +0 -1
- package/dist/viewport/index.js +0 -166
- 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.d.ts +0 -59
- package/dist/viewport/platform-detection.d.ts.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.d.ts +0 -301
- package/dist/viewport/types.d.ts.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.d.ts +0 -118
- package/dist/viewport/viewport-manager.d.ts.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,182 +0,0 @@
|
|
|
1
|
-
import "../reactive/cleanup.js";
|
|
2
|
-
import "../reactive/unified-scheduler.js";
|
|
3
|
-
import { createEffect as a } from "../reactive/effect.js";
|
|
4
|
-
import { isSignal as r } from "../reactive/signal.js";
|
|
5
|
-
import "../reactive/scheduler.js";
|
|
6
|
-
import "../reactive/theme.js";
|
|
7
|
-
import "../runtime/component.js";
|
|
8
|
-
import "../runtime/context.js";
|
|
9
|
-
import "../runtime/dev-tools.js";
|
|
10
|
-
import "../runtime/dom-bridge.js";
|
|
11
|
-
import "../runtime/error-boundary.js";
|
|
12
|
-
import "../runtime/error-reporting.js";
|
|
13
|
-
import "../runtime/performance.js";
|
|
14
|
-
import { h as m } from "../runtime/renderer.js";
|
|
15
|
-
import "../runtime/element-override.js";
|
|
16
|
-
import "../runtime/semantic-role-manager.js";
|
|
17
|
-
import "../runtime/development-warnings.js";
|
|
18
|
-
import { withModifiers as b } from "./wrapper.js";
|
|
19
|
-
import "../css-classes/css-class-manager.js";
|
|
20
|
-
import { ComponentWithCSSClasses as f } from "../css-classes/component-base.js";
|
|
21
|
-
var g = Object.defineProperty, y = (e, t, s) => t in e ? g(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s, i = (e, t, s) => y(e, typeof t != "symbol" ? t + "" : t, s);
|
|
22
|
-
const n = {
|
|
23
|
-
colors: {
|
|
24
|
-
background: "#FFFFFF",
|
|
25
|
-
border: "#D1D1D6",
|
|
26
|
-
text: "#000000",
|
|
27
|
-
placeholder: "#8E8E93",
|
|
28
|
-
focusBorder: "#007AFF",
|
|
29
|
-
disabledBackground: "#F2F2F7",
|
|
30
|
-
disabledText: "#8E8E93"
|
|
31
|
-
},
|
|
32
|
-
spacing: {
|
|
33
|
-
padding: 8,
|
|
34
|
-
borderWidth: 1
|
|
35
|
-
},
|
|
36
|
-
borderRadius: 4,
|
|
37
|
-
fontSize: 16,
|
|
38
|
-
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
39
|
-
transition: "border-color 0.2s ease, background-color 0.2s ease"
|
|
40
|
-
};
|
|
41
|
-
class T extends f {
|
|
42
|
-
constructor(t) {
|
|
43
|
-
super(), i(this, "type", "component"), i(this, "id"), i(this, "props"), i(this, "theme", n), i(this, "inputElement", null), i(this, "handleInput", (s) => {
|
|
44
|
-
const o = s.target.value;
|
|
45
|
-
this.setText(o), this.props.onChange && this.props.onChange(o);
|
|
46
|
-
}), i(this, "handleKeyDown", (s) => {
|
|
47
|
-
s.key === "Enter" && this.props.onSubmit && (s.preventDefault(), this.props.onSubmit(this.getText()));
|
|
48
|
-
}), i(this, "handleFocus", () => {
|
|
49
|
-
this.props.onFocus && this.props.onFocus(), this.inputElement && (this.inputElement.style.borderColor = this.theme.colors.focusBorder);
|
|
50
|
-
}), i(this, "handleBlur", () => {
|
|
51
|
-
this.props.onBlur && this.props.onBlur(), this.inputElement && (this.inputElement.style.borderColor = this.theme.colors.border);
|
|
52
|
-
}), this.props = t, this.id = `basicinput-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
53
|
-
}
|
|
54
|
-
resolveValue(t) {
|
|
55
|
-
return r(t) ? t() : t;
|
|
56
|
-
}
|
|
57
|
-
getText() {
|
|
58
|
-
return this.resolveValue(this.props.text);
|
|
59
|
-
}
|
|
60
|
-
setText(t) {
|
|
61
|
-
this.props.setText && this.props.setText(t);
|
|
62
|
-
}
|
|
63
|
-
getPlaceholder() {
|
|
64
|
-
return this.resolveValue(this.props.placeholder || "");
|
|
65
|
-
}
|
|
66
|
-
getInputType() {
|
|
67
|
-
return this.resolveValue(this.props.inputType || "text");
|
|
68
|
-
}
|
|
69
|
-
isDisabled() {
|
|
70
|
-
return this.resolveValue(this.props.disabled || !1);
|
|
71
|
-
}
|
|
72
|
-
isReadonly() {
|
|
73
|
-
return this.resolveValue(this.props.readonly || !1);
|
|
74
|
-
}
|
|
75
|
-
getInputStyles() {
|
|
76
|
-
const t = this.isDisabled();
|
|
77
|
-
return {
|
|
78
|
-
width: "100%",
|
|
79
|
-
padding: `${this.theme.spacing.padding}px`,
|
|
80
|
-
border: `${this.theme.spacing.borderWidth}px solid ${this.theme.colors.border}`,
|
|
81
|
-
borderRadius: `${this.theme.borderRadius}px`,
|
|
82
|
-
backgroundColor: t ? this.theme.colors.disabledBackground : this.theme.colors.background,
|
|
83
|
-
color: t ? this.theme.colors.disabledText : this.theme.colors.text,
|
|
84
|
-
fontSize: `${this.theme.fontSize}px`,
|
|
85
|
-
fontFamily: this.theme.fontFamily,
|
|
86
|
-
outline: "none",
|
|
87
|
-
transition: this.theme.transition,
|
|
88
|
-
cursor: t ? "not-allowed" : "text"
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
render() {
|
|
92
|
-
const t = this.getText(), s = this.getPlaceholder(), p = this.getInputType(), o = this.isDisabled(), d = this.isReadonly(), u = ["tachui-basic-input"], c = this.createClassString(this.props, u), l = m("input", {
|
|
93
|
-
id: this.id,
|
|
94
|
-
className: c,
|
|
95
|
-
type: p,
|
|
96
|
-
value: t,
|
|
97
|
-
placeholder: s,
|
|
98
|
-
disabled: o,
|
|
99
|
-
readonly: d,
|
|
100
|
-
"aria-label": this.props.accessibilityLabel,
|
|
101
|
-
"aria-describedby": this.props.accessibilityHint ? `${this.id}-hint` : void 0,
|
|
102
|
-
style: this.getInputStyles(),
|
|
103
|
-
oninput: this.handleInput,
|
|
104
|
-
onkeydown: this.handleKeyDown,
|
|
105
|
-
onfocus: this.handleFocus,
|
|
106
|
-
onblur: this.handleBlur
|
|
107
|
-
});
|
|
108
|
-
return this.inputElement = l.element, a(() => {
|
|
109
|
-
if (this.inputElement && r(this.props.text)) {
|
|
110
|
-
const h = this.getText();
|
|
111
|
-
this.inputElement.value !== h && (this.inputElement.value = h);
|
|
112
|
-
}
|
|
113
|
-
}), a(() => {
|
|
114
|
-
this.inputElement && (r(this.props.placeholder) || r(this.props.inputType) || r(this.props.disabled)) && (r(this.props.placeholder) && (this.inputElement.placeholder = this.getPlaceholder()), r(this.props.inputType) && (this.inputElement.type = this.getInputType()), r(this.props.disabled) && (this.inputElement.disabled = this.isDisabled()));
|
|
115
|
-
}), [l];
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
function N(e) {
|
|
119
|
-
return b(new T(e));
|
|
120
|
-
}
|
|
121
|
-
const U = {
|
|
122
|
-
/**
|
|
123
|
-
* Create a search input
|
|
124
|
-
*/
|
|
125
|
-
search(e, t, s) {
|
|
126
|
-
return {
|
|
127
|
-
text: e,
|
|
128
|
-
setText: t,
|
|
129
|
-
inputType: "search",
|
|
130
|
-
placeholder: "Search...",
|
|
131
|
-
onSubmit: s
|
|
132
|
-
};
|
|
133
|
-
},
|
|
134
|
-
/**
|
|
135
|
-
* Create an email input
|
|
136
|
-
*/
|
|
137
|
-
email(e, t) {
|
|
138
|
-
return {
|
|
139
|
-
text: e,
|
|
140
|
-
setText: t,
|
|
141
|
-
inputType: "email",
|
|
142
|
-
placeholder: "Enter email address"
|
|
143
|
-
};
|
|
144
|
-
},
|
|
145
|
-
/**
|
|
146
|
-
* Create a password input
|
|
147
|
-
*/
|
|
148
|
-
password(e, t) {
|
|
149
|
-
return {
|
|
150
|
-
text: e,
|
|
151
|
-
setText: t,
|
|
152
|
-
inputType: "password",
|
|
153
|
-
placeholder: "Enter password"
|
|
154
|
-
};
|
|
155
|
-
},
|
|
156
|
-
/**
|
|
157
|
-
* Create a phone number input
|
|
158
|
-
*/
|
|
159
|
-
phone(e, t) {
|
|
160
|
-
return {
|
|
161
|
-
text: e,
|
|
162
|
-
setText: t,
|
|
163
|
-
inputType: "tel",
|
|
164
|
-
placeholder: "Enter phone number"
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
}, A = {
|
|
168
|
-
theme: n,
|
|
169
|
-
/**
|
|
170
|
-
* Create a custom theme
|
|
171
|
-
*/
|
|
172
|
-
createTheme(e) {
|
|
173
|
-
return { ...n, ...e };
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
export {
|
|
177
|
-
N as BasicInput,
|
|
178
|
-
T as BasicInputComponent,
|
|
179
|
-
A as BasicInputStyles,
|
|
180
|
-
U as BasicInputUtils
|
|
181
|
-
};
|
|
182
|
-
//# sourceMappingURL=BasicInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BasicInput.js","sources":["../../src/components/BasicInput.ts"],"sourcesContent":["/**\n * BasicInput Component (Phase 1)\n *\n * Lightweight text input component for Core-only applications.\n * Provides SwiftUI-style reactive binding without the complexity\n * of the Forms plugin validation and formatting system.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createEffect, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h } from '../runtime'\nimport type { ComponentInstance, ComponentProps, DOMNode } from '../runtime/types'\nimport { withModifiers } from './wrapper'\nimport {\n ComponentWithCSSClasses,\n type CSSClassesProps\n} from '../css-classes'\n\n/**\n * BasicInput supported input types\n */\nexport type BasicInputType = 'text' | 'email' | 'password' | 'search' | 'tel' | 'url'\n\n/**\n * BasicInput component properties with CSS classes support\n */\nexport interface BasicInputProps extends ComponentProps, CSSClassesProps {\n // Core reactive binding\n text: Signal<string>\n setText?: (value: string) => void\n\n // Input configuration\n placeholder?: string | Signal<string>\n inputType?: BasicInputType | Signal<BasicInputType>\n disabled?: boolean | Signal<boolean>\n readonly?: boolean | Signal<boolean>\n\n // Behavior\n onChange?: (text: string) => void\n onSubmit?: (text: string) => void\n onFocus?: () => void\n onBlur?: () => void\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityHint?: string\n}\n\n/**\n * BasicInput theme configuration\n */\nexport interface BasicInputTheme {\n colors: {\n background: string\n border: string\n text: string\n placeholder: string\n focusBorder: string\n disabledBackground: string\n disabledText: string\n }\n spacing: {\n padding: number\n borderWidth: number\n }\n borderRadius: number\n fontSize: number\n fontFamily: string\n transition: string\n}\n\n/**\n * Default BasicInput theme\n */\nconst defaultBasicInputTheme: BasicInputTheme = {\n colors: {\n background: '#FFFFFF',\n border: '#D1D1D6',\n text: '#000000',\n placeholder: '#8E8E93',\n focusBorder: '#007AFF',\n disabledBackground: '#F2F2F7',\n disabledText: '#8E8E93',\n },\n spacing: {\n padding: 8,\n borderWidth: 1,\n },\n borderRadius: 4,\n fontSize: 16,\n fontFamily: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n transition: 'border-color 0.2s ease, background-color 0.2s ease',\n}\n\n/**\n * BasicInput component implementation with CSS classes support\n */\nexport class BasicInputComponent extends ComponentWithCSSClasses implements ComponentInstance<BasicInputProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public readonly props: BasicInputProps\n private theme: BasicInputTheme = defaultBasicInputTheme\n private inputElement: HTMLInputElement | null = null\n\n constructor(props: BasicInputProps) {\n super()\n this.props = props\n this.id = `basicinput-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n }\n\n private resolveValue<T>(value: T | Signal<T>): T {\n return isSignal(value) ? value() : value\n }\n\n private getText(): string {\n return this.resolveValue(this.props.text)\n }\n\n private setText(value: string): void {\n if (this.props.setText) {\n this.props.setText(value)\n }\n }\n\n private getPlaceholder(): string {\n return this.resolveValue(this.props.placeholder || '')\n }\n\n private getInputType(): BasicInputType {\n return this.resolveValue(this.props.inputType || 'text')\n }\n\n private isDisabled(): boolean {\n return this.resolveValue(this.props.disabled || false)\n }\n\n private isReadonly(): boolean {\n return this.resolveValue(this.props.readonly || false)\n }\n\n private handleInput = (e: Event): void => {\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // Update reactive signal\n this.setText(value)\n\n // Call onChange callback\n if (this.props.onChange) {\n this.props.onChange(value)\n }\n }\n\n private handleKeyDown = (e: KeyboardEvent): void => {\n if (e.key === 'Enter' && this.props.onSubmit) {\n e.preventDefault()\n this.props.onSubmit(this.getText())\n }\n }\n\n private handleFocus = (): void => {\n if (this.props.onFocus) {\n this.props.onFocus()\n }\n\n // Update focus border color\n if (this.inputElement) {\n this.inputElement.style.borderColor = this.theme.colors.focusBorder\n }\n }\n\n private handleBlur = (): void => {\n if (this.props.onBlur) {\n this.props.onBlur()\n }\n\n // Reset border color\n if (this.inputElement) {\n this.inputElement.style.borderColor = this.theme.colors.border\n }\n }\n\n private getInputStyles(): Record<string, string> {\n const disabled = this.isDisabled()\n\n return {\n width: '100%',\n padding: `${this.theme.spacing.padding}px`,\n border: `${this.theme.spacing.borderWidth}px solid ${this.theme.colors.border}`,\n borderRadius: `${this.theme.borderRadius}px`,\n backgroundColor: disabled\n ? this.theme.colors.disabledBackground\n : this.theme.colors.background,\n color: disabled ? this.theme.colors.disabledText : this.theme.colors.text,\n fontSize: `${this.theme.fontSize}px`,\n fontFamily: this.theme.fontFamily,\n outline: 'none',\n transition: this.theme.transition,\n cursor: disabled ? 'not-allowed' : 'text',\n }\n }\n\n render(): DOMNode[] {\n const currentText = this.getText()\n const placeholder = this.getPlaceholder()\n const inputType = this.getInputType()\n const disabled = this.isDisabled()\n const readonly = this.isReadonly()\n\n // Process CSS classes for this component\n const baseClasses = ['tachui-basic-input']\n const classString = this.createClassString(this.props, baseClasses)\n \n const input = h('input', {\n id: this.id,\n className: classString,\n type: inputType,\n value: currentText,\n placeholder: placeholder,\n disabled: disabled,\n readonly: readonly,\n 'aria-label': this.props.accessibilityLabel,\n 'aria-describedby': this.props.accessibilityHint ? `${this.id}-hint` : undefined,\n style: this.getInputStyles(),\n oninput: this.handleInput,\n onkeydown: this.handleKeyDown,\n onfocus: this.handleFocus,\n onblur: this.handleBlur,\n })\n\n // Store reference to input element\n this.inputElement = input.element as HTMLInputElement\n\n // Set up reactive effects for dynamic updates\n createEffect(() => {\n if (this.inputElement && isSignal(this.props.text)) {\n const newValue = this.getText()\n if (this.inputElement.value !== newValue) {\n this.inputElement.value = newValue\n }\n }\n })\n\n createEffect(() => {\n if (\n this.inputElement &&\n (isSignal(this.props.placeholder) ||\n isSignal(this.props.inputType) ||\n isSignal(this.props.disabled))\n ) {\n // Update placeholder\n if (isSignal(this.props.placeholder)) {\n this.inputElement.placeholder = this.getPlaceholder()\n }\n\n // Update input type\n if (isSignal(this.props.inputType)) {\n this.inputElement.type = this.getInputType()\n }\n\n // Update disabled state\n if (isSignal(this.props.disabled)) {\n this.inputElement.disabled = this.isDisabled()\n }\n }\n })\n\n return [input]\n }\n}\n\n/**\n * Create a BasicInput component\n */\nexport function BasicInput(props: BasicInputProps): ModifiableComponent<BasicInputProps> & {\n modifier: ModifierBuilder<ModifiableComponent<BasicInputProps>>\n} {\n return withModifiers(new BasicInputComponent(props))\n}\n\n/**\n * BasicInput utility functions and presets\n */\nexport const BasicInputUtils = {\n /**\n * Create a search input\n */\n search(\n text: Signal<string>,\n setText: (value: string) => void,\n onSearch?: (query: string) => void\n ): BasicInputProps {\n return {\n text,\n setText,\n inputType: 'search',\n placeholder: 'Search...',\n onSubmit: onSearch,\n }\n },\n\n /**\n * Create an email input\n */\n email(text: Signal<string>, setText: (value: string) => void): BasicInputProps {\n return {\n text,\n setText,\n inputType: 'email',\n placeholder: 'Enter email address',\n }\n },\n\n /**\n * Create a password input\n */\n password(text: Signal<string>, setText: (value: string) => void): BasicInputProps {\n return {\n text,\n setText,\n inputType: 'password',\n placeholder: 'Enter password',\n }\n },\n\n /**\n * Create a phone number input\n */\n phone(text: Signal<string>, setText: (value: string) => void): BasicInputProps {\n return {\n text,\n setText,\n inputType: 'tel',\n placeholder: 'Enter phone number',\n }\n },\n}\n\n/**\n * BasicInput styles and theming\n */\nexport const BasicInputStyles = {\n theme: defaultBasicInputTheme,\n\n /**\n * Create a custom theme\n */\n createTheme(overrides: Partial<BasicInputTheme>): BasicInputTheme {\n return { ...defaultBasicInputTheme, ...overrides }\n },\n}\n"],"names":["defaultBasicInputTheme","BasicInputComponent","ComponentWithCSSClasses","props","__publicField","e","value","isSignal","disabled","currentText","placeholder","inputType","readonly","baseClasses","classString","input","h","createEffect","newValue","BasicInput","withModifiers","BasicInputUtils","text","setText","onSearch","BasicInputStyles","overrides"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2EA,MAAMA,IAA0C;AAAA,EAC9C,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,cAAc;AAAA,EAAA;AAAA,EAEhB,SAAS;AAAA,IACP,SAAS;AAAA,IACT,aAAa;AAAA,EAAA;AAAA,EAEf,cAAc;AAAA,EACd,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AACd;AAKO,MAAMC,UAA4BC,EAAsE;AAAA,EAO7G,YAAYC,GAAwB;AAClC,UAAA,GAPFC,EAAA,MAAgB,QAAO,WAAA,GACvBA,EAAA,MAAgB,IAAA,GAChBA,EAAA,MAAgB,OAAA,GAChBA,EAAA,MAAQ,SAAyBJ,CAAA,GACjCI,EAAA,MAAQ,gBAAwC,IAAA,GAsChDA,EAAA,MAAQ,eAAc,CAACC,MAAmB;AAExC,YAAMC,IADSD,EAAE,OACI;AAGrB,WAAK,QAAQC,CAAK,GAGd,KAAK,MAAM,YACb,KAAK,MAAM,SAASA,CAAK;AAAA,IAE7B,CAAA,GAEAF,EAAA,MAAQ,iBAAgB,CAACC,MAA2B;AAClD,MAAIA,EAAE,QAAQ,WAAW,KAAK,MAAM,aAClCA,EAAE,eAAA,GACF,KAAK,MAAM,SAAS,KAAK,QAAA,CAAS;AAAA,IAEtC,CAAA,GAEAD,EAAA,MAAQ,eAAc,MAAY;AAChC,MAAI,KAAK,MAAM,WACb,KAAK,MAAM,QAAA,GAIT,KAAK,iBACP,KAAK,aAAa,MAAM,cAAc,KAAK,MAAM,OAAO;AAAA,IAE5D,CAAA,GAEAA,EAAA,MAAQ,cAAa,MAAY;AAC/B,MAAI,KAAK,MAAM,UACb,KAAK,MAAM,OAAA,GAIT,KAAK,iBACP,KAAK,aAAa,MAAM,cAAc,KAAK,MAAM,OAAO;AAAA,IAE5D,CAAA,GA1EE,KAAK,QAAQD,GACb,KAAK,KAAK,cAAc,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC;AAAA,EAC/E;AAAA,EAEQ,aAAgBG,GAAyB;AAC/C,WAAOC,EAASD,CAAK,IAAIA,EAAA,IAAUA;AAAA,EACrC;AAAA,EAEQ,UAAkB;AACxB,WAAO,KAAK,aAAa,KAAK,MAAM,IAAI;AAAA,EAC1C;AAAA,EAEQ,QAAQA,GAAqB;AACnC,IAAI,KAAK,MAAM,WACb,KAAK,MAAM,QAAQA,CAAK;AAAA,EAE5B;AAAA,EAEQ,iBAAyB;AAC/B,WAAO,KAAK,aAAa,KAAK,MAAM,eAAe,EAAE;AAAA,EACvD;AAAA,EAEQ,eAA+B;AACrC,WAAO,KAAK,aAAa,KAAK,MAAM,aAAa,MAAM;AAAA,EACzD;AAAA,EAEQ,aAAsB;AAC5B,WAAO,KAAK,aAAa,KAAK,MAAM,YAAY,EAAK;AAAA,EACvD;AAAA,EAEQ,aAAsB;AAC5B,WAAO,KAAK,aAAa,KAAK,MAAM,YAAY,EAAK;AAAA,EACvD;AAAA,EA4CQ,iBAAyC;AAC/C,UAAME,IAAW,KAAK,WAAA;AAEtB,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS,GAAG,KAAK,MAAM,QAAQ,OAAO;AAAA,MACtC,QAAQ,GAAG,KAAK,MAAM,QAAQ,WAAW,YAAY,KAAK,MAAM,OAAO,MAAM;AAAA,MAC7E,cAAc,GAAG,KAAK,MAAM,YAAY;AAAA,MACxC,iBAAiBA,IACb,KAAK,MAAM,OAAO,qBAClB,KAAK,MAAM,OAAO;AAAA,MACtB,OAAOA,IAAW,KAAK,MAAM,OAAO,eAAe,KAAK,MAAM,OAAO;AAAA,MACrE,UAAU,GAAG,KAAK,MAAM,QAAQ;AAAA,MAChC,YAAY,KAAK,MAAM;AAAA,MACvB,SAAS;AAAA,MACT,YAAY,KAAK,MAAM;AAAA,MACvB,QAAQA,IAAW,gBAAgB;AAAA,IAAA;AAAA,EAEvC;AAAA,EAEA,SAAoB;AAClB,UAAMC,IAAc,KAAK,QAAA,GACnBC,IAAc,KAAK,eAAA,GACnBC,IAAY,KAAK,aAAA,GACjBH,IAAW,KAAK,WAAA,GAChBI,IAAW,KAAK,WAAA,GAGhBC,IAAc,CAAC,oBAAoB,GACnCC,IAAc,KAAK,kBAAkB,KAAK,OAAOD,CAAW,GAE5DE,IAAQC,EAAE,SAAS;AAAA,MACvB,IAAI,KAAK;AAAA,MACT,WAAWF;AAAA,MACX,MAAMH;AAAA,MACN,OAAOF;AAAA,MACP,aAAAC;AAAA,MACA,UAAAF;AAAA,MACA,UAAAI;AAAA,MACA,cAAc,KAAK,MAAM;AAAA,MACzB,oBAAoB,KAAK,MAAM,oBAAoB,GAAG,KAAK,EAAE,UAAU;AAAA,MACvE,OAAO,KAAK,eAAA;AAAA,MACZ,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,IAAA,CACd;AAGD,gBAAK,eAAeG,EAAM,SAG1BE,EAAa,MAAM;AACjB,UAAI,KAAK,gBAAgBV,EAAS,KAAK,MAAM,IAAI,GAAG;AAClD,cAAMW,IAAW,KAAK,QAAA;AACtB,QAAI,KAAK,aAAa,UAAUA,MAC9B,KAAK,aAAa,QAAQA;AAAA,MAE9B;AAAA,IACF,CAAC,GAEDD,EAAa,MAAM;AACjB,MACE,KAAK,iBACJV,EAAS,KAAK,MAAM,WAAW,KAC9BA,EAAS,KAAK,MAAM,SAAS,KAC7BA,EAAS,KAAK,MAAM,QAAQ,OAG1BA,EAAS,KAAK,MAAM,WAAW,MACjC,KAAK,aAAa,cAAc,KAAK,eAAA,IAInCA,EAAS,KAAK,MAAM,SAAS,MAC/B,KAAK,aAAa,OAAO,KAAK,aAAA,IAI5BA,EAAS,KAAK,MAAM,QAAQ,MAC9B,KAAK,aAAa,WAAW,KAAK,WAAA;AAAA,IAGxC,CAAC,GAEM,CAACQ,CAAK;AAAA,EACf;AACF;AAKO,SAASI,EAAWhB,GAEzB;AACA,SAAOiB,EAAc,IAAInB,EAAoBE,CAAK,CAAC;AACrD;AAKO,MAAMkB,IAAkB;AAAA;AAAA;AAAA;AAAA,EAI7B,OACEC,GACAC,GACAC,GACiB;AACjB,WAAO;AAAA,MACL,MAAAF;AAAA,MACA,SAAAC;AAAA,MACA,WAAW;AAAA,MACX,aAAa;AAAA,MACb,UAAUC;AAAA,IAAA;AAAA,EAEd;AAAA;AAAA;AAAA;AAAA,EAKA,MAAMF,GAAsBC,GAAmD;AAC7E,WAAO;AAAA,MACL,MAAAD;AAAA,MACA,SAAAC;AAAA,MACA,WAAW;AAAA,MACX,aAAa;AAAA,IAAA;AAAA,EAEjB;AAAA;AAAA;AAAA;AAAA,EAKA,SAASD,GAAsBC,GAAmD;AAChF,WAAO;AAAA,MACL,MAAAD;AAAA,MACA,SAAAC;AAAA,MACA,WAAW;AAAA,MACX,aAAa;AAAA,IAAA;AAAA,EAEjB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAMD,GAAsBC,GAAmD;AAC7E,WAAO;AAAA,MACL,MAAAD;AAAA,MACA,SAAAC;AAAA,MACA,WAAW;AAAA,MACX,aAAa;AAAA,IAAA;AAAA,EAEjB;AACF,GAKaE,IAAmB;AAAA,EAC9B,OAAOzB;AAAA;AAAA;AAAA;AAAA,EAKP,YAAY0B,GAAsD;AAChE,WAAO,EAAE,GAAG1B,GAAwB,GAAG0B,EAAA;AAAA,EACzC;AACF;"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const $=require("../reactive/effect.cjs"),u=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");const L=require("../runtime/renderer.cjs"),z=require("./wrapper.cjs"),O=require("../lifecycle/hooks.cjs"),F=require("../assets/ColorAsset.cjs"),k=require("../concatenation/concatenated-component.cjs");require("../css-classes/css-class-manager.cjs");const V=require("../css-classes/component-base.cjs");var H=Object.defineProperty,I=(i,e,t)=>e in i?H(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,p=(i,e,t)=>I(i,typeof e!="symbol"?e+"":e,t);const P={colors:{primary:"#007AFF",secondary:"#5856D6",destructive:"#FF3B30",background:"#F2F2F7",surface:"#FFFFFF",onPrimary:"#FFFFFF",onSecondary:"#FFFFFF",onSurface:"#000000",border:"#C7C7CC",disabled:"#8E8E93"},spacing:{small:8,medium:12,large:16},borderRadius:{small:6,medium:8,large:12},typography:{small:{size:14,weight:"500"},medium:{size:16,weight:"500"},large:{size:18,weight:"600"}}};class R extends V.ComponentWithCSSClasses{constructor(e,t=P){super(),this.props=e,p(this,"type","component"),p(this,"id"),p(this,"mounted",!1),p(this,"cleanup",[]),p(this,"stateSignal"),p(this,"setState"),p(this,"theme"),this.id=`button-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,this.theme=t;const[s,o]=u.createSignal("normal");this.stateSignal=s,this.setState=o,this.setupDOMEventListeners()}setupDOMEventListeners(){O.useLifecycle(this,{onDOMReady:(e,t)=>{t instanceof HTMLButtonElement&&(this.attachInteractionEvents(t),this.setupReactiveStyles(t))}})}setupReactiveStyles(e){const t=$.createEffect(()=>{this.stateSignal(),this.isEnabled(),this.isLoading();const{tint:s,backgroundColor:o,foregroundColor:r}=this.props;s&&u.isSignal(s)?s():s instanceof F.ColorAsset&&s.resolve(),o&&u.isSignal(o)?o():o instanceof F.ColorAsset&&o.resolve(),r&&u.isSignal(r)?r():r instanceof F.ColorAsset&&r.resolve();const n=this.getButtonStyles();this.applyStylesToElement(e,n)});this.cleanup.push(()=>{t&&typeof t.dispose=="function"&&t.dispose()})}applyStylesToElement(e,t){Object.entries(t).forEach(([s,o])=>{const r=this.camelToKebabCase(s);if(typeof o=="string"||typeof o=="number"){const n=e.style.getPropertyValue(r);r==="transform"?e.style.setProperty(r,String(o)):n&&n!==""&&n!=="inherit"||e.style.setProperty(r,String(o))}})}camelToKebabCase(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}resolveColorValue(e){if(e){if(typeof e=="string")return e;if(u.isSignal(e))return e();if(e instanceof F.ColorAsset)return e.resolve()}}attachInteractionEvents(e){const t=()=>{const a=this.isEnabled();return typeof a=="boolean"?a:a()};let s=null;const o=a=>{t()&&a.button===0&&(this.setState("pressed"),s=()=>{this.stateSignal()==="pressed"&&this.setState("normal"),s&&(document.removeEventListener("mouseup",s),s=null)},document.addEventListener("mouseup",s))},r=()=>{t()&&this.stateSignal()==="pressed"&&(this.setState("normal"),s&&(document.removeEventListener("mouseup",s),s=null))},n=()=>{t()&&(this.setState("normal"),s&&(document.removeEventListener("mouseup",s),s=null))},d=()=>{t()&&this.stateSignal()!=="pressed"&&this.setState("focused")},v=()=>{t()&&this.stateSignal()==="focused"&&this.setState("normal")},b=a=>{t()&&(a.key===" "||a.key==="Enter")&&(a.preventDefault(),this.setState("pressed"))},S=a=>{t()&&(a.key===" "||a.key==="Enter")&&(a.preventDefault(),this.setState("normal"),this.props.action?.())};e.addEventListener("mousedown",o),e.addEventListener("mouseup",r),e.addEventListener("mouseleave",n),e.addEventListener("focus",d),e.addEventListener("blur",v),e.addEventListener("keydown",b),e.addEventListener("keyup",S),this.cleanup.push(()=>{e.removeEventListener("mousedown",o),e.removeEventListener("mouseup",r),e.removeEventListener("mouseleave",n),e.removeEventListener("focus",d),e.removeEventListener("blur",v),e.removeEventListener("keydown",b),e.removeEventListener("keyup",S),s&&(document.removeEventListener("mouseup",s),s=null)})}isEnabled(){const{isEnabled:e}=this.props;return e===void 0?!0:typeof e=="boolean"||u.isSignal(e)?e:!0}render(){const e=this.isEnabled(),t=[];this.props.systemImage&&t.push(L.h("span",{class:"button-icon",style:{marginRight:"8px",fontSize:"1.2em"}},L.text(this.props.systemImage))),t.push(L.h("span",{class:"button-title"},L.text(this.props.title||"")));const s=["tachui-button"];return[{type:"element",tag:"button",props:{className:this.createClassString(this.props,s),type:"button",disabled:typeof e=="boolean"?!e:()=>!e(),onClick:this.props.action?()=>{try{this.props.action?.()}catch(n){console.error("Button action error:",n)}}:void 0,...this.props.debugLabel&&{debugLabel:this.props.debugLabel}},children:t,componentMetadata:{id:this.id,type:"Button"}}]}isLoading(){const{isLoading:e}=this.props;return e===void 0?!1:typeof e=="boolean"?e:u.isSignal(e)?e():!1}hasColorModifiers(){let e=this.modifiers;return!e&&this.modifierBuilder&&(e=this.modifierBuilder.modifiers),!e&&this.modifiableComponent&&(e=this.modifiableComponent.modifiers),!e||!Array.isArray(e)?!1:e.some(t=>t.type==="appearance"||t.constructor?.name==="AppearanceModifier"?t.properties&&(t.properties.foregroundColor!==void 0||t.properties.color!==void 0):t.properties?["foregroundColor","color","textColor"].some(o=>t.properties[o]!==void 0):!1)}hasTypographyModifiers(){let e=this.modifiers;return!e&&this.modifierBuilder&&(e=this.modifierBuilder.modifiers),!e&&this.modifiableComponent&&(e=this.modifiableComponent.modifiers),!e||!Array.isArray(e)?!1:e.some(s=>s.type==="typography"||s.constructor?.name==="TypographyModifier"?s.properties&&(s.properties.transform!==void 0||s.properties.textTransform!==void 0):!1)}getButtonStyles(){const{variant:e,size:t,role:s="none",tint:o,backgroundColor:r,foregroundColor:n}=this.props,d=this.stateSignal(),v=this.isLoading(),b=this.isEnabled(),S=this.hasColorModifiers(),a=this.hasTypographyModifiers(),m={...!S&&!n&&!e&&{color:"inherit"},...!a&&{fontStyle:"inherit",lineHeight:"inherit",textTransform:"inherit",textDecoration:"inherit",textIndent:"inherit",textShadow:"inherit",wordSpacing:"inherit",textOrientation:"inherit",writingMode:"inherit",direction:"inherit"}};if(t){const y=this.theme.spacing[t]||this.theme.spacing.medium,D=this.theme.borderRadius[t]||this.theme.borderRadius.medium,A=this.theme.typography[t]||this.theme.typography.medium,_={small:"32px",medium:"40px",large:"48px"};m.padding=`${y}px ${y*2}px`,m.borderRadius=`${D}px`,m.fontSize=`${A.size}px`,m.fontWeight=A.weight,m.minHeight=_[t]}let c="transparent",h="transparent",B="1px",g;const q=this.resolveColorValue(o),C=this.resolveColorValue(r),E=this.resolveColorValue(n);if(e){const y=q||this.theme.colors.primary;switch(e){case"filled":s==="destructive"?c=this.theme.colors.destructive:s==="cancel"?c=this.theme.colors.secondary:c=y,g=this.theme.colors.onPrimary;break;case"outlined":h=s==="destructive"?this.theme.colors.destructive:y,g=s==="destructive"?this.theme.colors.destructive:y;break;case"bordered":c=this.theme.colors.background,h=this.theme.colors.border;break;case"borderedProminent":c=this.theme.colors.surface,h=this.theme.colors.primary,B="2px";break}}C&&(c=C),E&&(g=E);let w="1",x="auto",M,T="none";b?v?(w="0.6",x="none"):d==="pressed"?(c=this.darkenColor(c,.1),h=this.darkenColor(h,.1),M="scale(0.95)"):d==="focused"&&(T="0 0 0 3px #007AFF40"):(c=this.theme.colors.disabled,h=this.theme.colors.disabled,g=this.theme.colors.disabled,w="0.6",x="none");const l={...m};return e&&(l.backgroundColor=c,l.borderColor=h,l.borderWidth=B,g!==void 0&&(l.color=g)),C&&(l.backgroundColor=C),E&&(l.color=E),l.cursor=b?"pointer":"not-allowed",l.opacity=w,l.pointerEvents=x,l.transform=M!==void 0?M:"none",l.boxShadow=T,l.transition="all 0.2s ease",l}async handlePress(){if(!(!this.isEnabled()||this.isLoading())&&(this.triggerHapticFeedback(),this.setState("pressed"),setTimeout(()=>{this.isEnabled()&&this.setState("normal")},150),this.props.action))try{const e=this.props.action();e&&typeof e.then=="function"&&await e}catch(e){console.error("Button action failed:",e)}}triggerHapticFeedback(){if(this.props.hapticFeedback!==!1&&typeof window<"u"&&"navigator"in window){const e=window.navigator;e.vibrate&&e.vibrate(10)}}darkenColor(e,t){if(e==="transparent")return e;if(e.startsWith("#")){const s=e.slice(1),o=parseInt(s,16),r=Math.max(0,Math.floor((o>>16)*(1-t))),n=Math.max(0,Math.floor((o>>8&255)*(1-t))),d=Math.max(0,Math.floor((o&255)*(1-t)));return`#${(r<<16|n<<8|d).toString(16).padStart(6,"0")}`}return e}concat(e){const t=this.toSegment(),s=e.toSegment(),o={totalSegments:e instanceof k.ConcatenatedComponent?e.segments.length+1:2,accessibilityRole:e instanceof k.ConcatenatedComponent?this.mergeAccessibilityRoles("composite",e.metadata.accessibilityRole):this.determineAccessibilityRole(e),semanticStructure:"inline"};return new k.ConcatenatedComponent([t,s],o)}toSegment(){return{id:this.id,component:this,modifiers:[],render:()=>{const e=this.render();return Array.isArray(e)?e[0]:e}}}isConcatenatable(){return!0}determineAccessibilityRole(e){switch(e.constructor.name){case"EnhancedText":return"composite";case"EnhancedImage":return"composite";case"EnhancedButton":case"EnhancedLink":return"composite";default:return"composite"}}mergeAccessibilityRoles(e,t){return"composite"}}function f(i,e,t={}){const s={...t,title:i,...e&&{action:e}},o=new R(s);return z.withModifiers(o)}const W={Filled:(i,e,t={})=>f(i,e,{...t,variant:"filled"}),Outlined:(i,e,t={})=>f(i,e,{...t,variant:"outlined"}),Plain:(i,e,t={})=>f(i,e,{...t,variant:"plain"}),Bordered:(i,e,t={})=>f(i,e,{...t,variant:"bordered"}),Destructive:(i,e,t={})=>f(i,e,{...t,role:"destructive"}),Cancel:(i,e,t={})=>f(i,e,{...t,role:"cancel"})},K=`
|
|
2
|
-
@keyframes spin {
|
|
3
|
-
from { transform: rotate(0deg); }
|
|
4
|
-
to { transform: rotate(360deg); }
|
|
5
|
-
}
|
|
6
|
-
`;if(typeof document<"u"){const i=document.createElement("style");i.textContent=K,document.head.appendChild(i)}exports.Button=f;exports.ButtonStyles=W;exports.EnhancedButton=R;exports.defaultButtonTheme=P;
|
|
7
|
-
//# sourceMappingURL=Button.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Button.cjs","sources":["../../src/components/Button.ts"],"sourcesContent":["/**\n * Enhanced Button Component (Phase 5.2)\n *\n * SwiftUI-inspired Button component with press states, variants,\n * and advanced interaction handling.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createSignal, isSignal, createEffect } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { text, h } from '../runtime/renderer'\nimport { withModifiers } from './wrapper'\nimport { useLifecycle } from '../lifecycle/hooks'\nimport { ColorAsset } from '../assets/ColorAsset'\nimport type { Concatenatable, ComponentSegment, ConcatenationMetadata } from '../concatenation/types'\nimport { ConcatenatedComponent } from '../concatenation/concatenated-component'\nimport {\n ComponentWithCSSClasses,\n type CSSClassesProps\n} from '../css-classes'\n\n/**\n * Button role types following SwiftUI patterns\n */\nexport type ButtonRole = 'destructive' | 'cancel' | 'none'\n\n/**\n * Button variants\n */\nexport type ButtonVariant =\n | 'filled' // Solid background (primary)\n | 'outlined' // Border with transparent background\n | 'plain' // No background or border\n | 'bordered' // Subtle border with light background\n | 'borderedProminent' // Prominent border style\n\n/**\n * Button size presets\n */\nexport type ButtonSize = 'small' | 'medium' | 'large'\n\n/**\n * Button state\n */\nexport type ButtonState = 'normal' | 'pressed' | 'disabled' | 'focused'\n\n/**\n * Button component properties with CSS classes support\n */\nexport interface ButtonProps extends ComponentProps, CSSClassesProps {\n // Content\n title?: string | (() => string) | Signal<string>\n systemImage?: string\n\n // Behavior\n action?: () => void | Promise<void>\n role?: ButtonRole\n isEnabled?: boolean | Signal<boolean>\n\n // Appearance\n variant?: ButtonVariant\n size?: ButtonSize\n tint?: string | Signal<string> | ColorAsset\n backgroundColor?: string | Signal<string> | ColorAsset\n foregroundColor?: string | Signal<string> | ColorAsset\n\n // State management\n isPressed?: Signal<boolean>\n isLoading?: boolean | Signal<boolean>\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityHint?: string\n\n // Advanced\n controlSize?: ButtonSize\n hapticFeedback?: boolean\n}\n\n/**\n * Button theme configuration\n */\nexport interface ButtonTheme {\n colors: {\n primary: string\n secondary: string\n destructive: string\n background: string\n surface: string\n onPrimary: string\n onSecondary: string\n onSurface: string\n border: string\n disabled: string\n }\n spacing: {\n small: number\n medium: number\n large: number\n }\n borderRadius: {\n small: number\n medium: number\n large: number\n }\n typography: {\n small: { size: number; weight: string }\n medium: { size: number; weight: string }\n large: { size: number; weight: string }\n }\n}\n\n/**\n * Default button theme\n */\nexport const defaultButtonTheme: ButtonTheme = {\n colors: {\n primary: '#007AFF',\n secondary: '#5856D6',\n destructive: '#FF3B30',\n background: '#F2F2F7',\n surface: '#FFFFFF',\n onPrimary: '#FFFFFF',\n onSecondary: '#FFFFFF',\n onSurface: '#000000',\n border: '#C7C7CC',\n disabled: '#8E8E93',\n },\n spacing: {\n small: 8,\n medium: 12,\n large: 16,\n },\n borderRadius: {\n small: 6,\n medium: 8,\n large: 12,\n },\n typography: {\n small: { size: 14, weight: '500' },\n medium: { size: 16, weight: '500' },\n large: { size: 18, weight: '600' },\n },\n}\n\n/**\n * Enhanced Button component class with CSS classes support\n */\nexport class EnhancedButton extends ComponentWithCSSClasses implements ComponentInstance<ButtonProps>, Concatenatable<ButtonProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n public stateSignal: () => ButtonState\n private setState: (value: ButtonState) => void\n public theme: ButtonTheme\n\n constructor(\n public props: ButtonProps,\n theme: ButtonTheme = defaultButtonTheme\n ) {\n super()\n this.id = `button-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n this.theme = theme\n\n // Create reactive state signals\n const [stateSignal, setState] = createSignal<ButtonState>('normal')\n this.stateSignal = stateSignal\n this.setState = setState\n\n // Set up DOM event listeners when component is ready\n this.setupDOMEventListeners()\n }\n\n /**\n * Set up DOM event listeners for button interactions\n */\n private setupDOMEventListeners(): void {\n useLifecycle(this, {\n onDOMReady: (_elements, primaryElement) => {\n if (primaryElement instanceof HTMLButtonElement) {\n this.attachInteractionEvents(primaryElement)\n this.setupReactiveStyles(primaryElement)\n }\n }\n })\n }\n\n /**\n * Set up reactive style updates based on state changes\n */\n private setupReactiveStyles(button: HTMLButtonElement): void {\n // Create a reactive effect that updates styles when state changes\n const effect = createEffect(() => {\n // Reading the state signal makes this effect reactive to state changes\n this.stateSignal()\n\n // Also watch for changes in enabled/loading states if they're reactive\n this.isEnabled()\n this.isLoading()\n\n // Watch color properties for reactivity\n const { tint, backgroundColor, foregroundColor } = this.props\n\n // Make reactive to tint changes\n if (tint && isSignal(tint)) {\n (tint as () => string)() // Read the signal to make effect reactive to it\n } else if (tint instanceof ColorAsset) {\n tint.resolve() // Make effect reactive to theme changes\n }\n\n // Make reactive to backgroundColor changes\n if (backgroundColor && isSignal(backgroundColor)) {\n (backgroundColor as () => string)()\n } else if (backgroundColor instanceof ColorAsset) {\n backgroundColor.resolve()\n }\n\n // Make reactive to foregroundColor changes\n if (foregroundColor && isSignal(foregroundColor)) {\n (foregroundColor as () => string)()\n } else if (foregroundColor instanceof ColorAsset) {\n foregroundColor.resolve()\n }\n\n // Trigger style update whenever any dependency changes\n const styles = this.getButtonStyles()\n this.applyStylesToElement(button, styles)\n })\n\n // Store the effect cleanup function\n this.cleanup.push(() => {\n // Clean up the reactive effect when component unmounts\n if (effect && typeof effect.dispose === 'function') {\n effect.dispose()\n }\n })\n }\n\n /**\n * Apply computed styles to the button element, respecting modifier-applied styles\n */\n private applyStylesToElement(element: HTMLButtonElement, styles: Record<string, any>): void {\n // Apply each style property to the element, but only if not already set by modifiers\n Object.entries(styles).forEach(([property, value]) => {\n const cssProperty = this.camelToKebabCase(property)\n if (typeof value === 'string' || typeof value === 'number') {\n // Check if this property is already set by a modifier\n const currentValue = element.style.getPropertyValue(cssProperty)\n const hasModifierValue = currentValue && currentValue !== '' && currentValue !== 'inherit'\n \n // Special handling for transform: Button state transforms should override modifier transforms\n if (cssProperty === 'transform') {\n element.style.setProperty(cssProperty, String(value))\n } else if (!hasModifierValue) {\n // For other properties, only apply Button styles if no modifier has set this property\n element.style.setProperty(cssProperty, String(value))\n }\n }\n })\n }\n\n /**\n * Convert camelCase to kebab-case for CSS properties\n */\n private camelToKebabCase(str: string): string {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()\n }\n\n /**\n * Resolve color value from string, signal, or asset\n */\n private resolveColorValue(color: string | Signal<string> | ColorAsset | undefined): string | undefined {\n if (!color) return undefined\n\n if (typeof color === 'string') {\n return color\n } else if (isSignal(color)) {\n return (color as () => string)()\n } else if (color instanceof ColorAsset) {\n return color.resolve()\n }\n\n return undefined\n }\n\n /**\n * Attach interaction event listeners to the button element\n */\n private attachInteractionEvents(button: HTMLButtonElement): void {\n // Helper to check if button is currently enabled\n const isCurrentlyEnabled = (): boolean => {\n const enabled = this.isEnabled()\n return typeof enabled === 'boolean' ? enabled : enabled()\n }\n\n // Store global mouseup handler reference for cleanup\n let globalMouseUpHandler: ((event: MouseEvent) => void) | null = null\n\n // Mouse/pointer events for press states\n const handleMouseDown = (event: MouseEvent) => {\n if (isCurrentlyEnabled() && event.button === 0) { // Only left click\n this.setState('pressed')\n \n // Add global mouseup listener to handle mouseup outside the button\n globalMouseUpHandler = () => {\n if (this.stateSignal() === 'pressed') {\n this.setState('normal')\n }\n // Remove the global listener after handling\n if (globalMouseUpHandler) {\n document.removeEventListener('mouseup', globalMouseUpHandler)\n globalMouseUpHandler = null\n }\n }\n document.addEventListener('mouseup', globalMouseUpHandler)\n }\n }\n\n const handleMouseUp = () => {\n if (isCurrentlyEnabled() && this.stateSignal() === 'pressed') {\n this.setState('normal')\n // Clean up global listener if it exists\n if (globalMouseUpHandler) {\n document.removeEventListener('mouseup', globalMouseUpHandler)\n globalMouseUpHandler = null\n }\n }\n }\n\n const handleMouseLeave = () => {\n if (isCurrentlyEnabled()) {\n this.setState('normal')\n // Clean up global listener if it exists\n if (globalMouseUpHandler) {\n document.removeEventListener('mouseup', globalMouseUpHandler)\n globalMouseUpHandler = null\n }\n }\n }\n\n // Focus events\n const handleFocus = () => {\n if (isCurrentlyEnabled() && this.stateSignal() !== 'pressed') {\n this.setState('focused')\n }\n }\n\n const handleBlur = () => {\n if (isCurrentlyEnabled() && this.stateSignal() === 'focused') {\n this.setState('normal')\n }\n }\n\n // Keyboard events\n const handleKeyDown = (event: KeyboardEvent) => {\n if (isCurrentlyEnabled() && (event.key === ' ' || event.key === 'Enter')) {\n event.preventDefault()\n this.setState('pressed')\n }\n }\n\n const handleKeyUp = (event: KeyboardEvent) => {\n if (isCurrentlyEnabled() && (event.key === ' ' || event.key === 'Enter')) {\n event.preventDefault()\n this.setState('normal')\n // Trigger the action for keyboard activation\n this.props.action?.()\n }\n }\n\n // Add event listeners\n button.addEventListener('mousedown', handleMouseDown)\n button.addEventListener('mouseup', handleMouseUp)\n button.addEventListener('mouseleave', handleMouseLeave)\n button.addEventListener('focus', handleFocus)\n button.addEventListener('blur', handleBlur)\n button.addEventListener('keydown', handleKeyDown)\n button.addEventListener('keyup', handleKeyUp)\n\n // Store cleanup functions\n this.cleanup.push(() => {\n button.removeEventListener('mousedown', handleMouseDown)\n button.removeEventListener('mouseup', handleMouseUp)\n button.removeEventListener('mouseleave', handleMouseLeave)\n button.removeEventListener('focus', handleFocus)\n button.removeEventListener('blur', handleBlur)\n button.removeEventListener('keydown', handleKeyDown)\n button.removeEventListener('keyup', handleKeyUp)\n \n // Clean up global mouseup listener if it exists\n if (globalMouseUpHandler) {\n document.removeEventListener('mouseup', globalMouseUpHandler)\n globalMouseUpHandler = null\n }\n })\n }\n\n /**\n * Check if button is enabled\n */\n isEnabled(): boolean | (() => boolean) {\n const { isEnabled } = this.props\n\n if (isEnabled === undefined) return true\n if (typeof isEnabled === 'boolean') return isEnabled\n if (isSignal(isEnabled)) return isEnabled as () => boolean\n return true\n }\n\n\n /**\n * Render the button component\n */\n render() {\n // Use reactive pattern - pass signals/functions directly to runtime\n const enabled = this.isEnabled() // Get signal/value for enabled state\n\n // Create button content - always include title\n const children = []\n\n // System image (icon) - only if specified\n if (this.props.systemImage) {\n children.push(h('span', {\n class: 'button-icon',\n style: {\n marginRight: '8px',\n fontSize: '1.2em',\n },\n }, text(this.props.systemImage)))\n }\n\n // Button title - use h() helper for proper text node handling\n children.push(h('span', {\n class: 'button-title'\n }, text(this.props.title || '')))\n\n // Process CSS classes for this component\n const baseClasses = ['tachui-button']\n const classString = this.createClassString(this.props, baseClasses)\n\n // Create button element as DOMNode object with modifier metadata\n const buttonElement = {\n type: 'element' as const,\n tag: 'button',\n props: {\n className: classString,\n type: 'button',\n disabled: typeof enabled === 'boolean' ? !enabled : () => !enabled(), // Invert enabled to disabled\n onClick: this.props.action\n ? () => {\n try {\n this.props.action?.()\n } catch (error) {\n console.error('Button action error:', error)\n }\n }\n : undefined,\n // Pass through debug label for debug system\n ...(this.props.debugLabel && { debugLabel: this.props.debugLabel }),\n },\n children,\n // Attach component metadata for modifier processing\n componentMetadata: {\n id: this.id,\n type: 'Button',\n // Note: modifiers are attached automatically by the modifier system\n },\n }\n\n return [buttonElement]\n }\n\n /**\n * Check if button is in loading state\n */\n isLoading(): boolean {\n const { isLoading } = this.props\n\n if (isLoading === undefined) return false\n if (typeof isLoading === 'boolean') return isLoading\n if (isSignal(isLoading)) return (isLoading as () => boolean)()\n return false\n }\n\n /**\n * Check if the button has color-related modifiers applied\n */\n private hasColorModifiers(): boolean {\n // Try to get modifiers from the wrapper component first\n let modifiers = (this as any).modifiers\n\n // If not found on this component, check if we're wrapped and get from wrapper\n if (!modifiers && (this as any).modifierBuilder) {\n modifiers = (this as any).modifierBuilder.modifiers\n }\n\n // Also check if we're part of a modifiable component structure\n if (!modifiers && (this as any).modifiableComponent) {\n modifiers = (this as any).modifiableComponent.modifiers\n }\n\n if (!modifiers || !Array.isArray(modifiers)) {\n return false\n }\n\n // Check for any modifier that affects color\n return modifiers.some((modifier: any) => {\n // Check AppearanceModifier\n if (modifier.type === 'appearance' || modifier.constructor?.name === 'AppearanceModifier') {\n return modifier.properties &&\n (modifier.properties.foregroundColor !== undefined ||\n modifier.properties.color !== undefined)\n }\n\n // Check for any other modifiers that might affect color\n if (modifier.properties) {\n const colorProps = ['foregroundColor', 'color', 'textColor']\n return colorProps.some(prop => modifier.properties[prop] !== undefined)\n }\n\n return false\n })\n }\n\n /**\n * Check if the button has typography-related modifiers applied\n */\n private hasTypographyModifiers(): boolean {\n // Try to get modifiers from the wrapper component first\n let modifiers = (this as any).modifiers\n\n // If not found on this component, check if we're wrapped and get from wrapper\n if (!modifiers && (this as any).modifierBuilder) {\n modifiers = (this as any).modifierBuilder.modifiers\n }\n\n // Also check if we're part of a modifiable component structure\n if (!modifiers && (this as any).modifiableComponent) {\n modifiers = (this as any).modifiableComponent.modifiers\n }\n\n if (!modifiers || !Array.isArray(modifiers)) {\n return false\n }\n\n // Check for any modifier that affects text transformation\n const hasTypography = modifiers.some((modifier: any) => {\n // Check TypographyModifier\n if (modifier.type === 'typography' || modifier.constructor?.name === 'TypographyModifier') {\n return modifier.properties &&\n (modifier.properties.transform !== undefined ||\n modifier.properties.textTransform !== undefined)\n }\n\n return false\n })\n\n return hasTypography\n }\n\n /**\n * Get computed button styles based on variant, size, role, and state\n */\n // biome-ignore lint/suspicious/noExplicitAny: CSS styles require flexible property types\n getButtonStyles(): Record<string, any> {\n const { variant, size, role = 'none', tint, backgroundColor: bgColorProp, foregroundColor: fgColorProp } = this.props\n const state = this.stateSignal()\n const isLoading = this.isLoading()\n const isEnabled = this.isEnabled()\n\n // Check if the component has color-related or typography modifiers applied\n const hasColorModifiers = this.hasColorModifiers()\n const hasTypographyModifiers = this.hasTypographyModifiers()\n\n // Base styles - minimal defaults, inherit from parent but allow modifiers to override\n const baseStyles: Record<string, any> = {\n // Only set color property if no modifiers will handle it\n // This prevents conflicts between Button styles and AppearanceModifier\n ...((!hasColorModifiers && !fgColorProp && !variant) && { color: 'inherit' }),\n // Only set text-related properties if no typography modifiers will handle them\n // This prevents conflicts between Button styles and TypographyModifier\n ...(!hasTypographyModifiers && {\n fontStyle: 'inherit',\n lineHeight: 'inherit',\n textTransform: 'inherit',\n textDecoration: 'inherit',\n textIndent: 'inherit',\n textShadow: 'inherit',\n wordSpacing: 'inherit',\n textOrientation: 'inherit',\n writingMode: 'inherit',\n direction: 'inherit',\n }),\n // Let modifiers control: fontFamily, fontSize, fontWeight, letterSpacing, textAlign\n }\n\n // Only apply size-based styles if size is explicitly provided\n if (size) {\n const sizeConfig = this.theme.spacing[size] || this.theme.spacing.medium\n const borderRadius = this.theme.borderRadius[size] || this.theme.borderRadius.medium\n const typography = this.theme.typography[size] || this.theme.typography.medium\n\n const minHeights = {\n small: '32px',\n medium: '40px',\n large: '48px',\n }\n\n baseStyles.padding = `${sizeConfig}px ${sizeConfig * 2}px`\n baseStyles.borderRadius = `${borderRadius}px`\n baseStyles.fontSize = `${typography.size}px`\n baseStyles.fontWeight = typography.weight\n baseStyles.minHeight = minHeights[size]\n }\n\n let backgroundColor = 'transparent'\n let borderColor = 'transparent'\n let borderWidth = '1px'\n let color = undefined // Will be set by variant or remain undefined to use baseStyles.color\n\n // Resolve color values using helper method\n const tintColor = this.resolveColorValue(tint)\n const customBackgroundColor = this.resolveColorValue(bgColorProp)\n const customForegroundColor = this.resolveColorValue(fgColorProp)\n\n // Apply variant styles ONLY if variant is explicitly provided\n if (variant) {\n const fallbackTintColor = tintColor || this.theme.colors.primary\n\n switch (variant) {\n case 'filled':\n if (role === 'destructive') {\n backgroundColor = this.theme.colors.destructive\n } else if (role === 'cancel') {\n backgroundColor = this.theme.colors.secondary\n } else {\n backgroundColor = fallbackTintColor\n }\n color = this.theme.colors.onPrimary\n break\n case 'outlined':\n borderColor = role === 'destructive' ? this.theme.colors.destructive : fallbackTintColor\n color = role === 'destructive' ? this.theme.colors.destructive : fallbackTintColor\n break\n case 'bordered':\n backgroundColor = this.theme.colors.background\n borderColor = this.theme.colors.border\n break\n case 'borderedProminent':\n backgroundColor = this.theme.colors.surface\n borderColor = this.theme.colors.primary\n borderWidth = '2px'\n break\n case 'plain':\n // Keep defaults (transparent)\n break\n }\n }\n\n // Apply custom colors if provided (override variant defaults)\n if (customBackgroundColor) {\n backgroundColor = customBackgroundColor\n }\n if (customForegroundColor) {\n color = customForegroundColor\n }\n\n // Apply state modifications\n let opacity = '1'\n let pointerEvents = 'auto'\n let transform = undefined // Only set when needed\n let boxShadow = 'none'\n\n if (!isEnabled) {\n backgroundColor = this.theme.colors.disabled\n borderColor = this.theme.colors.disabled\n color = this.theme.colors.disabled\n opacity = '0.6'\n pointerEvents = 'none'\n } else if (isLoading) {\n opacity = '0.6'\n pointerEvents = 'none'\n } else if (state === 'pressed') {\n // Darken colors for pressed state\n backgroundColor = this.darkenColor(backgroundColor, 0.1)\n borderColor = this.darkenColor(borderColor, 0.1)\n transform = 'scale(0.95)'\n } else if (state === 'focused') {\n boxShadow = '0 0 0 3px #007AFF40'\n }\n\n // Build final styles object - only include styles when explicitly needed\n const finalStyles: Record<string, any> = {\n ...baseStyles, // Size-based styles (only if size provided)\n }\n\n // Only apply variant/color styles if variant is provided\n if (variant) {\n finalStyles.backgroundColor = backgroundColor\n finalStyles.borderColor = borderColor\n finalStyles.borderWidth = borderWidth\n if (color !== undefined) {\n finalStyles.color = color\n }\n }\n\n // Apply custom color overrides even without variant\n if (customBackgroundColor) {\n finalStyles.backgroundColor = customBackgroundColor\n }\n if (customForegroundColor) {\n finalStyles.color = customForegroundColor\n }\n\n // Always apply interaction and state styles\n finalStyles.cursor = isEnabled ? 'pointer' : 'not-allowed'\n finalStyles.opacity = opacity\n finalStyles.pointerEvents = pointerEvents\n\n // Always apply transform - use 'none' when not needed to properly clear previous values\n finalStyles.transform = transform !== undefined ? transform : 'none'\n finalStyles.boxShadow = boxShadow\n\n finalStyles.transition = 'all 0.2s ease'\n\n return finalStyles\n }\n\n /**\n * Handle button press with proper state management\n */\n async handlePress(): Promise<void> {\n if (!this.isEnabled() || this.isLoading()) return\n\n // Trigger haptic feedback (if available)\n this.triggerHapticFeedback()\n\n this.setState('pressed')\n\n // Reset state after animation\n setTimeout(() => {\n if (this.isEnabled()) {\n this.setState('normal')\n }\n }, 150)\n\n // Execute action if provided\n if (this.props.action) {\n try {\n const result = this.props.action()\n // Handle if action returns a Promise\n if (result && typeof result.then === 'function') {\n await result\n }\n } catch (error) {\n console.error('Button action failed:', error)\n }\n }\n }\n\n /**\n * Trigger haptic feedback (mobile Safari support)\n */\n private triggerHapticFeedback(): void {\n // Check if haptic feedback is disabled\n if (this.props.hapticFeedback === false) return\n\n if (typeof window !== 'undefined' && 'navigator' in window) {\n // biome-ignore lint/suspicious/noExplicitAny: Navigator API requires dynamic access\n const navigator = window.navigator as any\n if (navigator.vibrate) {\n navigator.vibrate(10) // Short vibration\n }\n }\n }\n\n /**\n * Helper to darken a color for pressed states\n */\n private darkenColor(color: string, amount: number): string {\n if (color === 'transparent') return color\n\n // Simple darkening for hex colors\n if (color.startsWith('#')) {\n const hex = color.slice(1)\n const num = parseInt(hex, 16)\n const r = Math.max(0, Math.floor((num >> 16) * (1 - amount)))\n const g = Math.max(0, Math.floor(((num >> 8) & 0x00ff) * (1 - amount)))\n const b = Math.max(0, Math.floor((num & 0x0000ff) * (1 - amount)))\n return `#${((r << 16) | (g << 8) | b).toString(16).padStart(6, '0')}`\n }\n\n return color\n }\n\n // ============================================================================\n // Concatenation Support (Phase 3.1)\n // ============================================================================\n\n /**\n * Concatenate this button with another concatenatable component\n */\n concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<ButtonProps | U> {\n const thisSegment = this.toSegment()\n const otherSegment = other.toSegment()\n\n const metadata: ConcatenationMetadata = {\n totalSegments: other instanceof ConcatenatedComponent ? other.segments.length + 1 : 2,\n accessibilityRole: other instanceof ConcatenatedComponent\n ? this.mergeAccessibilityRoles('composite', other.metadata.accessibilityRole)\n : this.determineAccessibilityRole(other),\n semanticStructure: 'inline' // Buttons are typically inline in concatenation\n }\n\n return new ConcatenatedComponent([thisSegment, otherSegment], metadata)\n }\n\n /**\n * Convert this button to a segment for concatenation\n */\n toSegment(): ComponentSegment {\n return {\n id: this.id,\n component: this,\n modifiers: [], // Buttons don't typically have concatenation-specific modifiers\n render: () => {\n const rendered = this.render()\n return Array.isArray(rendered) ? rendered[0] : rendered\n }\n }\n }\n\n /**\n * Check if this component supports concatenation\n */\n isConcatenatable(): boolean {\n return true\n }\n\n /**\n * Determine accessibility role for concatenation\n */\n private determineAccessibilityRole(other: Concatenatable): 'text' | 'group' | 'composite' {\n const componentType = (other as any).constructor.name\n\n switch (componentType) {\n case 'EnhancedText':\n return 'composite' // Button + Text = composite (interactive content)\n case 'EnhancedImage':\n return 'composite' // Button + Image = composite (interactive content)\n case 'EnhancedButton':\n case 'EnhancedLink':\n return 'composite' // Button + Interactive = composite\n default:\n return 'composite'\n }\n }\n\n /**\n * Merge accessibility roles when combining components\n */\n private mergeAccessibilityRoles(\n _thisRole: 'text' | 'group' | 'composite',\n _existingRole: 'text' | 'group' | 'composite'\n ): 'text' | 'group' | 'composite' {\n // Buttons always contribute as 'composite' (interactive), so result is always composite\n return 'composite'\n }\n}\n\n/**\n * Create enhanced Button component with modifier support\n */\nexport function Button(\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action'> = {}\n): ModifiableComponent<ButtonProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ButtonProps>>\n} {\n const buttonProps: ButtonProps = { ...props, title, ...(action && { action }) }\n const component = new EnhancedButton(buttonProps)\n return withModifiers(component)\n}\n\n\n/**\n * Button variant shortcuts\n */\nexport const ButtonStyles = {\n /**\n * Filled button (primary)\n */\n Filled: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'variant'> = {}\n ) => Button(title, action, { ...props, variant: 'filled' }),\n\n /**\n * Outlined button\n */\n Outlined: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'variant'> = {}\n ) => Button(title, action, { ...props, variant: 'outlined' }),\n\n /**\n * Plain button (text only)\n */\n Plain: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'variant'> = {}\n ) => Button(title, action, { ...props, variant: 'plain' }),\n\n /**\n * Bordered button\n */\n Bordered: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'variant'> = {}\n ) => Button(title, action, { ...props, variant: 'bordered' }),\n\n /**\n * Destructive button\n */\n Destructive: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'role'> = {}\n ) => Button(title, action, { ...props, role: 'destructive' }),\n\n /**\n * Cancel button\n */\n Cancel: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'role'> = {}\n ) => Button(title, action, { ...props, role: 'cancel' }),\n}\n\n/**\n * CSS animations for button loading spinner\n */\nconst buttonAnimations = `\n@keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n`\n\n// Inject animations into document head\nif (typeof document !== 'undefined') {\n const style = document.createElement('style')\n style.textContent = buttonAnimations\n document.head.appendChild(style)\n}\n"],"names":["defaultButtonTheme","EnhancedButton","ComponentWithCSSClasses","props","theme","__publicField","stateSignal","setState","createSignal","useLifecycle","_elements","primaryElement","button","effect","createEffect","tint","backgroundColor","foregroundColor","isSignal","ColorAsset","styles","element","property","value","cssProperty","currentValue","str","color","isCurrentlyEnabled","enabled","globalMouseUpHandler","handleMouseDown","event","handleMouseUp","handleMouseLeave","handleFocus","handleBlur","handleKeyDown","handleKeyUp","isEnabled","children","h","text","baseClasses","error","isLoading","modifiers","modifier","prop","variant","size","role","bgColorProp","fgColorProp","state","hasColorModifiers","hasTypographyModifiers","baseStyles","sizeConfig","borderRadius","typography","minHeights","borderColor","borderWidth","tintColor","customBackgroundColor","customForegroundColor","fallbackTintColor","opacity","pointerEvents","transform","boxShadow","finalStyles","result","navigator","amount","hex","num","g","b","other","thisSegment","otherSegment","metadata","ConcatenatedComponent","rendered","_thisRole","_existingRole","Button","title","action","buttonProps","component","withModifiers","ButtonStyles","buttonAnimations","style"],"mappings":"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"}
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced Button Component (Phase 5.2)
|
|
3
|
-
*
|
|
4
|
-
* SwiftUI-inspired Button component with press states, variants,
|
|
5
|
-
* and advanced interaction handling.
|
|
6
|
-
*/
|
|
7
|
-
import type { ModifiableComponent, ModifierBuilder } from '../modifiers/types';
|
|
8
|
-
import type { Signal } from '../reactive/types';
|
|
9
|
-
import type { ComponentInstance, ComponentProps } from '../runtime/types';
|
|
10
|
-
import { ColorAsset } from '../assets/ColorAsset';
|
|
11
|
-
import type { Concatenatable, ComponentSegment } from '../concatenation/types';
|
|
12
|
-
import { ConcatenatedComponent } from '../concatenation/concatenated-component';
|
|
13
|
-
import { ComponentWithCSSClasses, type CSSClassesProps } from '../css-classes';
|
|
14
|
-
/**
|
|
15
|
-
* Button role types following SwiftUI patterns
|
|
16
|
-
*/
|
|
17
|
-
export type ButtonRole = 'destructive' | 'cancel' | 'none';
|
|
18
|
-
/**
|
|
19
|
-
* Button variants
|
|
20
|
-
*/
|
|
21
|
-
export type ButtonVariant = 'filled' | 'outlined' | 'plain' | 'bordered' | 'borderedProminent';
|
|
22
|
-
/**
|
|
23
|
-
* Button size presets
|
|
24
|
-
*/
|
|
25
|
-
export type ButtonSize = 'small' | 'medium' | 'large';
|
|
26
|
-
/**
|
|
27
|
-
* Button state
|
|
28
|
-
*/
|
|
29
|
-
export type ButtonState = 'normal' | 'pressed' | 'disabled' | 'focused';
|
|
30
|
-
/**
|
|
31
|
-
* Button component properties with CSS classes support
|
|
32
|
-
*/
|
|
33
|
-
export interface ButtonProps extends ComponentProps, CSSClassesProps {
|
|
34
|
-
title?: string | (() => string) | Signal<string>;
|
|
35
|
-
systemImage?: string;
|
|
36
|
-
action?: () => void | Promise<void>;
|
|
37
|
-
role?: ButtonRole;
|
|
38
|
-
isEnabled?: boolean | Signal<boolean>;
|
|
39
|
-
variant?: ButtonVariant;
|
|
40
|
-
size?: ButtonSize;
|
|
41
|
-
tint?: string | Signal<string> | ColorAsset;
|
|
42
|
-
backgroundColor?: string | Signal<string> | ColorAsset;
|
|
43
|
-
foregroundColor?: string | Signal<string> | ColorAsset;
|
|
44
|
-
isPressed?: Signal<boolean>;
|
|
45
|
-
isLoading?: boolean | Signal<boolean>;
|
|
46
|
-
accessibilityLabel?: string;
|
|
47
|
-
accessibilityHint?: string;
|
|
48
|
-
controlSize?: ButtonSize;
|
|
49
|
-
hapticFeedback?: boolean;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Button theme configuration
|
|
53
|
-
*/
|
|
54
|
-
export interface ButtonTheme {
|
|
55
|
-
colors: {
|
|
56
|
-
primary: string;
|
|
57
|
-
secondary: string;
|
|
58
|
-
destructive: string;
|
|
59
|
-
background: string;
|
|
60
|
-
surface: string;
|
|
61
|
-
onPrimary: string;
|
|
62
|
-
onSecondary: string;
|
|
63
|
-
onSurface: string;
|
|
64
|
-
border: string;
|
|
65
|
-
disabled: string;
|
|
66
|
-
};
|
|
67
|
-
spacing: {
|
|
68
|
-
small: number;
|
|
69
|
-
medium: number;
|
|
70
|
-
large: number;
|
|
71
|
-
};
|
|
72
|
-
borderRadius: {
|
|
73
|
-
small: number;
|
|
74
|
-
medium: number;
|
|
75
|
-
large: number;
|
|
76
|
-
};
|
|
77
|
-
typography: {
|
|
78
|
-
small: {
|
|
79
|
-
size: number;
|
|
80
|
-
weight: string;
|
|
81
|
-
};
|
|
82
|
-
medium: {
|
|
83
|
-
size: number;
|
|
84
|
-
weight: string;
|
|
85
|
-
};
|
|
86
|
-
large: {
|
|
87
|
-
size: number;
|
|
88
|
-
weight: string;
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Default button theme
|
|
94
|
-
*/
|
|
95
|
-
export declare const defaultButtonTheme: ButtonTheme;
|
|
96
|
-
/**
|
|
97
|
-
* Enhanced Button component class with CSS classes support
|
|
98
|
-
*/
|
|
99
|
-
export declare class EnhancedButton extends ComponentWithCSSClasses implements ComponentInstance<ButtonProps>, Concatenatable<ButtonProps> {
|
|
100
|
-
props: ButtonProps;
|
|
101
|
-
readonly type: "component";
|
|
102
|
-
readonly id: string;
|
|
103
|
-
mounted: boolean;
|
|
104
|
-
cleanup: (() => void)[];
|
|
105
|
-
stateSignal: () => ButtonState;
|
|
106
|
-
private setState;
|
|
107
|
-
theme: ButtonTheme;
|
|
108
|
-
constructor(props: ButtonProps, theme?: ButtonTheme);
|
|
109
|
-
/**
|
|
110
|
-
* Set up DOM event listeners for button interactions
|
|
111
|
-
*/
|
|
112
|
-
private setupDOMEventListeners;
|
|
113
|
-
/**
|
|
114
|
-
* Set up reactive style updates based on state changes
|
|
115
|
-
*/
|
|
116
|
-
private setupReactiveStyles;
|
|
117
|
-
/**
|
|
118
|
-
* Apply computed styles to the button element, respecting modifier-applied styles
|
|
119
|
-
*/
|
|
120
|
-
private applyStylesToElement;
|
|
121
|
-
/**
|
|
122
|
-
* Convert camelCase to kebab-case for CSS properties
|
|
123
|
-
*/
|
|
124
|
-
private camelToKebabCase;
|
|
125
|
-
/**
|
|
126
|
-
* Resolve color value from string, signal, or asset
|
|
127
|
-
*/
|
|
128
|
-
private resolveColorValue;
|
|
129
|
-
/**
|
|
130
|
-
* Attach interaction event listeners to the button element
|
|
131
|
-
*/
|
|
132
|
-
private attachInteractionEvents;
|
|
133
|
-
/**
|
|
134
|
-
* Check if button is enabled
|
|
135
|
-
*/
|
|
136
|
-
isEnabled(): boolean | (() => boolean);
|
|
137
|
-
/**
|
|
138
|
-
* Render the button component
|
|
139
|
-
*/
|
|
140
|
-
render(): {
|
|
141
|
-
type: "element";
|
|
142
|
-
tag: string;
|
|
143
|
-
props: {
|
|
144
|
-
debugLabel?: string | undefined;
|
|
145
|
-
className: string | Signal<string>;
|
|
146
|
-
type: string;
|
|
147
|
-
disabled: boolean | (() => boolean);
|
|
148
|
-
onClick: (() => void) | undefined;
|
|
149
|
-
};
|
|
150
|
-
children: import("../runtime/types").DOMNode[];
|
|
151
|
-
componentMetadata: {
|
|
152
|
-
id: string;
|
|
153
|
-
type: string;
|
|
154
|
-
};
|
|
155
|
-
}[];
|
|
156
|
-
/**
|
|
157
|
-
* Check if button is in loading state
|
|
158
|
-
*/
|
|
159
|
-
isLoading(): boolean;
|
|
160
|
-
/**
|
|
161
|
-
* Check if the button has color-related modifiers applied
|
|
162
|
-
*/
|
|
163
|
-
private hasColorModifiers;
|
|
164
|
-
/**
|
|
165
|
-
* Check if the button has typography-related modifiers applied
|
|
166
|
-
*/
|
|
167
|
-
private hasTypographyModifiers;
|
|
168
|
-
/**
|
|
169
|
-
* Get computed button styles based on variant, size, role, and state
|
|
170
|
-
*/
|
|
171
|
-
getButtonStyles(): Record<string, any>;
|
|
172
|
-
/**
|
|
173
|
-
* Handle button press with proper state management
|
|
174
|
-
*/
|
|
175
|
-
handlePress(): Promise<void>;
|
|
176
|
-
/**
|
|
177
|
-
* Trigger haptic feedback (mobile Safari support)
|
|
178
|
-
*/
|
|
179
|
-
private triggerHapticFeedback;
|
|
180
|
-
/**
|
|
181
|
-
* Helper to darken a color for pressed states
|
|
182
|
-
*/
|
|
183
|
-
private darkenColor;
|
|
184
|
-
/**
|
|
185
|
-
* Concatenate this button with another concatenatable component
|
|
186
|
-
*/
|
|
187
|
-
concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<ButtonProps | U>;
|
|
188
|
-
/**
|
|
189
|
-
* Convert this button to a segment for concatenation
|
|
190
|
-
*/
|
|
191
|
-
toSegment(): ComponentSegment;
|
|
192
|
-
/**
|
|
193
|
-
* Check if this component supports concatenation
|
|
194
|
-
*/
|
|
195
|
-
isConcatenatable(): boolean;
|
|
196
|
-
/**
|
|
197
|
-
* Determine accessibility role for concatenation
|
|
198
|
-
*/
|
|
199
|
-
private determineAccessibilityRole;
|
|
200
|
-
/**
|
|
201
|
-
* Merge accessibility roles when combining components
|
|
202
|
-
*/
|
|
203
|
-
private mergeAccessibilityRoles;
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Create enhanced Button component with modifier support
|
|
207
|
-
*/
|
|
208
|
-
export declare function Button(title: string | (() => string) | Signal<string>, action?: () => void | Promise<void>, props?: Omit<ButtonProps, 'title' | 'action'>): ModifiableComponent<ButtonProps> & {
|
|
209
|
-
modifier: ModifierBuilder<ModifiableComponent<ButtonProps>>;
|
|
210
|
-
};
|
|
211
|
-
/**
|
|
212
|
-
* Button variant shortcuts
|
|
213
|
-
*/
|
|
214
|
-
export declare const ButtonStyles: {
|
|
215
|
-
/**
|
|
216
|
-
* Filled button (primary)
|
|
217
|
-
*/
|
|
218
|
-
Filled: (title: string | (() => string) | Signal<string>, action?: () => void | Promise<void>, props?: Omit<ButtonProps, "title" | "action" | "variant">) => ModifiableComponent<ButtonProps> & {
|
|
219
|
-
modifier: ModifierBuilder<ModifiableComponent<ButtonProps>>;
|
|
220
|
-
};
|
|
221
|
-
/**
|
|
222
|
-
* Outlined button
|
|
223
|
-
*/
|
|
224
|
-
Outlined: (title: string | (() => string) | Signal<string>, action?: () => void | Promise<void>, props?: Omit<ButtonProps, "title" | "action" | "variant">) => ModifiableComponent<ButtonProps> & {
|
|
225
|
-
modifier: ModifierBuilder<ModifiableComponent<ButtonProps>>;
|
|
226
|
-
};
|
|
227
|
-
/**
|
|
228
|
-
* Plain button (text only)
|
|
229
|
-
*/
|
|
230
|
-
Plain: (title: string | (() => string) | Signal<string>, action?: () => void | Promise<void>, props?: Omit<ButtonProps, "title" | "action" | "variant">) => ModifiableComponent<ButtonProps> & {
|
|
231
|
-
modifier: ModifierBuilder<ModifiableComponent<ButtonProps>>;
|
|
232
|
-
};
|
|
233
|
-
/**
|
|
234
|
-
* Bordered button
|
|
235
|
-
*/
|
|
236
|
-
Bordered: (title: string | (() => string) | Signal<string>, action?: () => void | Promise<void>, props?: Omit<ButtonProps, "title" | "action" | "variant">) => ModifiableComponent<ButtonProps> & {
|
|
237
|
-
modifier: ModifierBuilder<ModifiableComponent<ButtonProps>>;
|
|
238
|
-
};
|
|
239
|
-
/**
|
|
240
|
-
* Destructive button
|
|
241
|
-
*/
|
|
242
|
-
Destructive: (title: string | (() => string) | Signal<string>, action?: () => void | Promise<void>, props?: Omit<ButtonProps, "title" | "action" | "role">) => ModifiableComponent<ButtonProps> & {
|
|
243
|
-
modifier: ModifierBuilder<ModifiableComponent<ButtonProps>>;
|
|
244
|
-
};
|
|
245
|
-
/**
|
|
246
|
-
* Cancel button
|
|
247
|
-
*/
|
|
248
|
-
Cancel: (title: string | (() => string) | Signal<string>, action?: () => void | Promise<void>, props?: Omit<ButtonProps, "title" | "action" | "role">) => ModifiableComponent<ButtonProps> & {
|
|
249
|
-
modifier: ModifierBuilder<ModifiableComponent<ButtonProps>>;
|
|
250
|
-
};
|
|
251
|
-
};
|
|
252
|
-
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.ts"],"names":[],"mappings":"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"}
|