@pg-labs-incubator/cobweb 0.0.0-stage → 0.0.1
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/LICENSE +163 -0
- package/README.md +82 -2
- package/package.json +111 -3
- package/src/action/action.yaml +291 -0
- package/src/action/button-group.yaml +56 -0
- package/src/action/button.yaml +239 -0
- package/src/action/split-button.yaml +87 -0
- package/src/color/color.yaml +181 -0
- package/src/color/palette.yaml +147 -0
- package/src/container/card.yaml +170 -0
- package/src/container/corner-radius.yaml +50 -0
- package/src/container/elevation.yaml +19 -0
- package/src/design.yaml +41 -0
- package/src/feedback/feedback.yaml +225 -0
- package/src/icon/icon-font.yaml +28 -0
- package/src/icon/icon.yaml +31 -0
- package/src/input/date-picker.yaml +144 -0
- package/src/input/date-range-input.yaml +162 -0
- package/src/input/range-slider.yaml +161 -0
- package/src/input/select.yaml +230 -0
- package/src/input/slider.yaml +172 -0
- package/src/input/text-field.yaml +240 -0
- package/src/input/time-picker.yaml +220 -0
- package/src/motion/motion.yaml +371 -0
- package/src/navigation/app-bar.yaml +147 -0
- package/src/navigation/navigation.yaml +339 -0
- package/src/navigation/scroll.yaml +23 -0
- package/src/navigation/search.yaml +112 -0
- package/src/navigation/tabs.yaml +144 -0
- package/src/navigation/toolbar.yaml +130 -0
- package/src/selection/checkbox.yaml +162 -0
- package/src/selection/chip.yaml +219 -0
- package/src/selection/radio.yaml +125 -0
- package/src/selection/segmented-group.yaml +11 -0
- package/src/selection/segmented.yaml +69 -0
- package/src/selection/switch.yaml +209 -0
- package/src/spacing/measurement.yaml +80 -0
- package/src/state/state.yaml +38 -0
- package/src/surface/surface.yaml +483 -0
- package/src/text/line-height.yaml +144 -0
- package/src/text/typeface.yaml +31 -0
- package/src/text/typescale.yaml +726 -0
- package/target/esbuild/action/action.css +1 -0
- package/target/esbuild/action/base.jsx +1 -0
- package/target/esbuild/action/button.jsx +17 -0
- package/target/esbuild/action/fab-menu-context.jsx +1 -0
- package/target/esbuild/action/fab-menu.jsx +15 -0
- package/target/esbuild/action/fab.jsx +7 -0
- package/target/esbuild/action/group.jsx +22 -0
- package/target/esbuild/action/icon-button.jsx +5 -0
- package/target/esbuild/action/index.jsx +1 -0
- package/target/esbuild/action/split-button.jsx +12 -0
- package/target/esbuild/color/contrast.jsx +1 -0
- package/target/esbuild/color/dynamic.jsx +1 -0
- package/target/esbuild/color/hct.jsx +1 -0
- package/target/esbuild/color/index.css +1 -0
- package/target/esbuild/color/index.jsx +1 -0
- package/target/esbuild/color/palette.jsx +1 -0
- package/target/esbuild/color/scheme.jsx +1 -0
- package/target/esbuild/color/temperature.jsx +1 -0
- package/target/esbuild/container/card.css +1 -0
- package/target/esbuild/container/card.jsx +1 -0
- package/target/esbuild/container/elevation-shadow.css +1 -0
- package/target/esbuild/container/elevation-shadow.jsx +1 -0
- package/target/esbuild/container/index.jsx +1 -0
- package/target/esbuild/dom/client.jsx +1 -0
- package/target/esbuild/dom/index.jsx +1 -0
- package/target/esbuild/dom/server.jsx +1 -0
- package/target/esbuild/dom/types.jsx +1 -0
- package/target/esbuild/feedback/badge.jsx +15 -0
- package/target/esbuild/feedback/feedback.css +1 -0
- package/target/esbuild/feedback/focus.jsx +1 -0
- package/target/esbuild/feedback/index.jsx +1 -0
- package/target/esbuild/feedback/loading.jsx +7 -0
- package/target/esbuild/feedback/observe.jsx +1 -0
- package/target/esbuild/feedback/progress.jsx +35 -0
- package/target/esbuild/feedback/snackbar.jsx +23 -0
- package/target/esbuild/feedback/tooltip.jsx +24 -0
- package/target/esbuild/icon/icon.css +1 -0
- package/target/esbuild/icon/icon.jsx +1 -0
- package/target/esbuild/icon/index.jsx +1 -0
- package/target/esbuild/index.css +1 -0
- package/target/esbuild/index.jsx +1 -0
- package/target/esbuild/input/autocomplete.jsx +5 -0
- package/target/esbuild/input/base.jsx +4 -0
- package/target/esbuild/input/date-picker.css +1 -0
- package/target/esbuild/input/date-picker.jsx +104 -0
- package/target/esbuild/input/date-range-input.css +1 -0
- package/target/esbuild/input/date-time.jsx +21 -0
- package/target/esbuild/input/index.css +1 -0
- package/target/esbuild/input/index.jsx +1 -0
- package/target/esbuild/input/paired-input.jsx +1 -0
- package/target/esbuild/input/picker-dialog.css +1 -0
- package/target/esbuild/input/picker-dialog.jsx +14 -0
- package/target/esbuild/input/select.css +1 -0
- package/target/esbuild/input/select.jsx +63 -0
- package/target/esbuild/input/slider.css +1 -0
- package/target/esbuild/input/slider.jsx +51 -0
- package/target/esbuild/input/text-field.css +1 -0
- package/target/esbuild/input/text-field.jsx +67 -0
- package/target/esbuild/input/time-picker.css +1 -0
- package/target/esbuild/input/time-picker.jsx +29 -0
- package/target/esbuild/motion/frame.jsx +1 -0
- package/target/esbuild/motion/index.css +1 -0
- package/target/esbuild/motion/index.jsx +1 -0
- package/target/esbuild/motion/material.jsx +1 -0
- package/target/esbuild/motion/motion.jsx +1 -0
- package/target/esbuild/motion/spring.jsx +1 -0
- package/target/esbuild/motion/transition.css +1 -0
- package/target/esbuild/motion/transition.jsx +1 -0
- package/target/esbuild/motion/velocity.jsx +1 -0
- package/target/esbuild/navigation/app-bar.jsx +51 -0
- package/target/esbuild/navigation/base.jsx +1 -0
- package/target/esbuild/navigation/drawer.jsx +25 -0
- package/target/esbuild/navigation/index.jsx +1 -0
- package/target/esbuild/navigation/navigation.css +1 -0
- package/target/esbuild/navigation/navigation.jsx +29 -0
- package/target/esbuild/navigation/scroll.jsx +1 -0
- package/target/esbuild/navigation/search.jsx +29 -0
- package/target/esbuild/navigation/tabs.jsx +7 -0
- package/target/esbuild/navigation/toolbar.jsx +23 -0
- package/target/esbuild/selection/base.jsx +1 -0
- package/target/esbuild/selection/checkbox.jsx +14 -0
- package/target/esbuild/selection/chip.jsx +23 -0
- package/target/esbuild/selection/index.jsx +1 -0
- package/target/esbuild/selection/radio.jsx +9 -0
- package/target/esbuild/selection/segmented.jsx +15 -0
- package/target/esbuild/selection/selection.css +1 -0
- package/target/esbuild/selection/switch.jsx +14 -0
- package/target/esbuild/shape/corner-rounding.jsx +1 -0
- package/target/esbuild/shape/cubic.jsx +1 -0
- package/target/esbuild/shape/index.jsx +1 -0
- package/target/esbuild/shape/material-shapes.jsx +1 -0
- package/target/esbuild/shape/morph.jsx +1 -0
- package/target/esbuild/shape/path.jsx +1 -0
- package/target/esbuild/shape/point.jsx +1 -0
- package/target/esbuild/shape/rounded-polygon.jsx +1 -0
- package/target/esbuild/shape/shapes.jsx +1 -0
- package/target/esbuild/spacing/index.jsx +1 -0
- package/target/esbuild/state/component.css +1 -0
- package/target/esbuild/state/component.jsx +1 -0
- package/target/esbuild/state/controller.jsx +1 -0
- package/target/esbuild/state/index.jsx +1 -0
- package/target/esbuild/state/ripple.jsx +1 -0
- package/target/esbuild/state/state.jsx +1 -0
- package/target/esbuild/state/style.jsx +1 -0
- package/target/esbuild/surface/carousel-layout.jsx +1 -0
- package/target/esbuild/surface/carousel.css +1 -0
- package/target/esbuild/surface/carousel.jsx +10 -0
- package/target/esbuild/surface/dialog.jsx +35 -0
- package/target/esbuild/surface/divider.jsx +1 -0
- package/target/esbuild/surface/drag.jsx +1 -0
- package/target/esbuild/surface/gestures.css +1 -0
- package/target/esbuild/surface/gestures.jsx +7 -0
- package/target/esbuild/surface/index.css +1 -0
- package/target/esbuild/surface/index.jsx +1 -0
- package/target/esbuild/surface/interactive.jsx +1 -0
- package/target/esbuild/surface/list-patterns.jsx +26 -0
- package/target/esbuild/surface/list.css +1 -0
- package/target/esbuild/surface/list.jsx +9 -0
- package/target/esbuild/surface/menu.css +1 -0
- package/target/esbuild/surface/menu.jsx +12 -0
- package/target/esbuild/surface/scaffold.jsx +47 -0
- package/target/esbuild/surface/sheet.jsx +21 -0
- package/target/esbuild/surface/side-sheet.jsx +17 -0
- package/target/esbuild/surface/slots.jsx +1 -0
- package/target/esbuild/surface/surface.css +1 -0
- package/target/esbuild/surface/surface.jsx +1 -0
- package/target/esbuild/text/index.css +1 -0
- package/target/esbuild/text/index.jsx +1 -0
- package/target/esbuild/text/text.css +1 -0
- package/target/esbuild/text/text.jsx +3 -0
- package/target/esbuild/text/typography.css +1 -0
- package/target/esbuild/text/typography.jsx +1 -0
- package/target/esbuild/util/box-side.jsx +1 -0
- package/target/esbuild/util/debug.jsx +1 -0
- package/target/esbuild/util/dom.jsx +1 -0
- package/target/esbuild/util/event.jsx +1 -0
- package/target/esbuild/util/index.jsx +1 -0
- package/target/esbuild/util/preconditions.jsx +1 -0
- package/target/esbuild/util/reactive.jsx +1 -0
- package/target/tsc/action/action.css.d.ts +3 -0
- package/target/tsc/action/base.d.ts +211 -0
- package/target/tsc/action/button.d.ts +126 -0
- package/target/tsc/action/fab-menu-context.d.ts +16 -0
- package/target/tsc/action/fab-menu.d.ts +112 -0
- package/target/tsc/action/fab.d.ts +98 -0
- package/target/tsc/action/group.d.ts +166 -0
- package/target/tsc/action/icon-button.d.ts +79 -0
- package/target/tsc/action/index.d.ts +24 -0
- package/target/tsc/action/split-button.d.ts +78 -0
- package/target/tsc/color/contrast.d.ts +48 -0
- package/target/tsc/color/dynamic.d.ts +203 -0
- package/target/tsc/color/hct.d.ts +114 -0
- package/target/tsc/color/index.css.d.ts +3 -0
- package/target/tsc/color/index.d.ts +23 -0
- package/target/tsc/color/palette.d.ts +30 -0
- package/target/tsc/color/scheme.d.ts +446 -0
- package/target/tsc/color/temperature.d.ts +24 -0
- package/target/tsc/container/card.css.d.ts +3 -0
- package/target/tsc/container/card.d.ts +110 -0
- package/target/tsc/container/elevation-shadow.css.d.ts +3 -0
- package/target/tsc/container/elevation-shadow.d.ts +23 -0
- package/target/tsc/container/index.d.ts +44 -0
- package/target/tsc/dom/client.d.ts +387 -0
- package/target/tsc/dom/index.d.ts +93 -0
- package/target/tsc/dom/server.d.ts +65 -0
- package/target/tsc/dom/types.d.ts +134 -0
- package/target/tsc/feedback/badge.d.ts +116 -0
- package/target/tsc/feedback/feedback.css.d.ts +3 -0
- package/target/tsc/feedback/focus.d.ts +20 -0
- package/target/tsc/feedback/index.d.ts +17 -0
- package/target/tsc/feedback/loading.d.ts +194 -0
- package/target/tsc/feedback/observe.d.ts +75 -0
- package/target/tsc/feedback/progress.d.ts +281 -0
- package/target/tsc/feedback/snackbar.d.ts +398 -0
- package/target/tsc/feedback/tooltip.d.ts +326 -0
- package/target/tsc/icon/icon.css.d.ts +3 -0
- package/target/tsc/icon/icon.d.ts +69 -0
- package/target/tsc/icon/index.d.ts +13 -0
- package/target/tsc/index.css.d.ts +3 -0
- package/target/tsc/index.d.ts +7 -0
- package/target/tsc/input/autocomplete.d.ts +119 -0
- package/target/tsc/input/base.d.ts +282 -0
- package/target/tsc/input/date-picker.css.d.ts +3 -0
- package/target/tsc/input/date-picker.d.ts +351 -0
- package/target/tsc/input/date-range-input.css.d.ts +3 -0
- package/target/tsc/input/date-time.d.ts +171 -0
- package/target/tsc/input/index.css.d.ts +3 -0
- package/target/tsc/input/index.d.ts +27 -0
- package/target/tsc/input/paired-input.d.ts +435 -0
- package/target/tsc/input/picker-dialog.css.d.ts +3 -0
- package/target/tsc/input/picker-dialog.d.ts +84 -0
- package/target/tsc/input/select.css.d.ts +3 -0
- package/target/tsc/input/select.d.ts +267 -0
- package/target/tsc/input/slider.css.d.ts +3 -0
- package/target/tsc/input/slider.d.ts +372 -0
- package/target/tsc/input/text-field.css.d.ts +3 -0
- package/target/tsc/input/text-field.d.ts +415 -0
- package/target/tsc/input/time-picker.css.d.ts +3 -0
- package/target/tsc/input/time-picker.d.ts +212 -0
- package/target/tsc/motion/frame.d.ts +36 -0
- package/target/tsc/motion/index.css.d.ts +3 -0
- package/target/tsc/motion/index.d.ts +34 -0
- package/target/tsc/motion/material.d.ts +110 -0
- package/target/tsc/motion/motion.d.ts +235 -0
- package/target/tsc/motion/spring.d.ts +223 -0
- package/target/tsc/motion/transition.css.d.ts +3 -0
- package/target/tsc/motion/transition.d.ts +597 -0
- package/target/tsc/motion/velocity.d.ts +54 -0
- package/target/tsc/navigation/app-bar.d.ts +473 -0
- package/target/tsc/navigation/base.d.ts +320 -0
- package/target/tsc/navigation/drawer.d.ts +301 -0
- package/target/tsc/navigation/index.d.ts +25 -0
- package/target/tsc/navigation/navigation.css.d.ts +3 -0
- package/target/tsc/navigation/navigation.d.ts +537 -0
- package/target/tsc/navigation/scroll.d.ts +218 -0
- package/target/tsc/navigation/search.d.ts +332 -0
- package/target/tsc/navigation/tabs.d.ts +497 -0
- package/target/tsc/navigation/toolbar.d.ts +248 -0
- package/target/tsc/selection/base.d.ts +100 -0
- package/target/tsc/selection/checkbox.d.ts +194 -0
- package/target/tsc/selection/chip.d.ts +358 -0
- package/target/tsc/selection/index.d.ts +21 -0
- package/target/tsc/selection/radio.d.ts +198 -0
- package/target/tsc/selection/segmented.d.ts +333 -0
- package/target/tsc/selection/selection.css.d.ts +3 -0
- package/target/tsc/selection/switch.d.ts +165 -0
- package/target/tsc/shape/corner-rounding.d.ts +36 -0
- package/target/tsc/shape/cubic.d.ts +215 -0
- package/target/tsc/shape/index.d.ts +35 -0
- package/target/tsc/shape/material-shapes.d.ts +176 -0
- package/target/tsc/shape/morph.d.ts +91 -0
- package/target/tsc/shape/path.d.ts +177 -0
- package/target/tsc/shape/point.d.ts +165 -0
- package/target/tsc/shape/rounded-polygon.d.ts +289 -0
- package/target/tsc/shape/shapes.d.ts +76 -0
- package/target/tsc/spacing/index.d.ts +19 -0
- package/target/tsc/state/component.css.d.ts +3 -0
- package/target/tsc/state/component.d.ts +276 -0
- package/target/tsc/state/controller.d.ts +257 -0
- package/target/tsc/state/index.d.ts +19 -0
- package/target/tsc/state/ripple.d.ts +50 -0
- package/target/tsc/state/state.d.ts +129 -0
- package/target/tsc/state/style.d.ts +22 -0
- package/target/tsc/surface/carousel-layout.d.ts +212 -0
- package/target/tsc/surface/carousel.css.d.ts +3 -0
- package/target/tsc/surface/carousel.d.ts +231 -0
- package/target/tsc/surface/dialog.d.ts +580 -0
- package/target/tsc/surface/divider.d.ts +92 -0
- package/target/tsc/surface/drag.d.ts +92 -0
- package/target/tsc/surface/gestures.css.d.ts +3 -0
- package/target/tsc/surface/gestures.d.ts +292 -0
- package/target/tsc/surface/index.css.d.ts +3 -0
- package/target/tsc/surface/index.d.ts +29 -0
- package/target/tsc/surface/interactive.d.ts +22 -0
- package/target/tsc/surface/list-patterns.d.ts +384 -0
- package/target/tsc/surface/list.css.d.ts +3 -0
- package/target/tsc/surface/list.d.ts +340 -0
- package/target/tsc/surface/menu.css.d.ts +3 -0
- package/target/tsc/surface/menu.d.ts +590 -0
- package/target/tsc/surface/scaffold.d.ts +337 -0
- package/target/tsc/surface/sheet.d.ts +384 -0
- package/target/tsc/surface/side-sheet.d.ts +183 -0
- package/target/tsc/surface/slots.d.ts +21 -0
- package/target/tsc/surface/surface.css.d.ts +3 -0
- package/target/tsc/surface/surface.d.ts +192 -0
- package/target/tsc/text/index.css.d.ts +3 -0
- package/target/tsc/text/index.d.ts +18 -0
- package/target/tsc/text/text.css.d.ts +3 -0
- package/target/tsc/text/text.d.ts +94 -0
- package/target/tsc/text/typography.css.d.ts +3 -0
- package/target/tsc/text/typography.d.ts +82 -0
- package/target/tsc/util/box-side.d.ts +76 -0
- package/target/tsc/util/debug.d.ts +20 -0
- package/target/tsc/util/dom.d.ts +35 -0
- package/target/tsc/util/event.d.ts +93 -0
- package/target/tsc/util/index.d.ts +12 -0
- package/target/tsc/util/preconditions.d.ts +79 -0
- package/target/tsc/util/reactive.d.ts +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@cw-attribute-roles cw-Action;@cw-attribute-roles cw-Button;@cw-attribute-roles cw-ButtonGroup;@cw-attribute-roles cw-SplitButton;@layer cw-style{:is(.cw-Button,.cw-IconButton,.cw-FAB){--cw-Action-container-shadowColor: cw-var(--cw-Action-container-shadowColor, default);--cw-Action-disabled-containerColor: cw-var(--cw-Action-disabled-containerColor, default);--cw-Action-disabled-contentColor: cw-var(--cw-Action-disabled-contentColor, default);--cw-Action-disabled-outlineColor: cw-var(--cw-Action-disabled-outlineColor, default);--cw-Action-icon-color: cw-var(--cw-Action-icon-color, default);--cw-Action-label-color: cw-var(--cw-Action-label-color, default);--cw-Action-selected-containerColor: cw-var(--cw-Action-selected-containerColor, default);--cw-Action-selected-contentColor: cw-var(--cw-Action-selected-contentColor, default);--cw-Action-unselected-containerColor: cw-var(--cw-Action-unselected-containerColor, default);--cw-Action-unselected-contentColor: cw-var(--cw-Action-unselected-contentColor, default);--_CW-ACTION-CONTAINER_COLOR: cw-var(--cw-Action-container-color);--_CW-ACTION-ELEVATION: cw-var(--cw-Action-container-elevation);--_CW-ACTION-END_END_SHAPE: var(--_CW-ACTION-SHAPE);--_CW-ACTION-END_START_SHAPE: var(--_CW-ACTION-SHAPE);--_CW-ACTION-ICON_COLOR: cw-var(--cw-Action-icon-color);--_CW-ACTION-INNER_SHAPE: var(--_CW-ACTION-SHAPE);--_CW-ACTION-LABEL_COLOR: cw-var(--cw-Action-label-color);--_CW-ACTION-OUTLINE_COLOR: cw-var(--cw-Action-container-outlineColor);--_CW-ACTION-OUTLINE_WIDTH: 0px;--_CW-ACTION-SHADOW_COLOR: cw-var(--cw-Action-container-shadowColor);--_CW-ACTION-SHAPE: calc(cw-var(--cw-Button-containerHeight)/2) ;--_CW-ACTION-SHAPE_DURATION: cw-var(--cw-Motion-spring-effect-default-duration);--_CW-ACTION-SHAPE_EASING: cw-var(--cw-Motion-spring-effect-default-easing);--_CW-ACTION-SIZE_DURATION: cw-var(--cw-Motion-spring-spatial-fast-duration);--_CW-ACTION-SIZE_EASING: cw-var(--cw-Motion-spring-spatial-fast-easing);--_CW-ACTION-START_END_SHAPE: var(--_CW-ACTION-SHAPE);--_CW-ACTION-START_START_SHAPE: var(--_CW-ACTION-SHAPE);--_CW-ACTION-VISUAL_BLOCK_SIZE: cw-var(--cw-Button-containerHeight);--_CW-ACTION-VISUAL_BLOCK_START: calc((100% - var(--_CW-ACTION-VISUAL_BLOCK_SIZE)) / 2);--_CW-ACTION-VISUAL_INLINE_SIZE: 100%;--_CW-ACTION-VISUAL_INLINE_START: calc((100% - var(--_CW-ACTION-VISUAL_INLINE_SIZE)) / 2);--cw-interactable-focusIndicator-color: cw-var(--cw-Color-secondary-fill);--cw-interactable-focusIndicator-offset: cw-var(--cw-State-focusIndicator-outerOffset);--cw-interactable-focusIndicator-thickness: cw-var(--cw-State-focusIndicator-thickness);--cw-interactable-stateLayer-color: var(--_CW-ACTION-LABEL_COLOR);-webkit-tap-highlight-color:transparent;align-items:center;appearance:none;background-color:transparent;border:0;box-sizing:border-box;color:var(--_CW-ACTION-LABEL_COLOR);cursor:pointer;display:inline-flex;flex:none;font:inherit;isolation:isolate;justify-content:center;min-block-size:48px;min-inline-size:48px;outline:none;position:relative;text-decoration:none;transition-duration:cw-var(--cw-Motion-spring-effect-fast-duration),var(--_CW-ACTION-SIZE_DURATION),var(--_CW-ACTION-SIZE_DURATION),var(--_CW-ACTION-SIZE_DURATION),var(--_CW-ACTION-SIZE_DURATION),var(--_CW-ACTION-SIZE_DURATION),var(--_CW-ACTION-SIZE_DURATION);transition-property:color,column-gap,inline-size,padding-block-end,padding-block-start,padding-inline-end,padding-inline-start;transition-timing-function:cw-var(--cw-Motion-spring-effect-fast-easing),var(--_CW-ACTION-SIZE_EASING),var(--_CW-ACTION-SIZE_EASING),var(--_CW-ACTION-SIZE_EASING),var(--_CW-ACTION-SIZE_EASING),var(--_CW-ACTION-SIZE_EASING),var(--_CW-ACTION-SIZE_EASING);user-select:none;vertical-align:middle;z-index:0}:is(.cw-Button,.cw-IconButton,.cw-FAB)[hidden]{display:none!important}:is(.cw-Button,.cw-IconButton,.cw-FAB)[aria-disabled=true]{cursor:default}:is(.cw-Button,.cw-IconButton,.cw-FAB):after{background-color:var(--_CW-ACTION-CONTAINER_COLOR);background-image:var(--_CW-ACTION-CONTAINER_OVERLAY, none);block-size:var(--_CW-ACTION-VISUAL_BLOCK_SIZE);border-color:var(--_CW-ACTION-OUTLINE_COLOR);border-end-end-radius:var(--_CW-ACTION-END_END_SHAPE);border-end-start-radius:var(--_CW-ACTION-END_START_SHAPE);border-start-end-radius:var(--_CW-ACTION-START_END_SHAPE);border-start-start-radius:var(--_CW-ACTION-START_START_SHAPE);border-style:solid;border-width:var(--_CW-ACTION-OUTLINE_WIDTH);box-shadow:0 calc((clamp(0,var(--_CW-ACTION-ELEVATION),1) + clamp(0,var(--_CW-ACTION-ELEVATION) - 3,1) + clamp(0,var(--_CW-ACTION-ELEVATION) - 4,1)*2)*1px) calc((clamp(0,var(--_CW-ACTION-ELEVATION),1)*2 + clamp(0,var(--_CW-ACTION-ELEVATION) - 2,1) + clamp(0,var(--_CW-ACTION-ELEVATION) - 4,1))*1px) cw-scale-opacity(var(--_CW-ACTION-SHADOW_COLOR),calc(clamp(0,var(--_CW-ACTION-ELEVATION),1)*.3)),0 calc((clamp(0,var(--_CW-ACTION-ELEVATION),2) + clamp(0,var(--_CW-ACTION-ELEVATION) - 2,3)*2)*1px) calc((clamp(0,var(--_CW-ACTION-ELEVATION),2)*3 + clamp(0,var(--_CW-ACTION-ELEVATION) - 2,3)*2)*1px) calc((clamp(0,var(--_CW-ACTION-ELEVATION),4) + clamp(0,var(--_CW-ACTION-ELEVATION) - 4,1)*2)*1px) cw-scale-opacity(var(--_CW-ACTION-SHADOW_COLOR),calc(clamp(0,var(--_CW-ACTION-ELEVATION),1)*.15));box-sizing:border-box;content:"";inline-size:var(--_CW-ACTION-VISUAL_INLINE_SIZE);inset-block-start:var(--_CW-ACTION-VISUAL_BLOCK_START);inset-inline-start:var(--_CW-ACTION-VISUAL_INLINE_START);pointer-events:none;position:absolute;transition-duration:cw-var(--cw-Motion-spring-effect-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-effect-default-duration),var(--_CW-ACTION-SHAPE_DURATION),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-effect-default-duration),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration);transition-property:background-color,block-size,border-color,border-radius,border-width,box-shadow,inline-size,inset-block-start,inset-inline-start;transition-timing-function:cw-var(--cw-Motion-spring-effect-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-effect-default-easing),var(--_CW-ACTION-SHAPE_EASING),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-effect-default-easing),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing);z-index:-2}:is(.cw-Button,.cw-IconButton,.cw-FAB):before,:is(.cw-Button,.cw-IconButton,.cw-FAB)._cw-interactable-stateLayer:before{block-size:var(--_CW-ACTION-VISUAL_BLOCK_SIZE);border-end-end-radius:var(--_CW-ACTION-END_END_SHAPE);border-end-start-radius:var(--_CW-ACTION-END_START_SHAPE);border-start-end-radius:var(--_CW-ACTION-START_END_SHAPE);border-start-start-radius:var(--_CW-ACTION-START_START_SHAPE);box-sizing:border-box;content:"";inline-size:var(--_CW-ACTION-VISUAL_INLINE_SIZE);inset-block-end:auto;inset-block-start:var(--_CW-ACTION-VISUAL_BLOCK_START);inset-inline-end:auto;inset-inline-start:var(--_CW-ACTION-VISUAL_INLINE_START);pointer-events:none;position:absolute;z-index:-1}.cw-interactable:is(.cw-Button,.cw-IconButton,.cw-FAB):before{transition-duration:cw-var(--cw-Motion-spring-spatial-fast-duration),var(--_CW-ACTION-SHAPE_DURATION),cw-var(--cw-Motion-spring-effect-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration);transition-property:block-size,border-radius,color,inline-size,inset-block-start,inset-inline-start,outline-offset,outline-width;transition-timing-function:cw-var(--cw-Motion-spring-spatial-fast-easing),var(--_CW-ACTION-SHAPE_EASING),cw-var(--cw-Motion-spring-effect-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing)}:is(.cw-Button,.cw-IconButton,.cw-FAB) .cw-Icon{--cw-Icon-color: var(--_CW-ACTION-ICON_COLOR);transition-duration:cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-effect-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration);transition-property:--cw-Icon-size,color,rotate;transition-timing-function:cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-effect-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing)}:is(.cw-Button-toggle,.cw-IconButton-toggle,.cw-FAB-toggle){--_CW-ACTION-CONTAINER_COLOR: cw-var(--cw-Action-unselected-containerColor);--_CW-ACTION-ICON_COLOR: cw-var(--cw-Action-unselected-contentColor);--_CW-ACTION-LABEL_COLOR: cw-var(--cw-Action-unselected-contentColor)}:is(._cw-Button-outlined,._cw-IconButton-outlined){--_CW-ACTION-OUTLINE_WIDTH: cw-var(--cw-Button-outlineWidth)}:is(.cw-Button-checked,.cw-IconButton-checked,.cw-FAB-checked),._cw-FABMenu-open>.cw-FABMenu-trigger .cw-FAB{--_CW-ACTION-CONTAINER_COLOR: cw-var(--cw-Action-selected-containerColor);--_CW-ACTION-ICON_COLOR: cw-var(--cw-Action-selected-contentColor);--_CW-ACTION-LABEL_COLOR: cw-var(--cw-Action-selected-contentColor);--_CW-ACTION-OUTLINE_WIDTH: 0px}.cw-Button.cw-Button-disabled,.cw-IconButton.cw-IconButton-disabled,.cw-FAB.cw-FAB-disabled{--_CW-ACTION-CONTAINER_COLOR: cw-scale-opacity( cw-var(--cw-Action-disabled-containerColor), cw-var(--cw-Action-disabled-containerOpacity) );--_CW-ACTION-ELEVATION: 0;--_CW-ACTION-ICON_COLOR: cw-scale-opacity( cw-var(--cw-Action-disabled-contentColor), cw-var(--cw-Action-disabled-contentOpacity) );--_CW-ACTION-LABEL_COLOR: cw-scale-opacity( cw-var(--cw-Action-disabled-contentColor), cw-var(--cw-Action-disabled-contentOpacity) );--_CW-ACTION-OUTLINE_COLOR: cw-scale-opacity( cw-var(--cw-Action-disabled-outlineColor), cw-var(--cw-Action-disabled-outlineOpacity) );cursor:default}:is(.cw-Button-disabled.cw-Button-checked,.cw-IconButton-disabled.cw-IconButton-checked,.cw-FAB-disabled.cw-FAB-checked){--_CW-ACTION-CONTAINER_COLOR: cw-scale-opacity( cw-var(--cw-Action-disabled-containerColor), cw-var(--cw-Action-disabled-selectedContainerOpacity) )}:is(.cw-Button-hover,.cw-IconButton-hover,.cw-FAB-hover){--_CW-ACTION-ELEVATION: cw-var(--cw-Action-hover-containerElevation);--cw-interactable-stateLayer-opacity: cw-var(--cw-State-layer-hoverOpacity)}:is(.cw-Button-focus,.cw-IconButton-focus,.cw-FAB-focus){--_CW-ACTION-ELEVATION: cw-var(--cw-Action-focus-containerElevation);--cw-interactable-stateLayer-opacity: cw-var(--cw-State-layer-focusOpacity)}:is(.cw-Button-press,.cw-IconButton-press,.cw-FAB-press){--_CW-ACTION-ELEVATION: cw-var(--cw-Action-press-containerElevation);--cw-interactable-ripple-color: var(--cw-interactable-stateLayer-color);--cw-interactable-ripple-opacity: cw-var(--cw-State-layer-pressOpacity)}.cw-Button{--_CW-BUTTON-ICON_SIZE: cw-var(--cw-Button-iconSize);block-size:max(48px,cw-var(--cw-Button-containerHeight));column-gap:cw-var(--cw-Button-iconLabelSpace);padding-block:0;padding-inline:calc(cw-var(--cw-Button-leadingSpace) + var(--_CW-BUTTONGROUP-DELTA, 0px) / 2) calc(cw-var(--cw-Button-trailingSpace) + var(--_CW-BUTTONGROUP-DELTA, 0px) / 2)}.cw-Button:any-link{letter-spacing:normal;text-indent:0;text-shadow:none;text-transform:none;word-spacing:normal}.cw-Button-disabled:any-link{pointer-events:none}._cw-Button-xs{@cw-apply-theme xs,cw-Button;}._cw-Button-sm{@cw-apply-theme sm,cw-Button;}._cw-Button-md{@cw-apply-theme md,cw-Button;}._cw-Button-lg{@cw-apply-theme lg,cw-Button;}._cw-Button-xl{@cw-apply-theme xl,cw-Button;}.cw-ActionButton-label{-cw-typescale:--cw-Typescale-label-large;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}._cw-Button-md>.cw-ActionButton-label{-cw-typescale:--cw-Typescale-title-medium}._cw-Button-lg>.cw-ActionButton-label{-cw-typescale:--cw-Typescale-headline-small}._cw-Button-xl>.cw-ActionButton-label{-cw-typescale:--cw-Typescale-headline-large}:is(.cw-ActionButton-leadingIcon,.cw-ActionButton-trailingIcon){align-items:center;color:var(--_CW-ACTION-ICON_COLOR);display:inline-flex;flex:none;font-size:var(--_CW-BUTTON-ICON_SIZE);justify-content:center;pointer-events:none}:is(.cw-ActionButton-label,.cw-ActionButton-leadingIcon,.cw-ActionButton-trailingIcon):empty{display:none}.cw-Button .cw-Icon{--cw-Icon-size: var(--_CW-BUTTON-ICON_SIZE)}._cw-Button-square,.cw-Button.cw-Button-checked{--_CW-ACTION-SHAPE: cw-var(--cw-Button-squareShape)}._cw-Button-square.cw-Button-checked{--_CW-ACTION-SHAPE: calc(cw-var(--cw-Button-containerHeight)/2) }.cw-Button.cw-Button-press{--_CW-ACTION-SHAPE: cw-var(--cw-Button-pressedShape)}.cw-Button-toggle{--_CW-ACTION-SHAPE_DURATION: cw-var(--cw-Motion-spring-spatial-fast-duration);--_CW-ACTION-SHAPE_EASING: cw-var(--cw-Motion-spring-spatial-fast-easing)}.cw-IconButton{--_CW-ACTION-VISUAL_INLINE_SIZE: calc( var(--_CW-ICONBUTTON-ICON_SIZE) + 2 * var(--_CW-ICONBUTTON-SPACE) + var(--_CW-BUTTONGROUP-DELTA, 0px) );--_CW-ICONBUTTON-ICON_SIZE: cw-var(--cw-Button-iconButton-iconSize);--_CW-ICONBUTTON-SPACE: cw-var(--cw-Button-iconButton-defaultSpace);block-size:max(48px,cw-var(--cw-Button-containerHeight));inline-size:max(48px,var(--_CW-ACTION-VISUAL_INLINE_SIZE));padding:0}._cw-IconButton-xs{@cw-apply-theme xs,cw-Button;}._cw-IconButton-sm{@cw-apply-theme sm,cw-Button;}._cw-IconButton-md{@cw-apply-theme md,cw-Button;}._cw-IconButton-lg{@cw-apply-theme lg,cw-Button;}._cw-IconButton-xl{@cw-apply-theme xl,cw-Button;}._cw-IconButton-narrow{--_CW-ICONBUTTON-SPACE: cw-var(--cw-Button-iconButton-narrowSpace)}._cw-IconButton-wide{--_CW-ICONBUTTON-SPACE: cw-var(--cw-Button-iconButton-wideSpace)}.cw-IconButton .cw-Icon{--cw-Icon-size: var(--_CW-ICONBUTTON-ICON_SIZE)}._cw-IconButton-square,.cw-IconButton.cw-IconButton-checked{--_CW-ACTION-SHAPE: cw-var(--cw-Button-squareShape)}._cw-IconButton-square.cw-IconButton-checked{--_CW-ACTION-SHAPE: calc(cw-var(--cw-Button-containerHeight)/2) }.cw-IconButton.cw-IconButton-press{--_CW-ACTION-SHAPE: cw-var(--cw-Button-pressedShape)}.cw-FAB{--_CW-ACTION-SHAPE: cw-var(--cw-Button-fab-containerShape);--_CW-ACTION-VISUAL_INLINE_SIZE: cw-var(--cw-Button-containerHeight);--_CW-FAB-FADE_DURATION: cw-var(--cw-Motion-spring-effect-fast-duration);--_CW-FAB-FADE_EASING: cw-var(--cw-Motion-spring-effect-fast-easing);--_CW-FAB-ICON_SIZE: cw-var(--cw-Button-iconSize);block-size:max(48px,cw-var(--cw-Button-containerHeight));column-gap:0;min-inline-size:max(48px,cw-var(--cw-Button-containerHeight));padding-block:0;padding-inline:calc((cw-var(--cw-Button-containerHeight) - var(--_CW-FAB-ICON_SIZE)) / 2)}.cw-FAB{@cw-apply-theme fab,cw-Button;}._cw-FAB-small{@cw-apply-theme fabSmall,cw-Button;}._cw-FAB-medium{@cw-apply-theme fabMedium,cw-Button;}._cw-FAB-large{@cw-apply-theme fabLarge,cw-Button;}._cw-FAB-small._cw-FAB-extended{@cw-apply-theme extendedFabSmall,cw-Button;}._cw-FAB-large._cw-FAB-extended{@cw-apply-theme extendedFabLarge,cw-Button;}._cw-FAB-extended{--_CW-ACTION-VISUAL_INLINE_SIZE: 100%}._cw-FAB-expanded{column-gap:cw-var(--cw-Button-iconLabelSpace);padding-inline:cw-var(--cw-Button-leadingSpace) cw-var(--cw-Button-trailingSpace)}._cw-FAB-expanded:has(>.cw-FAB-icon:empty){padding-inline-start:cw-var(--cw-Button-trailingSpace)}.cw-FAB-icon{align-items:center;color:var(--_CW-ACTION-ICON_COLOR);display:inline-flex;flex:none;font-size:var(--_CW-FAB-ICON_SIZE);justify-content:center;pointer-events:none}.cw-FAB .cw-Icon{--cw-Icon-size: var(--_CW-FAB-ICON_SIZE)}.cw-FAB-label{-cw-typescale:--cw-Typescale-label-large;display:grid;grid-template-columns:minmax(0,0fr);opacity:0;overflow:hidden;text-wrap:nowrap;transition-duration:var(--_CW-ACTION-SIZE_DURATION),var(--_CW-FAB-FADE_DURATION);transition-property:grid-template-columns,opacity;transition-timing-function:var(--_CW-ACTION-SIZE_EASING),var(--_CW-FAB-FADE_EASING)}.cw-FAB-icon:empty,.cw-FAB-label:empty{display:none}._cw-FAB-expanded>.cw-FAB-label{grid-template-columns:minmax(0,1fr);opacity:1}._cw-FAB-extended:not(._cw-FAB-small,._cw-FAB-medium,._cw-FAB-large){--_CW-ACTION-SIZE_DURATION: cw-var(--cw-Motion-spring-spatial-default-duration);--_CW-ACTION-SIZE_EASING: cw-var(--cw-Motion-spring-spatial-default-easing)}._cw-FAB-expanded:not(._cw-FAB-small,._cw-FAB-medium,._cw-FAB-large){--_CW-ACTION-SIZE_DURATION: cw-var(--cw-Motion-spring-spatial-fast-duration);--_CW-ACTION-SIZE_EASING: cw-var(--cw-Motion-spring-spatial-fast-easing);--_CW-FAB-FADE_DURATION: cw-var(--cw-Motion-spring-effect-default-duration);--_CW-FAB-FADE_EASING: cw-var(--cw-Motion-spring-effect-default-easing)}._cw-FAB-small>.cw-FAB-label{-cw-typescale:--cw-Typescale-title-medium}._cw-FAB-medium>.cw-FAB-label{-cw-typescale:--cw-Typescale-title-large}._cw-FAB-large>.cw-FAB-label{-cw-typescale:--cw-Typescale-headline-small}.cw-FAB.cw-FAB-checked,._cw-FABMenu-open>.cw-FABMenu-trigger .cw-FAB{--_CW-ACTION-SHAPE: calc(var(--_CW-FAB-CLOSE_SIZE) / 2);--_CW-ACTION-SHAPE_DURATION: cw-var(--cw-Motion-spring-spatial-fast-duration);--_CW-ACTION-SHAPE_EASING: cw-var(--cw-Motion-spring-spatial-fast-easing);--_CW-ACTION-VISUAL_BLOCK_SIZE: var(--_CW-FAB-CLOSE_SIZE);--_CW-ACTION-VISUAL_BLOCK_START: 0px;--_CW-ACTION-VISUAL_INLINE_SIZE: var(--_CW-FAB-CLOSE_SIZE);--_CW-ACTION-VISUAL_INLINE_START: calc(100% - var(--_CW-FAB-CLOSE_SIZE));--_CW-FAB-CLOSE_SIZE: cw-var(--cw-Button-closeButton-containerHeight);--_CW-FAB-ICON_SIZE: cw-var(--cw-Button-closeButton-iconSize);padding-block:calc((var(--_CW-FAB-CLOSE_SIZE) - var(--_CW-FAB-ICON_SIZE)) / 2) calc(cw-var(--cw-Button-containerHeight) - (var(--_CW-FAB-CLOSE_SIZE) + var(--_CW-FAB-ICON_SIZE)) / 2);padding-inline:calc(cw-var(--cw-Button-containerHeight) - (var(--_CW-FAB-CLOSE_SIZE) + var(--_CW-FAB-ICON_SIZE)) / 2) calc((var(--_CW-FAB-CLOSE_SIZE) - var(--_CW-FAB-ICON_SIZE)) / 2)}.cw-FABMenu{display:inline-flex;position:relative}.cw-FABMenu-trigger{display:inline-flex}.cw-FABMenu-items{align-items:end;display:flex;flex-direction:column;inline-size:max-content;inset-block-end:calc(100% + cw-var(--cw-Button-fabMenu-closeButtonSpacing));inset-inline-end:0;max-inline-size:calc(100vw - 32px);position:absolute;row-gap:cw-var(--cw-Button-fabMenu-itemSpacing)}.cw-FABMenu-items .cw-FAB{@cw-apply-theme fabMenuItem,cw-Button;}.cw-FABMenu-items .cw-FAB{--_CW-ACTION-VISUAL_BLOCK_SIZE: 100%;block-size:auto;min-block-size:max(48px,cw-var(--cw-Button-containerHeight))}.cw-FABMenu-items .cw-FAB>.cw-FAB-label{-cw-typescale:--cw-Typescale-title-medium;overflow-wrap:anywhere;text-wrap:wrap}.cw-FABMenu-items>*{clip-path:inset(-24px -24px -24px calc(100% + 24px) round 52px);opacity:0;transition-delay:calc(cw-var(--cw-Motion-spring-effect-slow-duration) * var(--_CW-FABMENU-STAGGER, 0)),calc(cw-var(--cw-Motion-spring-effect-slow-duration) * var(--_CW-FABMENU-STAGGER, 0)),calc(cw-var(--cw-Motion-spring-effect-slow-duration) * var(--_CW-FABMENU-STAGGER, 0) + cw-var(--cw-Motion-spring-spatial-fast-duration));transition-duration:cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-effect-fast-duration),0s;transition-property:clip-path,opacity,visibility;transition-timing-function:cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-effect-fast-easing),linear;visibility:hidden}.cw-FABMenu-items:dir(rtl)>*{clip-path:inset(-24px calc(100% + 24px) -24px -24px round 52px)}._cw-FABMenu-open>.cw-FABMenu-items>*{clip-path:inset(-24px round 52px);opacity:1;transition-delay:calc(cw-var(--cw-Motion-spring-effect-slow-duration) * var(--_CW-FABMENU-STAGGER, 0)),calc(cw-var(--cw-Motion-spring-effect-slow-duration) * var(--_CW-FABMENU-STAGGER, 0)),0s;visibility:visible}.cw-ButtonGroup{--_CW-BUTTONGROUP-INNER_SHAPE: cw-var(--cw-ButtonGroup-innerShape);--_CW-BUTTONGROUP-PRESSED_SHAPE: cw-var(--cw-ButtonGroup-pressedShape);align-items:center;display:inline-flex}._cw-ButtonGroup-xs{@cw-apply-theme xs,cw-ButtonGroup;@cw-apply-theme xs,cw-Button;}._cw-ButtonGroup-sm{@cw-apply-theme sm,cw-ButtonGroup;@cw-apply-theme sm,cw-Button;}._cw-ButtonGroup-md{@cw-apply-theme md,cw-ButtonGroup;@cw-apply-theme md,cw-Button;}._cw-ButtonGroup-lg{@cw-apply-theme lg,cw-ButtonGroup;@cw-apply-theme lg,cw-Button;}._cw-ButtonGroup-xl{@cw-apply-theme xl,cw-ButtonGroup;@cw-apply-theme xl,cw-Button;}.cw-ButtonGroup._cw-ButtonGroup-standard{gap:cw-var(--cw-ButtonGroup-spacing)}.cw-ButtonGroup._cw-ButtonGroup-connected{gap:cw-var(--cw-ButtonGroup-connectedSpacing)}._cw-ButtonGroup-vertical{align-items:stretch;flex-direction:column}._cw-ButtonGroup-overflow{display:flex;position:relative}._cw-ButtonGroup-overflow>._cw-ButtonGroup-overflowed{max-inline-size:100%;pointer-events:none;position:absolute;visibility:hidden}.cw-ButtonGroup._cw-ButtonGroup-connected>:is(.cw-Button,.cw-IconButton){--_CW-ACTION-END_END_SHAPE: var(--_CW-ACTION-INNER_SHAPE);--_CW-ACTION-END_START_SHAPE: var(--_CW-ACTION-INNER_SHAPE);--_CW-ACTION-INNER_SHAPE: var(--_CW-BUTTONGROUP-INNER_SHAPE);--_CW-ACTION-SHAPE: calc(cw-var(--cw-Button-containerHeight)/2) ;--_CW-ACTION-START_END_SHAPE: var(--_CW-ACTION-INNER_SHAPE);--_CW-ACTION-START_START_SHAPE: var(--_CW-ACTION-INNER_SHAPE)}._cw-ButtonGroup-connected._cw-ButtonGroup-square>:is(.cw-Button,.cw-IconButton){--_CW-ACTION-SHAPE: cw-var(--cw-Button-squareShape)}._cw-ButtonGroup-connected>:is(.cw-Button,.cw-IconButton):is(.cw-Button-checked,.cw-IconButton-checked){--_CW-ACTION-INNER_SHAPE: calc(cw-var(--cw-Button-containerHeight)/2) ;--_CW-ACTION-SHAPE: calc(cw-var(--cw-Button-containerHeight)/2) }._cw-ButtonGroup-connected>:is(.cw-Button,.cw-IconButton):is(.cw-Button-press,.cw-IconButton-press){--_CW-ACTION-INNER_SHAPE: var(--_CW-BUTTONGROUP-PRESSED_SHAPE)}._cw-ButtonGroup-connected:not(._cw-ButtonGroup-vertical)>:nth-child(1 of:is(.cw-Button,.cw-IconButton)){--_CW-ACTION-END_START_SHAPE: var(--_CW-ACTION-SHAPE);--_CW-ACTION-START_START_SHAPE: var(--_CW-ACTION-SHAPE)}._cw-ButtonGroup-connected:not(._cw-ButtonGroup-vertical)>:nth-last-child(1 of:is(.cw-Button,.cw-IconButton)){--_CW-ACTION-END_END_SHAPE: var(--_CW-ACTION-SHAPE);--_CW-ACTION-START_END_SHAPE: var(--_CW-ACTION-SHAPE)}._cw-ButtonGroup-connected._cw-ButtonGroup-vertical>:nth-child(1 of:is(.cw-Button,.cw-IconButton)){--_CW-ACTION-START_END_SHAPE: var(--_CW-ACTION-SHAPE);--_CW-ACTION-START_START_SHAPE: var(--_CW-ACTION-SHAPE)}._cw-ButtonGroup-connected._cw-ButtonGroup-vertical>:nth-last-child(1 of:is(.cw-Button,.cw-IconButton)){--_CW-ACTION-END_END_SHAPE: var(--_CW-ACTION-SHAPE);--_CW-ACTION-END_START_SHAPE: var(--_CW-ACTION-SHAPE)}._cw-ButtonGroup-selection{--_CW-BUTTONGROUP-ACTION_HEIGHT: cw-var(--cw-Button-containerHeight);--_CW-BUTTONGROUP-ACTION_PRESSED_SHAPE: cw-var(--cw-Button-pressedShape);--_CW-BUTTONGROUP-ACTION_SQUARE_SHAPE: cw-var(--cw-Button-squareShape);--_CW-BUTTONGROUP-ICON_LABEL_SPACE: cw-var(--cw-Button-iconLabelSpace);--_CW-BUTTONGROUP-ICON_SIZE: cw-var(--cw-Button-iconSize);--_CW-BUTTONGROUP-PADDING: cw-var(--cw-Button-leadingSpace)}._cw-ButtonGroup-selection>.cw-SegmentedButton{--_CW-BUTTONGROUP-INNER: var(--_CW-BUTTONGROUP-INNER_SHAPE);--_CW-BUTTONGROUP-ROUND: calc(var(--_CW-BUTTONGROUP-ACTION_HEIGHT) / 2);--_CW-BUTTONGROUP-SHAPE: var(--_CW-BUTTONGROUP-ROUND);--cw-selection-segmented-container-color: cw-var(--cw-Color-surface-container)}._cw-ButtonGroup-selection>.cw-SegmentedButton.cw-SegmentedButton-selected{--cw-selection-segmented-container-color: cw-var(--cw-Color-primary-fill)}._cw-ButtonGroup-selection._cw-ButtonGroup-square>.cw-SegmentedButton{--_CW-BUTTONGROUP-SHAPE: var(--_CW-BUTTONGROUP-ACTION_SQUARE_SHAPE)}._cw-ButtonGroup-standard>.cw-SegmentedButton-selected{--_CW-BUTTONGROUP-SHAPE: var(--_CW-BUTTONGROUP-ACTION_SQUARE_SHAPE)}._cw-ButtonGroup-standard._cw-ButtonGroup-square>.cw-SegmentedButton-selected{--_CW-BUTTONGROUP-SHAPE: var(--_CW-BUTTONGROUP-ROUND)}._cw-ButtonGroup-connected._cw-ButtonGroup-selection>.cw-SegmentedButton-selected{--_CW-BUTTONGROUP-INNER: var(--_CW-BUTTONGROUP-ROUND);--_CW-BUTTONGROUP-SHAPE: var(--_CW-BUTTONGROUP-ROUND)}._cw-ButtonGroup-standard._cw-ButtonGroup-selection>.cw-SegmentedButton-press{--_CW-BUTTONGROUP-SHAPE: var(--_CW-BUTTONGROUP-ACTION_PRESSED_SHAPE)}._cw-ButtonGroup-connected._cw-ButtonGroup-selection>.cw-SegmentedButton-press{--_CW-BUTTONGROUP-INNER: var(--_CW-BUTTONGROUP-PRESSED_SHAPE)}.cw-ButtonGroup._cw-ButtonGroup-selection:is(._cw-ButtonGroup-standard,._cw-ButtonGroup-connected)>.cw-SegmentedButton{block-size:max(48px,var(--_CW-BUTTONGROUP-ACTION_HEIGHT));border-radius:var(--_CW-BUTTONGROUP-SHAPE);margin:0;transition-duration:cw-var(--cw-Motion-spring-effect-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-effect-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration);transition-property:background-color,border-radius,color,padding-inline-end,padding-inline-start;transition-timing-function:cw-var(--cw-Motion-spring-effect-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-effect-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing)}.cw-ButtonGroup._cw-ButtonGroup-selection._cw-ButtonGroup-connected>.cw-SegmentedButton{border-end-end-radius:var(--_CW-BUTTONGROUP-INNER);border-end-start-radius:var(--_CW-BUTTONGROUP-INNER);border-start-end-radius:var(--_CW-BUTTONGROUP-INNER);border-start-start-radius:var(--_CW-BUTTONGROUP-INNER)}.cw-ButtonGroup._cw-ButtonGroup-connected:not(._cw-ButtonGroup-vertical)>.cw-SegmentedButton-first{border-end-start-radius:var(--_CW-BUTTONGROUP-SHAPE);border-start-start-radius:var(--_CW-BUTTONGROUP-SHAPE)}.cw-ButtonGroup._cw-ButtonGroup-connected:not(._cw-ButtonGroup-vertical)>.cw-SegmentedButton-last{border-end-end-radius:var(--_CW-BUTTONGROUP-SHAPE);border-start-end-radius:var(--_CW-BUTTONGROUP-SHAPE)}.cw-ButtonGroup._cw-ButtonGroup-connected._cw-ButtonGroup-vertical>.cw-SegmentedButton-first{border-start-end-radius:var(--_CW-BUTTONGROUP-SHAPE);border-start-start-radius:var(--_CW-BUTTONGROUP-SHAPE)}.cw-ButtonGroup._cw-ButtonGroup-connected._cw-ButtonGroup-vertical>.cw-SegmentedButton-last{border-end-end-radius:var(--_CW-BUTTONGROUP-SHAPE);border-end-start-radius:var(--_CW-BUTTONGROUP-SHAPE)}._cw-ButtonGroup-selection>.cw-SegmentedButton ._cw-SegmentedButton-icon{block-size:var(--_CW-BUTTONGROUP-ICON_SIZE);flex-basis:var(--_CW-BUTTONGROUP-ICON_SIZE);inline-size:var(--_CW-BUTTONGROUP-ICON_SIZE);max-block-size:var(--_CW-BUTTONGROUP-ICON_SIZE);max-inline-size:var(--_CW-BUTTONGROUP-ICON_SIZE)}._cw-ButtonGroup-selection>.cw-SegmentedButton .cw-Icon{--cw-Icon-size: var(--_CW-BUTTONGROUP-ICON_SIZE)}._cw-ButtonGroup-md>.cw-SegmentedButton ._cw-SegmentedButton-label{-cw-typescale:--cw-Typescale-title-medium}._cw-ButtonGroup-lg>.cw-SegmentedButton ._cw-SegmentedButton-label{-cw-typescale:--cw-Typescale-headline-small}._cw-ButtonGroup-xl>.cw-SegmentedButton ._cw-SegmentedButton-label{-cw-typescale:--cw-Typescale-headline-large}.cw-SplitButton{--_CW-SPLITBUTTON-INNER_SHAPE: cw-var(--cw-SplitButton-innerShape);--_CW-SPLITBUTTON-INTERACTION_SHAPE: cw-var(--cw-SplitButton-interactionShape);--_CW-SPLITBUTTON-LEADING_END_PADDING: cw-var(--cw-SplitButton-leadingEndPadding);--_CW-SPLITBUTTON-LEADING_START_PADDING: cw-var(--cw-SplitButton-leadingStartPadding);--_CW-SPLITBUTTON-TRAILING_ICON_SIZE: cw-var(--cw-SplitButton-trailingIconSize);--_CW-SPLITBUTTON-TRAILING_PADDING: cw-var(--cw-SplitButton-trailingPadding);display:inline-flex;gap:cw-var(--cw-SplitButton-spacing);isolation:isolate}._cw-SplitButton-xs{@cw-apply-theme xs,cw-SplitButton;}._cw-SplitButton-sm{@cw-apply-theme sm,cw-SplitButton;}._cw-SplitButton-md{@cw-apply-theme md,cw-SplitButton;}._cw-SplitButton-lg{@cw-apply-theme lg,cw-SplitButton;}._cw-SplitButton-xl{@cw-apply-theme xl,cw-SplitButton;}:is(.cw-SplitButton-primary,.cw-SplitButton-secondary){display:inline-flex}.cw-SplitButton :is(.cw-Button,.cw-IconButton){--_CW-ACTION-INNER_SHAPE: var(--_CW-SPLITBUTTON-INNER_SHAPE);--_CW-ACTION-SHAPE: calc(cw-var(--cw-Button-containerHeight)/2) }.cw-SplitButton :is(.cw-Button,.cw-IconButton):is(.cw-Button-hover,.cw-IconButton-hover){--_CW-ACTION-INNER_SHAPE: var(--_CW-SPLITBUTTON-INTERACTION_SHAPE)}.cw-SplitButton-secondary :is(.cw-Button,.cw-IconButton):is(.cw-Button-checked,.cw-IconButton-checked,[aria-expanded=true]){--_CW-ACTION-CONTAINER_OVERLAY: linear-gradient( cw-scale-opacity(var(--_CW-ACTION-LABEL_COLOR), cw-var(--cw-State-layer-pressOpacity)), cw-scale-opacity(var(--_CW-ACTION-LABEL_COLOR), cw-var(--cw-State-layer-pressOpacity)) );--_CW-ACTION-INNER_SHAPE: calc(cw-var(--cw-Button-containerHeight)/2) }.cw-SplitButton :is(.cw-Button,.cw-IconButton):is(.cw-Button-press,.cw-IconButton-press){--_CW-ACTION-INNER_SHAPE: var(--_CW-SPLITBUTTON-INTERACTION_SHAPE)}.cw-SplitButton-primary :is(.cw-Button,.cw-IconButton){--_CW-ACTION-END_END_SHAPE: var(--_CW-ACTION-INNER_SHAPE);--_CW-ACTION-START_END_SHAPE: var(--_CW-ACTION-INNER_SHAPE);padding-inline:var(--_CW-SPLITBUTTON-LEADING_START_PADDING) var(--_CW-SPLITBUTTON-LEADING_END_PADDING)}.cw-SplitButton-secondary :is(.cw-Button,.cw-IconButton){--_CW-ACTION-END_START_SHAPE: var(--_CW-ACTION-INNER_SHAPE);--_CW-ACTION-SIZE_DURATION: var(--_CW-ACTION-SHAPE_DURATION);--_CW-ACTION-SIZE_EASING: var(--_CW-ACTION-SHAPE_EASING);--_CW-ACTION-START_START_SHAPE: var(--_CW-ACTION-INNER_SHAPE);--_CW-BUTTON-ICON_SIZE: var(--_CW-SPLITBUTTON-TRAILING_ICON_SIZE);--_CW-ICONBUTTON-ICON_SIZE: var(--_CW-SPLITBUTTON-TRAILING_ICON_SIZE);--_CW-ICONBUTTON-SPACE: var(--_CW-SPLITBUTTON-TRAILING_PADDING);--_CW-SPLITBUTTON-OPTICAL_OFFSET: clamp( -1 * var(--_CW-SPLITBUTTON-TRAILING_PADDING), .11 * (var(--_CW-ACTION-INNER_SHAPE) - var(--_CW-ACTION-SHAPE)), var(--_CW-SPLITBUTTON-TRAILING_PADDING) );padding-inline:calc(var(--_CW-SPLITBUTTON-TRAILING_PADDING) + var(--_CW-SPLITBUTTON-OPTICAL_OFFSET)) calc(var(--_CW-SPLITBUTTON-TRAILING_PADDING) - var(--_CW-SPLITBUTTON-OPTICAL_OFFSET))}.cw-SplitButton-secondary :is(.cw-Button,.cw-IconButton):is(.cw-Button-checked,.cw-IconButton-checked,[aria-expanded=true]) .cw-Icon{rotate:180deg}}@layer cw-theme{.cw-ButtonGroup._cw-ButtonGroup-selection>.cw-SegmentedButton{--cw-SegmentedButton-containerHeight: var(--_CW-BUTTONGROUP-ACTION_HEIGHT);--cw-SegmentedButton-contentSpacing: var(--_CW-BUTTONGROUP-ICON_LABEL_SPACE);--cw-SegmentedButton-horizontalPadding: calc( var(--_CW-BUTTONGROUP-PADDING) + var(--_CW-BUTTONGROUP-DELTA, 0px) / 2 );--cw-SegmentedButton-outlineThickness: 0px;--cw-SegmentedButton-selectedContainerColor: cw-var(--cw-Color-primary-fill);--cw-SegmentedButton-selectedLabelTextColor: cw-var(--cw-Color-primary-onFill);--cw-SegmentedButton-unselectedLabelTextColor: cw-var(--cw-Color-surface-onFillVariant)}._cw-Button-elevated{@cw-apply-theme elevated,cw-Action;}._cw-Button-filled{@cw-apply-theme filled,cw-Action;}._cw-Button-filled-tonal{@cw-apply-theme filledTonal,cw-Action;}._cw-Button-outlined{@cw-apply-theme outlined,cw-Action;}._cw-Button-text{@cw-apply-theme text,cw-Action;}.cw-IconButton{@cw-apply-theme icon,cw-Action;}._cw-IconButton-filled{@cw-apply-theme filled,cw-Action;}._cw-IconButton-filled-tonal{@cw-apply-theme filledTonal,cw-Action;}._cw-IconButton-outlined{@cw-apply-theme outlined,cw-Action;}._cw-IconButton-standard{@cw-apply-theme standard,cw-Action;}.cw-FAB{@cw-apply-theme fab,cw-Action;}._cw-FAB-lowered{@cw-apply-theme fabLowered,cw-Action;}._cw-FAB-primary,._cw-FAB-primary-container{@cw-apply-theme fabPrimary,cw-Action;}._cw-FAB-secondary,._cw-FAB-secondary-container{@cw-apply-theme fabSecondary,cw-Action;}._cw-FAB-tertiary,._cw-FAB-tertiary-container{@cw-apply-theme fabTertiary,cw-Action;}._cw-FAB-surface{@cw-apply-theme fabSurface,cw-Action;}._cw-FAB-surface._cw-FAB-lowered{@cw-apply-theme fabSurfaceLowered,cw-Action;}._cw-FAB-primary-filled{@cw-apply-theme fabPrimaryFilled,cw-Action;}._cw-FAB-secondary-filled{@cw-apply-theme fabSecondaryFilled,cw-Action;}._cw-FAB-tertiary-filled{@cw-apply-theme fabTertiaryFilled,cw-Action;}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext as l,untrack as c}from"solid-js";import{isAnchorElement as d,preventDisabledLinkKey as u}from"../navigation/base";import{FocusState as a,HoverState as h,PressState as p}from"../state";import{InteractableController as g}from"../state/controller";import{deferAfterDelegatedCancellation as f}from"../util/event";import"./action.css";const x=l();function P(s){return(s.nodeType===Node.DOCUMENT_NODE?s:s.ownerDocument)?.defaultView?.MutationObserver??MutationObserver}const b=a|h|p,C=a;class T extends g{#s;#n;#r;#d;#o;#i;#e;constructor(e,t){const n="checked"in e,o="attr:aria-disabled"in e,i="attr:aria-pressed"in e;super(e,{baseInteractionCssClassName:t,styleElementIsFunction:!0}),this.#s=t,this.#n=n,this.#r=o,this.#d=i,this.#o=r=>{this.isDisabled()&&r.preventDefault()},this.#i=r=>u(r,super.functionElement),this.#e=!n&&c(()=>e.defaultChecked===!0)?4:0}isDisabled(){return(this.#e&1)!==0}isToggle(){return(this.#e&2)!==0}isChecked(){return this.isToggle()&&(this.#n?super.readProp("checked",!0)[0]===!0:(this.#e&4)!==0)}actionClass(e){return`${this.#s}-${e}`}#t(e,t){this.#e=t?this.#e|e:this.#e&~e}#a(){this.#d||super.setAttribute("aria-pressed",this.isToggle()?this.isChecked():void 0),super.setClass(this.actionClass("checked"),this.isChecked())}applyComponentProps(){const e=super.readProps(["checked","disabled","href","readOnly","tabIndex","toggle","type"]),t=e.disabled===!0,n=e.href!==void 0,o=e.toggle===!0,i=o&&e.readOnly===!0;e.disabledChanged&&(this.#t(1,t),super.setClass(this.actionClass("disabled"),t)),(e.disabledChanged||e.hrefChanged)&&super.setAttribute("disabled",t&&!n),e.hrefChanged&&super.setAttribute("href",e.href),e.toggleChanged&&(this.#t(2,o),super.setClass(this.actionClass("toggle"),o)),(e.toggleChanged||e.readOnlyChanged)&&this.#t(8,i),!this.#r&&(e.disabledChanged||e.hrefChanged||e.readOnlyChanged||e.toggleChanged)&&super.setAttribute("aria-disabled",i||t&&n?"true":void 0),(e.toggleChanged||e.checkedChanged)&&this.#a(),(e.disabledChanged||e.toggleChanged||e.readOnlyChanged)&&super.setEnabledInteractionStates(t?0:i?C:b),(e.typeChanged||e.hrefChanged)&&super.setAttribute("type",n?void 0:e.type??"button"),(e.tabIndexChanged||e.disabledChanged)&&super.setAttribute("tabindex",t?-1:e.tabIndex)}onFunctionElementChanged(e){const t=super.functionElement;super.onFunctionElementChanged(e),d(t)&&(t.removeEventListener("click",this.#o),t.removeEventListener("keydown",this.#i)),d(e)&&(e.addEventListener("click",this.#o),e.addEventListener("keydown",this.#i))}onEvent(e){if(this.isDisabled()||(e.type==="click"&&this.isToggle()&&(this.#e&8)!==0&&e.preventDefault(),super.onEvent(e),e.type!=="click"||e.defaultPrevented||!this.isToggle()))return;const t=this.functionElement;f(e,t,()=>{if(this.isControllerDisposed||e.defaultPrevented||t===null||t!==this.functionElement||this.isDisabled()||t.matches(":disabled")||!this.isToggle()||(this.#e&8)!==0)return;const n=!this.isChecked();this.props.onChange?.(n,this,e),!(this.#n||this.isControllerDisposed||!this.isToggle())&&(this.#t(4,n),this.#a())},!1)}}export{T as ActionButtonController,x as ActionLayoutContext,P as mutationObserverOf};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import{createMemo as u,mergeProps as f,useContext as p}from"solid-js";import{defineInteractableComponent as A}from"../state";import{ActionButtonController as b,ActionLayoutContext as d}from"./base";const h={toggle:!0};function l(n){return`_cw-Button-${n??"filled"}`}function B(n,t){return`_cw-Button-${t?.size??n??"md"}`}function g(n,t){return(t?.shape??n)==="square"}function I(n,t){const e=p(d),o=t.toggle===!0,a=o&&("checked"in t?t.checked===!0:t.defaultChecked===!0),s=t.disabled===!0,i=t.href!==void 0,r={"aria-disabled":o&&t.readOnly===!0||s&&i?"true":void 0,"aria-pressed":o?a?"true":"false":void 0},c={...n.classList,"cw-Button":!0,"cw-Button-checked":a,"cw-Button-disabled":s,"cw-Button-toggle":o,"_cw-Button-square":g(t.shape,e),[B(t.size,e)]:!0,[l(t.variant)]:!0};return i?<a{...r}{...n}classList={c}href={t.href}tabindex={s?-1:t.tabIndex}>
|
|
2
|
+
<span class="cw-ActionButton-leadingIcon">{t.leadingIcon}</span>
|
|
3
|
+
<span class="cw-ActionButton-label">{n.children}</span>
|
|
4
|
+
<span class="cw-ActionButton-trailingIcon">{t.trailingIcon}</span>
|
|
5
|
+
</a>:<button{...r}{...n}classList={c}disabled={s}tabindex={s?-1:t.tabIndex}type={t.type??"button"}>
|
|
6
|
+
<span class="cw-ActionButton-leadingIcon">{t.leadingIcon}</span>
|
|
7
|
+
<span class="cw-ActionButton-label">{n.children}</span>
|
|
8
|
+
<span class="cw-ActionButton-trailingIcon">{t.trailingIcon}</span>
|
|
9
|
+
</button>}const m=A(()=>I,()=>class extends b{#t;#n;#e;constructor(n){const t=p(d);super(n,"cw-Button"),this.#t=t,this.#n=void 0,this.#e=void 0}applyComponentProps(){super.applyComponentProps();const n=super.readProps(["shape","size","variant"]),t=B(n.size,this.#t),e=g(n.shape,this.#t);n.variantChanged&&super.setClass("variant",l(n.variant)),t!==this.#n&&(this.#n=t,super.setClass("size",t)),e!==this.#e&&(this.#e=e,super.setClass("_cw-Button-square",e))}render(n){const t=u(()=>this.props.href!==void 0),e=()=>this.props.leadingIcon,o=()=>this.props.trailingIcon;return u(()=>t()?<a class="cw-Button">
|
|
10
|
+
<span class="cw-ActionButton-leadingIcon">{e()}</span>
|
|
11
|
+
<span class="cw-ActionButton-label">{n}</span>
|
|
12
|
+
<span class="cw-ActionButton-trailingIcon">{o()}</span>
|
|
13
|
+
</a>:<button class="cw-Button"type="button">
|
|
14
|
+
<span class="cw-ActionButton-leadingIcon">{e()}</span>
|
|
15
|
+
<span class="cw-ActionButton-label">{n}</span>
|
|
16
|
+
<span class="cw-ActionButton-trailingIcon">{o()}</span>
|
|
17
|
+
</button>)}}),E=m;function T(n){const t=f(n,h);return m(t)}export{E as Button,T as ToggleButton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext as e}from"solid-js";const n=e();export{n as FABMenuTriggerContext};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{createUniqueId as f,mergeProps as M,onMount as T,untrack as y}from"solid-js";import{defineDomComponent as v}from"..";import{deferAfterDelegatedCancellation as h}from"../util/event";import{mutationObserverOf as c}from"./base";import{FAB as g}from"./fab";import{FABMenuTriggerContext as E}from"./fab-menu-context";import"./action.css";const A="_cw-FABMenu-open",F="a[href], button, input, select, textarea, [role=button]",S=["aria-disabled","disabled","hidden","href","inert","role","tabindex"],B="a[href], button",w="a[href], button:not(:disabled)",C="--_CW-FABMENU-STAGGER",d=9.249,P=32,O={expanded:!0,extended:!0};function p(s){return typeof s=="object"&&s!==null&&typeof s.nodeType=="number"}function L(s){const e=[];let t=s.getRootNode();for(;t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in t;)e.push(t),t=t.host.getRootNode();return e}function R(s,e,t){return t?Math.min(e-s,e-1)/e:s/e}function x(s){let e=0,t=d;for(let n=0;n<P;n++){const o=(e+t)/2;1-(1+o)*Math.exp(-o)<s?e=o:t=o}return e/d}function D(s){return s.tabIndex>=0&&!s.matches(":disabled")&&s.getAttribute("aria-disabled")!=="true"&&s.closest("[hidden], [inert]")===null}function _(s){const e=s.ownerDocument,t=e.activeElement,n=s.getRootNode(),o=n===e?t:n.activeElement;return t===null||t===e.body||o!==null&&s.contains(o)}class m{#t;#n;#s;#o;constructor(e){this.#t=e,this.#n=null,this.#s=null,this.#o=null}attach(e){this.restore(),this.#n=e,this.#s=e?.getAttribute(this.#t)??null,this.#o=this.#s}set(e){const t=this.#i();t===null||t.getAttribute(this.#t)===e||(t.setAttribute(this.#t,e),this.#o=e)}restore(){const e=this.#i();e!==null&&(this.#s===null?e.removeAttribute(this.#t):e.setAttribute(this.#t,this.#s)),this.#n=null}#i(){return this.#n!==null&&this.#n.getAttribute(this.#t)!==this.#o&&(this.#n=null),this.#n}}function I(s,e){const t="open"in e?e.open===!0:e.defaultOpen===!0,n=f(),o={itemsId:n,open:t};return<div{...s}classList={{...s.classList,"cw-FABMenu":!0,[A]:t}}>
|
|
2
|
+
<span class="cw-FABMenu-trigger">
|
|
3
|
+
<E.Provider value={o}>
|
|
4
|
+
{e.trigger(o)}
|
|
5
|
+
</E.Provider>
|
|
6
|
+
</span>
|
|
7
|
+
<span class="cw-FABMenu-items"id={n}inert={!t}>{s.children}</span>
|
|
8
|
+
</div>}const U=v(()=>I,s=>class extends s{#t;#n;#s;#o;#i;#e;#r;#m;#g;#a;#l;#h;#u;#c;#E;constructor(e){const t="open"in e;super(e,{styleElementIsFunction:!0}),this.#t=t,this.#n=f(),this.#s=new m("aria-controls"),this.#o=new m("aria-expanded"),this.#i=new WeakSet,this.#e=y(()=>(t?e.open:e.defaultOpen)===!0),this.#r=!1,this.#m=null,this.#g=null,this.#a=null,this.#l=null,this.#h=null,this.#u=null,this.#c=null,this.#E=0}applyComponentProps(){const e=super.readProps(["open"]);e.openChanged&&this.#b(this.#t?e.open===!0:this.#e)}render(e){const t=this.#n,n=()=>this.props,o=()=>this.#e,r={itemsId:t,get open(){return o()}};let i,a;const l=<div class="cw-FABMenu">
|
|
9
|
+
<span class="cw-FABMenu-trigger"ref={i}>
|
|
10
|
+
<E.Provider value={r}>
|
|
11
|
+
{n().trigger(r)}
|
|
12
|
+
</E.Provider>
|
|
13
|
+
</span>
|
|
14
|
+
<span class="cw-FABMenu-items"id={t}ref={a}>{e}</span>
|
|
15
|
+
</div>,u=c(i);return this.#m=l,this.#g=i,this.#a=a,l.addEventListener("click",this.#M),l.addEventListener("keydown",this.#T),this.#h=new u(()=>this.#A()),this.#h.observe(i,{attributeFilter:S,attributes:!0,childList:!0,subtree:!0}),this.#A(),T(()=>this.#p(this.#e)),l}onControllerCleanup(){this.#p(!1),this.#r=!0,this.#h?.disconnect(),this.#h=null,this.#s.restore(),this.#o.restore(),this.#m?.removeEventListener("click",this.#M),this.#m?.removeEventListener("keydown",this.#T),super.onControllerCleanup()}#A(){const e=this.#g;if(this.#r||e===null)return;const t=Array.from(e.querySelectorAll(F)).filter(D),n=t.length===1?t[0]:null;n!==this.#l&&(this.#l=n,this.#s.attach(n),this.#o.attach(n),this.#s.set(this.#n),this.#o.set(String(this.#e)))}#b(e){const t=this.#e&&!e;this.#e=e,this.#y(),t?this.#v():this.#c=null}#y(){const e=this.#e,t=this.#a;if(super.setClass(A,e),t!==null){const n=Array.from(t.children);t.inert=!e,n.forEach((o,r)=>{const i=R(r,n.length,e);"style"in o&&o.style.setProperty(C,String(x(i)))})}this.#o.set(String(e)),this.#p(e)}#d(e,t){e!==this.#e&&(this.#c=e?null:t,this.#t||this.#b(e),this.props.onOpenChange?.(e))}#v(){const e=this.#c,t=this.#l,n=this.styleElement,o=++this.#E;this.#c=null,!(e==="outside"||t===null||n===null)&&queueMicrotask(()=>{this.#r||this.#e||o!==this.#E||t!==this.#l||!t.isConnected||!_(n)||t.focus()})}#p(e){const t=this.styleElement,n=this.#u,o=e&&!this.#r&&t!==null&&t.isConnected,r=o?t.ownerDocument:null,i=o?L(t):[];if(n!==null&&n.document===r&&n.roots.length===i.length&&n.roots.every((u,b)=>u===i[b]))return;if(n!==null){n.document.removeEventListener("pointerdown",this.#f,!0);for(const u of n.roots)u.removeEventListener("pointerdown",this.#f,!0);n.observer.disconnect(),this.#u=null}if(r===null)return;const a=c(r),l=new a(()=>{this.styleElement?.ownerDocument!==r&&this.#p(this.#e)});r.addEventListener("pointerdown",this.#f,!0);for(const u of i)u.addEventListener("pointerdown",this.#f,!0);l.observe(r,{childList:!0,subtree:!0}),this.#u={document:r,observer:l,roots:i}}#M=e=>{const t=e.target;e.defaultPrevented||!p(t)||(this.#A(),h(e,this.styleElement,()=>{this.#r||(this.#l?.contains(t)===!0?this.#d(!this.#e,"trigger"):this.#e&&this.#a?.contains(t)===!0&&t.nodeType===Node.ELEMENT_NODE&&t.closest(B)!==null&&this.#d(!1,"item"))},!1))};#T=e=>{const t=this.#l;e.defaultPrevented||(e.key==="ArrowDown"&&t!==null&&p(e.target)&&t.contains(e.target)?h(e,this.styleElement,()=>{this.#r||(this.#d(!0,"trigger"),queueMicrotask(()=>{this.#e&&!this.#r&&this.#a?.querySelector(w)?.focus()}))}):e.key==="Escape"&&this.#e&&h(e,this.styleElement,()=>{this.#r||this.#d(!1,"escape")}))};#f=e=>{const t=this.styleElement;this.#p(this.#e);const n=this.#u,o=e.composedPath();if(t===null||n===null)return;if(o.includes(t)){this.#i.add(e);return}const r=n.roots.some(i=>o.includes(i.host)&&!o.includes(i));r||this.#i.add(e),h(e,t,()=>{r&&this.#i.has(e)||!this.#r&&this.#e&&this.#u===n&&this.#d(!1,"outside")},!1)}});function V(s){const e=M(s,O);return g(e)}const W=g;export{U as FABMenu,V as FABMenuItem,W as FABMenuTrigger};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{useContext as c}from"solid-js";import{defineInteractableComponent as u}from"../state";import{ActionButtonController as l}from"./base";import{FABMenuTriggerContext as f}from"./fab-menu-context";function o(e){return`_cw-FAB-${e??"primary"}`}function p(e){return e===void 0?void 0:`_cw-FAB-${e}`}function B(e,n){const r=c(f),a=p(n.size),t=n.toggle===!0,s=t&&("checked"in n?n.checked===!0:n.defaultChecked===!0),d=n.disabled===!0,i=n.extended===!0;return<button aria-controls={r?.itemsId}aria-disabled={t&&n.readOnly===!0?"true":void 0}aria-expanded={r===void 0?void 0:r.open?"true":"false"}aria-pressed={t?s?"true":"false":void 0}{...e}classList={{...e.classList,"cw-FAB":!0,"cw-FAB-checked":s,"cw-FAB-disabled":d,"cw-FAB-toggle":t,"_cw-FAB-expanded":i&&n.expanded!==!1,"_cw-FAB-extended":i,"_cw-FAB-lowered":n.lowered===!0,...a===void 0?{}:{[a]:!0},[o(n.variant)]:!0}}disabled={d}tabindex={d?-1:n.tabIndex}type={n.type??"button"}>
|
|
2
|
+
<span class="cw-FAB-icon">{n.leadingIcon}</span>
|
|
3
|
+
<span class="cw-FAB-label">{e.children}</span>
|
|
4
|
+
</button>}const w=u(()=>B,()=>class extends l{constructor(e){super(e,"cw-FAB")}applyComponentProps(){super.applyComponentProps();const e=super.readProps(["expanded","extended","lowered","size","variant"]);e.variantChanged&&super.setClass("variant",o(e.variant)),e.sizeChanged&&super.setClass("size",p(e.size)),e.extendedChanged&&super.setClass("_cw-FAB-extended",e.extended===!0),(e.extendedChanged||e.expandedChanged)&&super.setClass("_cw-FAB-expanded",e.extended===!0&&e.expanded!==!1),e.loweredChanged&&super.setClass("_cw-FAB-lowered",e.lowered===!0)}render(e){return<button class="cw-FAB"type="button">
|
|
5
|
+
<span class="cw-FAB-icon">{this.props.leadingIcon}</span>
|
|
6
|
+
<span class="cw-FAB-label">{e}</span>
|
|
7
|
+
</button>}});export{w as FAB};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import{createSignal as k,Index as A,onCleanup as z,onMount as R,Show as B}from"solid-js";import{defineDomComponent as V}from"..";import{PlainTooltip as N}from"../feedback/tooltip";import{Icon as H}from"../icon";import{SegmentedButtonGroup as X}from"../selection/segmented";import{Menu as F,MenuCheckboxItem as J,MenuItem as $}from"../surface/menu";import{ActionLayoutContext as I,mutationObserverOf as U}from"./base";import{Button as W,ToggleButton as Y}from"./button";import{IconButton as Z}from"./icon-button";import"./action.css";const P="sm",O="More options",K=.15,Q=24,y="--_CW-BUTTONGROUP-DELTA",ee=["cw-Button-press","cw-IconButton-press","cw-SegmentedButton-press"],te=":is(.cw-Button, .cw-IconButton, .cw-SegmentedButton):not(._cw-ButtonGroup-overflowed)",x="_cw-ButtonGroup-overflow",E="_cw-ButtonGroup-overflowed",M="_cw-ButtonGroup-overflowIndicator";function L(e){return`_cw-ButtonGroup-${e??P}`}function S(e){return`_cw-ButtonGroup-${e??"standard"}`}function G(e){return`_cw-ButtonGroup-${e??"horizontal"}`}function _(e){return{get size(){return e.size??P},get shape(){return e.shape??"round"}}}function ne(e){return ee.some(t=>e.classList.contains(t))}function f(e){return e.icon===void 0?void 0:<H name={e.icon}/>}function Be(e){return<B when={e.action.checked!==void 0}fallback={<W classList={{[E]:e.overflowed}}disabled={e.action.disabled}leadingIcon={f(e.action)}onClick={()=>e.action.onClick?.()}>{e.action.label}</W>}>
|
|
2
|
+
<Y checked={e.action.checked}classList={{[E]:e.overflowed}}disabled={e.action.disabled}leadingIcon={f(e.action)}onChange={t=>e.action.onCheckedChange?.(t)}>{e.action.label}</Y>
|
|
3
|
+
</B>}function Se(e){return<B when={e.action.checked!==void 0}fallback={<$ attr:hidden={e.shown}disabled={e.action.disabled}leading={f(e.action)}onSelect={()=>e.action.onClick?.()}>{e.action.label}</$>}>
|
|
4
|
+
<J attr:hidden={e.shown}checked={e.action.checked}closeOnSelect disabled={e.action.disabled}leading={f(e.action)}onCheckedChange={t=>e.action.onCheckedChange?.(t)}>{e.action.label}</J>
|
|
5
|
+
</B>}function D(e){return<>
|
|
6
|
+
<A each={e.actions}>{(t,n)=><Be action={t()}overflowed={n>=e.shown}/>}</A>
|
|
7
|
+
<B when={e.overflows&&e.actions.length!==0}>
|
|
8
|
+
<F classList={{[M]:!0,[E]:e.shown>=e.actions.length}}label={e.label}placement="bottom-end"trigger={t=><N content={e.label}disabled={t.open()}trigger={n=><Z attr:aria-controls={t.attrs["aria-controls"]}attr:aria-describedby={n["aria-describedby"]}attr:aria-expanded={t.attrs["aria-expanded"]}attr:aria-haspopup={t.attrs["aria-haspopup"]}attr:aria-label={e.label}name="more_vert"tabIndex={n.tabIndex}variant="filled"/>}/>}>
|
|
9
|
+
<A each={e.actions}>{(t,n)=><Se action={t()}shown={n<e.shown}/>}</A>
|
|
10
|
+
</F>
|
|
11
|
+
</B>
|
|
12
|
+
</>}class T{#o;#t;#n;#e;constructor(t){const n=U(t);this.#o=t,this.#n=null,this.#e=[],this.#t=new n(()=>this.#a()),this.#t.observe(t,{attributeFilter:["class"],attributes:!0,subtree:!0})}dispose(){this.#t.disconnect(),this.#i()}#i(){for(const t of this.#e)t.style.removeProperty(y);this.#e=[],this.#n=null}#a(){const t=this.#o,n=t.classList.contains(S("standard"))&&!t.classList.contains(G("vertical")),o=Array.from(n?t.children:[]).filter(h=>h.matches(te)),i=o.find(ne)??null;if(i===this.#n||(this.#i(),i===null))return;const u=o.indexOf(i),a=o[u-1],r=o[u+1],c=(a===void 0?0:1)+(r===void 0?0:1),C=Math.round(Math.min(K*i.getBoundingClientRect().width/Math.max(c,1),Q)),d=Math.min(C,a?.getBoundingClientRect().width??0),l=Math.min(C,r?.getBoundingClientRect().width??0);this.#n=i,this.#r(i,d+l),a!==void 0&&this.#r(a,-d),r!==void 0&&this.#r(r,-l)}#r(t,n){n===0||!("style"in t)||(t.style.setProperty(y,`${n}px`),this.#e.push(t))}}class Ge{#o;#t;#n;#e;constructor(t,n){const o=t.ownerDocument.defaultView?.ResizeObserver??ResizeObserver;this.#o=t,this.#t=n,this.#e=!1,this.#n=new o(()=>this.fit()),this.#n.observe(t),t.ownerDocument.fonts?.ready.then(()=>{this.#e||this.fit()})}dispose(){this.#e=!0,this.#n.disconnect()}fit(){const t=this.#o,n=t.ownerDocument.defaultView;if(this.#e||n===null)return;const o=Array.from(t.querySelectorAll(":scope > .cw-Button")),i=t.querySelector(`:scope > .${M}`);if(i===null){this.#t(o.length);return}const u=Math.round(Number.parseFloat(n.getComputedStyle(t).columnGap)),a=Number.isNaN(u)?0:u,r=o.map(s=>{const m=Number.parseFloat(s.style.getPropertyValue(y));return Math.ceil(s.getBoundingClientRect().width-(Number.isNaN(m)?0:m))}),c=Math.floor(t.getBoundingClientRect().width);if(r.reduce((s,m)=>s+m,0)+a*Math.max(r.length-1,0)<=c){this.#t(r.length);return}const d=c-Math.ceil(i.getBoundingClientRect().width);let l=0,h=0;for(const s of r){if(l+=s+a,l>d)break;h++}this.#t(h)}}function Ce(e,t){const n="actions"in t;return<div role="group"{...e}classList={{...e.classList,"cw-ButtonGroup":!0,"_cw-ButtonGroup-square":t.shape==="square",[x]:n,[G(t.orientation)]:!0,[L(t.size)]:!0,[S(t.variant)]:!0}}>
|
|
13
|
+
<I.Provider value={_(t)}>
|
|
14
|
+
{n?<D actions={t.actions??[]}label={t.overflowLabel??O}overflows={t.orientation!=="vertical"}shown={Number.POSITIVE_INFINITY}/>:e.children}
|
|
15
|
+
</I.Provider>
|
|
16
|
+
</div>}const Ee=V(()=>Ce,e=>class extends e{#o;#t;#n;#e;#i;constructor(t){const n="actions"in t,[o,i]=k(Number.POSITIVE_INFINITY);super(t,{styleElementIsFunction:!0}),this.#o=n,this.#t=o,this.#n=i,this.#e=null,this.#i=null}applyComponentProps(){const t=super.readProps(["actions","orientation","shape","size","variant"]);t.orientationChanged&&super.setClass("orientation",G(t.orientation)),t.shapeChanged&&super.setClass("_cw-ButtonGroup-square",t.shape==="square"),t.sizeChanged&&super.setClass("size",L(t.size)),t.variantChanged&&super.setClass("variant",S(t.variant)),(t.actionsChanged||t.orientationChanged||t.sizeChanged)&&(super.setClass(x,this.#o),queueMicrotask(()=>this.#i?.fit()))}onControllerCleanup(){this.#e?.dispose(),this.#e=null,this.#i?.dispose(),this.#i=null,super.onControllerCleanup()}render(t){const n=<div class="cw-ButtonGroup"role="group">
|
|
17
|
+
<I.Provider value={_(this.props)}>
|
|
18
|
+
{this.#o?<D actions={this.props.actions??[]}label={this.props.overflowLabel??O}overflows={this.props.orientation!=="vertical"}shown={this.#t()}/>:t}
|
|
19
|
+
</I.Provider>
|
|
20
|
+
</div>;return this.#e=new T(n),this.#o&&R(()=>this.#i=new Ge(n,this.#n)),n}}),ze=e=><B when={e.selection!==void 0}fallback={<Ee{...e}/>}>
|
|
21
|
+
<Le{...e}/>
|
|
22
|
+
</B>;function Le(e){let t;return z(()=>t?.dispose()),<X{...e}classList={{...e.classList,"cw-ButtonGroup":!0,"_cw-ButtonGroup-selection":!0,"_cw-ButtonGroup-square":e.shape==="square",[G(e.orientation)]:!0,[L(e.size)]:!0,[S(e.variant)]:!0}}multiple={e.selection==="multiple"}onChange={e.onValueChange}ref={n=>{t?.dispose(),t=new T(n),e.ref?.(n)}}/>}export{ze as ButtonGroup};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{mergeProps as g,useContext as u}from"solid-js";import{Icon as I}from"../icon";import{defineInteractableComponent as y}from"../state";import{ActionButtonController as z,ActionLayoutContext as l}from"./base";import{FABMenuTriggerContext as b}from"./fab-menu-context";const w={toggle:!0};function B(e){return`_cw-IconButton-${e??"standard"}`}function m(e,t){const[n,o]=(e??"md").split("-");return{size:`_cw-IconButton-${t?.size??n}`,width:o===void 0?void 0:`_cw-IconButton-${o}`}}function h(e,t){return(t?.shape??e)==="square"}function C(e,t){const n=u(l),o=u(b),s=m(t.size,n),i=t.toggle===!0,d=i&&("checked"in t?t.checked===!0:t.defaultChecked===!0),r=t.disabled===!0;return<button aria-controls={o?.itemsId}aria-disabled={i&&t.readOnly===!0?"true":void 0}aria-expanded={o===void 0?void 0:o.open?"true":"false"}aria-pressed={i?d?"true":"false":void 0}{...e}classList={{...e.classList,"cw-IconButton":!0,"cw-IconButton-checked":d,"cw-IconButton-disabled":r,"cw-IconButton-toggle":i,"_cw-IconButton-square":h(t.shape,n),...s.width===void 0?{}:{[s.width]:!0},[s.size]:!0,[B(t.variant)]:!0}}disabled={r}tabindex={r?-1:t.tabIndex}type={t.type??"button"}>
|
|
2
|
+
<I attr:inert={!0}>{t.name??e.children}</I>
|
|
3
|
+
</button>}const S=y(()=>C,()=>class extends z{#t;#e;#n;#o;constructor(e){const t=u(l);super(e,"cw-IconButton"),this.#t=t,this.#e=void 0,this.#n=void 0,this.#o=void 0}applyComponentProps(){super.applyComponentProps();const e=super.readProps(["shape","size","variant"]),t=m(e.size,this.#t),n=h(e.shape,this.#t);e.variantChanged&&super.setClass("variant",B(e.variant)),t.size!==this.#e&&(this.#e=t.size,super.setClass("size",t.size)),t.width!==this.#n&&(this.#n=t.width,super.setClass("width",t.width)),n!==this.#o&&(this.#o=n,super.setClass("_cw-IconButton-square",n))}render(e){return<button class="cw-IconButton"type="button">
|
|
4
|
+
<I attr:inert={!0}>{()=>this.props.name??e}</I>
|
|
5
|
+
</button>}});function k(e){const t=g(e,w);return S(t)}export{S as IconButton,k as IconToggleButton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Button as n,ToggleButton as r}from"./button";import{IconButton as u,IconToggleButton as p}from"./icon-button";import{FAB as i}from"./fab";import{ButtonGroup as g}from"./group";import{SplitButton as m}from"./split-button";import{FABMenu as f,FABMenuItem as s,FABMenuTrigger as l}from"./fab-menu";export{n as Button,g as ButtonGroup,i as FAB,f as FABMenu,s as FABMenuItem,l as FABMenuTrigger,u as IconButton,p as IconToggleButton,m as SplitButton,r as ToggleButton};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{children as f}from"solid-js";import{defineDomComponent as v}from"..";import{Icon as E}from"../icon";import{Menu as L}from"../surface/menu";import{ActionLayoutContext as o}from"./base";import{Button as A}from"./button";import"./action.css";const r="sm",i="More options";function a(n){return`_cw-SplitButton-${n??r}`}function s(n){return{get size(){return n.size??r},shape:void 0}}function S(n){return<L label={n.label}placement="bottom-end"trigger={t=><A attr:aria-controls={t.attrs["aria-controls"]}attr:aria-expanded={t.attrs["aria-expanded"]}attr:aria-haspopup={t.attrs["aria-haspopup"]}attr:aria-label={n.label}leadingIcon={<E name="keyboard_arrow_down"/>}variant={n.variant}/>}>{n.children}</L>}function B(n){const t=f(()=>n.children);return<>
|
|
2
|
+
<span class="cw-SplitButton-primary">{n.primary??t.toArray()[0]}</span>
|
|
3
|
+
<span class="cw-SplitButton-secondary">{n.secondary??t.toArray()[1]}</span>
|
|
4
|
+
</>}function b(n,t){return<div role="group"{...n}classList={{...n.classList,"cw-SplitButton":!0,[a(t.size)]:!0}}>
|
|
5
|
+
<o.Provider value={s(t)}>
|
|
6
|
+
<B primary={t.primary}secondary={"menu"in t?<S label={t.menuLabel??i}variant={t.variant}>{t.menu}</S>:t.secondary}>{n.children}</B>
|
|
7
|
+
</o.Provider>
|
|
8
|
+
</div>}const C=v(()=>b,n=>class extends n{#t;constructor(t){const e="menu"in t;super(t,{styleElementIsFunction:!0}),this.#t=e}applyComponentProps(){const[t,e]=super.readProp("size");e&&super.setClass("size",a(t))}render(t){return<div class="cw-SplitButton"role="group">
|
|
9
|
+
<o.Provider value={s(this.props)}>
|
|
10
|
+
<B primary={this.props.primary}secondary={this.#t?<S label={this.props.menuLabel??i}variant={this.props.variant}>{this.props.menu}</S>:this.props.secondary}>{t}</B>
|
|
11
|
+
</o.Provider>
|
|
12
|
+
</div>}});export{C as SplitButton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{clamp as b,lstarOfY as i,yOfLstar as f}from"./hct";const h=.04;function m(r,n){return r>n?(r+5)/(n+5):(n+5)/(r+5)}function a(r,n){return m(f(b(0,100,r)),f(b(0,100,n)))}function l(r,n){if(r<0||r>100)return-1;const u=f(r),o=n*(u+5)-5,t=m(o,u);if(t<n&&Math.abs(t-n)>h)return-1;const e=i(o)+.4;return e<0||e>100?-1:e}function O(r,n){if(r<0||r>100)return-1;const u=f(r),o=(u+5)/n-5,t=m(u,o);if(t<n&&Math.abs(t-n)>h)return-1;const e=i(o)-.4;return e<0||e>100?-1:e}function p(r){return Math.round(r)<60}function T(r,n){const u=l(r,n),o=O(r,n),t=u<0?100:u,e=o<0?0:o,c=a(t,r),s=a(e,r);return p(r)?c>=n||c>=s||Math.abs(c-s)<.1&&c<n&&s<n?t:e:s>=n||s>=c?e:t}export{O as darkerToneOf,T as foregroundToneOf,l as lighterToneOf,p as prefersLighterTone,a as ratioOfTones};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{darkerToneOf as U,foregroundToneOf as K,lighterToneOf as j,prefersLighterTone as A,ratioOfTones as V}from"./contrast";import{argbOfHct as z,clamp as g,hctOfArgb as B,sanitizeDegrees as C,solveHct as P}from"./hct";import{argbOfPalette as N,fixDislikedColor as Y,isYellowHue as w}from"./palette";import{analogousColorOf as q,complementaryColorOf as G}from"./temperature";const E={error:["error","onError","errorContainer","onErrorContainer"],primary:["primary","onPrimary","primaryContainer","onPrimaryContainer","primaryFixed","primaryFixedDim","onPrimaryFixed","onPrimaryFixedVariant","inversePrimary"],secondary:["secondary","onSecondary","secondaryContainer","onSecondaryContainer","secondaryFixed","secondaryFixedDim","onSecondaryFixed","onSecondaryFixedVariant"],tertiary:["tertiary","onTertiary","tertiaryContainer","onTertiaryContainer","tertiaryFixed","tertiaryFixedDim","onTertiaryFixed","onTertiaryFixedVariant"]},J=ce(),x=10,Q=[[0,18],[41,15],[61,10],[101,12],[131,15],[181,18],[251,15],[301,12]],W=[[0,35],[41,30],[61,20],[101,25],[131,30],[181,35],[251,30],[301,25]],Z=[[0,45],[21,95],[51,45],[121,20],[151,45],[191,90],[271,45],[321,45]],$=[[0,120],[21,120],[51,20],[121,45],[151,20],[191,15],[271,20],[321,120]],ee=[[0,-40],[20,48],[71,-32],[161,40],[333,-32]],re=[[0,-32],[38,26],[105,10],[161,-39],[204,24],[278,-15],[333,-32]],I=[[0,-14],[38,10],[105,-14],[140,10],[333,-14]],ne=[[0,-72],[38,35],[71,24],[105,-24],[140,62],[161,50],[253,62],[333,-72]],te=[[0,-160],[105,155],[140,-100],[204,96],[253,-96],[278,-156],[300,-165],[333,-160]],ae=[[0,-165],[105,160],[140,-105],[204,101],[253,-101],[278,-160],[300,-170],[333,-165]],oe=[[0,10],[71,0],[124,10],[253,0],[278,10],[300,0]],ie=[[0,12],[3,22],[13,32],[23,12],[33,22],[43,32],[153,22],[273,12]];function ce(){const e=new Map;for(const a of Object.keys(E))E[a].forEach((r,t)=>e.set(r,[a,t]));return e}function ue(e){return e>=170&&e<207}function L(e){return e>=250&&e<270}function X(e,a){let r=0;for(const[t,n]of e)a>=t&&(r=n);return C(r)}function S(e,a){return C(a+X(e,a))}function i(e,a){return{hue:e,chroma:a,lightTone:void 0,darkTone:void 0}}function se(e,a){const{hue:r,chroma:t}=e,n=i(25,84);switch(a){case"content":case"fidelity":{const o=Y(a==="content"?q(e):G(e));return{primary:i(r,t),secondary:i(r,Math.max(t-32,t*.5)),tertiary:i(o.hue,o.chroma),error:n,neutral:i(r,t/8),neutralVariant:i(r,t/8+4)}}case"expressive":return{primary:i(C(r+240),40),secondary:i(S(Z,r),24),tertiary:i(S($,r),32),error:n,neutral:i(C(r+15),8),neutralVariant:i(C(r+15),12)};case"fruitSalad":return{primary:i(C(r-50),48),secondary:i(C(r-50),36),tertiary:i(r,36),error:n,neutral:i(r,10),neutralVariant:i(r,16)};case"monochrome":return{primary:i(r,0),secondary:i(r,0),tertiary:i(r,0),error:n,neutral:i(r,0),neutralVariant:i(r,0)};case"neutral":return{primary:i(r,12),secondary:i(r,8),tertiary:i(r,16),error:n,neutral:i(r,2),neutralVariant:i(r,2)};case"rainbow":return{primary:i(r,48),secondary:i(r,16),tertiary:i(C(r+60),24),error:n,neutral:i(r,0),neutralVariant:i(r,0)};case"tonalSpot":return{primary:i(r,36),secondary:i(r,16),tertiary:i(C(r+60),24),error:n,neutral:i(r,6),neutralVariant:i(r,8)};case"vibrant":return{primary:i(r,200),secondary:i(S(Q,r),24),tertiary:i(S(W,r),32),error:n,neutral:i(r,10),neutralVariant:i(r,12)}}}function le(e,a,r){const t=X(ie,e);switch(a){case"expressive":{const n=S(oe,e);return{primary:i(e,r?36:48),secondary:i(S(te,e),r?16:24),tertiary:i(S(ae,e),48),error:i(t,64),neutral:i(n,r?w(n)?6:14:18)}}case"neutral":return{primary:i(e,L(e)?12:8),secondary:i(e,L(e)?6:4),tertiary:i(S(re,e),20),error:i(t,50),neutral:i(e,1.4)};case"tonalSpot":return{primary:i(e,r?26:32),secondary:i(e,16),tertiary:i(S(ee,e),28),error:i(t,60),neutral:i(e,5)};case"vibrant":return{primary:i(e,74),secondary:i(S(I,e),56),tertiary:i(S(ne,e),56),error:i(t,80),neutral:i(S(I,e),28)}}}function H(e,a,r){return(1-r)*e+r*a}function v(e,a){const[r,t,n,o]=e;return a<=-1?r:a<0?H(r,t,a+1):a<.5?H(t,n,a/.5):a<1?H(n,o,(a-.5)/.5):o}function _(e,a,r){const t=r?-1:1;let n=r?100:0,o=P(e,a,n).chroma,c=n;for(;o<a&&n>=0&&n<=100;){n+=t;const u=P(e,a,n).chroma;o<u&&(o=u,c=n)}return c}function d(e,a,r){return e.lightTone??=_(e.hue,e.chroma,!0),g(a,r,e.lightTone)}function D(e,a,r){return e.darkTone??=_(e.hue,e.chroma,!1),g(a,r,e.darkTone)}function de(e,a,r){const{hue:t,chroma:n}=a,o=e.isDark?1:-1;let c=P(t,n,r).chroma,u=c,s=r;for(;c<n;){s+=o;const l=P(t,n,s).chroma;if(u>l||Math.abs(l-n)<.4)break;Math.abs(l-n)<Math.abs(c-n)&&(c=l),u=Math.max(u,l)}return s}function fe(e){return e.fixed??=!e.isDark&&e.contrastLevel===0?e:{...e,isDark:!1,contrastLevel:0,definitions:new Map,tones:new Map,fixed:void 0},e.fixed}function p(e){return e.isDark?"surfaceBright":"surfaceDim"}function ye(e,a,r){const{isDark:t,palettes:n,source:o,variant:c}=e,u=c==="monochrome",s=c==="content"||c==="fidelity",l=n[a],y=E[a];switch(r){case 0:return u&&a==="primary"?t?100:0:u&&a==="tertiary"?t?90:25:t?80:40;case 1:return u&&a==="secondary"?t?10:100:u&&a!=="error"?t?10:90:t?20:100;case 2:return s&&a==="primary"?o.tone:s&&a==="secondary"?de(e,l,t?30:90):s&&a==="tertiary"?Y(B(N(l.hue,l.chroma,o.tone))).tone:u&&a==="primary"?t?85:25:u&&a==="secondary"?t?30:85:u&&a==="tertiary"?t?60:49:t?30:90;case 3:return s&&a!=="error"?K(F(e,y[2]).tone,4.5):u&&(a==="primary"||a==="tertiary")?t?0:100:u?t?90:10:t?90:30;case 4:return u?a==="secondary"?80:40:90;case 5:return u?a==="secondary"?70:30:80;case 6:return u&&a!=="secondary"?100:10;case 7:return u?a==="secondary"?25:90:30;case 8:return t?40:80}}function me(e,a,r){const t=E[a],n=e.palettes[a],o=ye(e,a,r);switch(r){case 0:case 2:return{palette:n,tone:o,background:p(e),curve:r===0?[3,4.5,7,7]:[1,1,3,4.5],pair:{nearer:t[2],farther:t[0],together:!1}};case 1:return{palette:n,tone:o,background:t[0],curve:[4.5,7,11,21]};case 3:return{palette:n,tone:o,background:t[2],curve:[3,4.5,7,11]};case 4:case 5:{const c=t[4],u=t[5];return{palette:n,tone:o,background:p(e),curve:[1,1,3,4.5],pair:{nearer:e.isDark?u:c,farther:e.isDark?c:u,together:!0}}}case 6:case 7:return{palette:n,tone:o,background:t[5],secondBackground:t[4],curve:r===6?[4.5,7,11,21]:[3,4.5,7,11]};case 8:return{palette:n,tone:o,background:"inverseSurface",curve:[3,4.5,7,7]}}}function be(e,a){const{contrastLevel:r,isDark:t}=e,{neutral:n,primary:o}=e.palettes,c=e.palettes.neutralVariant;switch(a){case"background":case"surface":return{palette:n,tone:t?6:98};case"surfaceDim":return{palette:n,tone:t?6:v([87,87,80,75],r)};case"surfaceBright":return{palette:n,tone:t?v([24,24,29,34],r):98};case"surfaceContainerLowest":return{palette:n,tone:t?v([4,4,2,0],r):100};case"surfaceContainerLow":return{palette:n,tone:v(t?[10,10,11,12]:[96,96,96,95],r)};case"surfaceContainer":return{palette:n,tone:v(t?[12,12,16,20]:[94,94,92,90],r)};case"surfaceContainerHigh":return{palette:n,tone:v(t?[17,17,21,25]:[92,92,88,85],r)};case"surfaceContainerHighest":return{palette:n,tone:v(t?[22,22,26,30]:[90,90,84,80],r)};case"surfaceVariant":return{palette:c,tone:t?30:90};case"inverseSurface":return{palette:n,tone:t?90:20};case"surfaceTint":return{palette:o,tone:t?80:40};case"onBackground":return{palette:n,tone:t?90:10,background:"background",curve:[3,3,4.5,7]};case"onSurface":return{palette:n,tone:t?90:10,background:p(e),curve:[4.5,7,11,21]};case"onSurfaceVariant":return{palette:c,tone:t?80:30,background:p(e),curve:[3,4.5,7,11]};case"inverseOnSurface":return{palette:n,tone:t?20:95,background:"inverseSurface",curve:[4.5,7,11,21]};case"outline":return{palette:c,tone:t?60:50,background:p(e),curve:[1.5,3,4.5,7]};case"outlineVariant":return{palette:c,tone:t?30:80,background:p(e),curve:[1,1,3,4.5]};default:return{palette:n,tone:0}}}function k(e,a,r,t,n){return e.variant==="neutral"?a:e.variant==="tonalSpot"?r:e.variant==="expressive"?t:n}function M(e,a,r){const{isDark:t,variant:n}=e,o=e.palettes[a],c=ue(o.hue);if(r===2)switch(a){case"error":return t?D(o,30,93):d(o,0,90);case"primary":return n==="neutral"?t?30:90:n==="tonalSpot"&&t?D(o,35,93):n==="tonalSpot"?d(o,0,90):n==="expressive"&&t?d(o,30,93):n==="expressive"?d(o,78,c?88:90):t?D(o,66,93):d(o,66,c?88:93);case"secondary":return n==="vibrant"&&t?D(o,30,40):n==="vibrant"?d(o,84,90):n==="expressive"?t?15:d(o,90,95):t?25:90;case"tertiary":return n==="neutral"?d(o,0,t?93:96):n==="tonalSpot"?d(o,0,t?93:100):n==="expressive"&&c?d(o,75,88):n==="expressive"?d(o,75,t?93:100):t?d(o,0,93):d(o,72,100)}switch(a){case"error":return t?D(o,0,98):d(o,0,100);case"primary":return n==="neutral"?t?80:40:n==="tonalSpot"?t?80:d(o,0,100):n==="expressive"&&w(o.hue)?d(o,0,25):d(o,0,c?88:98);case"secondary":return n==="neutral"&&t?D(o,0,98):n==="vibrant"?d(o,0,t?90:98):t?80:d(o,0,100);case"tertiary":return d(o,0,c&&(n==="expressive"||n==="vibrant")?88:t?98:100)}}function pe(e,a,r){const t=E[a],n=e.palettes[a],o=t[2],c=t[5];switch(r){case 0:{const u=M(e,a,0),s=b(e,o);return{palette:n,tone:e.isDark?g(s+5,100,u):g(0,s-5,u),background:p(e),curve:[4.5,4.5,7,11],isBackground:!0}}case 1:return{palette:n,tone:b(e,t[0]),background:t[0],curve:[6,6,7,11]};case 2:return{palette:n,tone:M(e,a,2),background:p(e),curve:e.contrastLevel>0?[1.5,1.5,3,5.5]:void 0,isBackground:!0};case 4:return{palette:n,tone:b(fe(e),o),background:p(e),curve:e.contrastLevel>0?[1.5,1.5,3,5.5]:void 0,isBackground:!0};case 3:return{palette:n,tone:b(e,o),background:o,curve:a==="error"?[4.5,4.5,7,11]:[6,6,7,11]};case 5:return{palette:n,tone:g(0,100,b(e,t[4])-5)};case 6:case 7:return{palette:n,tone:b(e,c),background:c,curve:r===6?[7,7,11,21]:[4.5,4.5,7,11]};case 8:return{palette:n,tone:d(n,0,100),background:"inverseSurface",curve:[6,6,7,11]}}}function Se(e,a){const{isDark:r,variant:t}=e,n=e.palettes.neutral,o=w(n.hue),c=t==="vibrant",u=k(e,2.2,1.7,o?r?3:2.3:1.6,1);switch(a){case"background":return F(e,"surface");case"surfaceVariant":return F(e,"surfaceContainerHighest");case"surfaceTint":return F(e,"primary");case"surface":return{palette:n,tone:r?4:o?99:c?97:98};case"surfaceDim":case"surfaceBright":{const s=k(e,2.5,1.7,o?2.7:1.75,1.36);return a==="surfaceDim"?{palette:n,chromaFactor:r?1:s,tone:r?4:o?90:c?85:87}:{palette:n,chromaFactor:r?s:1,tone:r?18:o?99:c?97:98}}case"surfaceContainerLowest":return{palette:n,tone:r?0:100};case"surfaceContainerLow":return{palette:n,chromaFactor:k(e,1.3,1.25,o?1.3:1.15,1.08),tone:r?6:o?98:c?95:96};case"surfaceContainer":return{palette:n,chromaFactor:k(e,1.6,1.4,o?1.6:1.3,1.15),tone:r?9:o?96:c?92:94};case"surfaceContainerHigh":return{palette:n,chromaFactor:k(e,1.9,1.5,o?1.95:1.45,1.22),tone:r?12:o?94:c?90:92};case"surfaceContainerHighest":return{palette:n,chromaFactor:k(e,2.2,1.7,o?2.3:1.6,1.29),tone:r?15:o?92:c?88:90};case"inverseSurface":return{palette:n,tone:r?98:4};case"onBackground":return{...F(e,"onSurface"),tone:b(e,"onSurface")};case"onSurface":{const s=c?g(0,100,_(n.hue,n.chroma*1.1,!0)):b(e,p(e));return{palette:n,chromaFactor:u,tone:s,background:p(e),curve:r?[11,11,21,21]:[9,9,11,21]}}case"onSurfaceVariant":case"outline":case"outlineVariant":return{palette:n,chromaFactor:u,tone:b(e,p(e)),background:p(e),curve:a==="outline"?[3,3,4.5,7]:a==="outlineVariant"?[1.5,1.5,3,5.5]:r?[6,6,7,11]:[4.5,4.5,7,11]};case"inverseOnSurface":return{palette:n,tone:b(e,"inverseSurface"),background:"inverseSurface",curve:[7,7,11,21]};default:return{palette:n,tone:0}}}function F(e,a){let r=e.definitions.get(a);if(r===void 0){const t=J.get(a),n=e.specVersion==="2021";r=t===void 0&&n?be(e,a):t===void 0?Se(e,a):n?me(e,...t):pe(e,...t),e.definitions.set(a,r)}return r}function ve(e,a,r,t){const{contrastLevel:n,isDark:o}=e,{nearer:c,farther:u,together:s}=t,l=o?1:-1,y=b(e,r.background),R=F(e,c),O=F(e,u),h=v(R.curve,n),T=v(O.curve,n);let f=R.tone,m=O.tone;return(n<0||V(y,f)<h)&&(f=K(y,h)),(n<0||V(y,m)<T)&&(m=K(y,T)),(m-f)*l<x&&(m=g(0,100,f+x*l),(m-f)*l<x&&(f=g(0,100,m-x*l))),f>=50&&f<60||s&&m>=50&&m<60?(f=o?60:49,m=o?Math.max(m,f+x):Math.min(m,f-x)):m>=50&&m<60&&(m=o?60:49),a===c?f:m}function ge(e,a){const r=F(e,a),{background:t,curve:n,pair:o,secondBackground:c}=r,u=e.contrastLevel;if(o!==void 0)return ve(e,a,r,o);if(t===void 0||n===void 0)return r.tone;const s=b(e,t),l=v(n,u);let y=u<0||V(s,r.tone)<l?K(s,l):r.tone;if(r.isBackground&&(y=y>=57?g(65,100,y):g(0,49,y)),c!==void 0){const R=b(e,c),O=Math.max(s,R),h=Math.min(s,R);if(V(O,y)<l||V(h,y)<l){const T=j(O,l),f=U(h,l);y=A(s)||A(R)?T<0?100:T:T<0!=f<0?T<0?f:T:f<0?0:f}}return y}function b(e,a){let r=e.tones.get(a);return r===void 0&&(r=ge(e,a),e.tones.set(a,r)),r}function xe(e,a,r,t,n){const o=B(e),c=n==="2025"?le(o.hue,a,r):void 0;return{specVersion:c!==void 0?"2025":"2021",variant:a,isDark:r,contrastLevel:t,source:o,palettes:c??se(o,a),definitions:new Map,tones:new Map,fixed:void 0}}function De(e,a){const{chromaFactor:r,palette:t}=F(e,a),n=b(e,a);return e.specVersion==="2021"?N(t.hue,t.chroma,n):z(t.hue,t.chroma*(r??1),n)}export{De as argbOfRole,xe as newDynamicScheme};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const P=.008856451679035631,d=24389/27,B=1.02117770275752,V=.9863077294280124,j=.9339605082802299,R=.3884814537800353,g=29.980997194447333,L=1.0169191804458755,X=1.3173270022537198,K=.759112960023724,W=.8834525670408592,Y=1.1319226830134397,$=5,k=8,A=z(0,256),J=z(.5,255),Q=new Float64Array(3),Z=new Float64Array(3),D=new Float64Array(3);function v(n){const t=n/255;return t<=.040449936?t/12.92*100:Math.pow((t+.055)/1.055,2.4)*100}function z(n,t){const r=new Float64Array(t);for(let e=0;e<t;e++)r[e]=v(n+e);return r}function T(n){const t=n/100;return(t<=.0031308?t*12.92:1.055*Math.pow(t,1/2.4)-.055)*255}function y(n){return o0(0,255,Math.round(T(n)))}function G(n,t,r){return(4278190080|y(n)<<16|y(t)<<8|y(r))>>>0}function x(n){return n>P?Math.pow(n,1/3):(d*n+16)/116}function n0(n){const t=n*n*n;return t>P?t:(116*n-16)/d}function U(n){return n<0?-1:n===0?0:1}function N(n){const t=Math.pow(Math.abs(n),.42);return U(n)*400*t/(t+27.13)}function C(n){const t=Math.abs(n);return U(n)*Math.pow(Math.max(0,27.13*t/(400-t)),1/.42)}function w(n,t,r){const e=N(.001200833568784504*n+.002389694492170889*t+.0002795742885861124*r),o=N(.0005891086651375999*n+.0029785502573438758*t+.0003270666104008398*r),u=N(.00010146692491640572*n+.0005364214359186694*t+.0032979401770712076*r);return Math.atan2((e+o-2*u)/9,(11*e-12*o+u)/11)}function H(n){return(n+Math.PI*8)%(Math.PI*2)}function F(n,t,r){return H(t-n)<H(r-n)}function t0(n,t){const r=D,e=t%4<=1?0:100,o=t%2===0?0:100;let u;return t<4?(u=(n-e*.7152-o*.0722)/.2126,r[0]=u,r[1]=e,r[2]=o):t<8?(u=(n-o*.2126-e*.0722)/.7152,r[0]=o,r[1]=u,r[2]=e):(u=(n-e*.2126-o*.7152)/.0722,r[0]=e,r[1]=o,r[2]=u),u>=0&&u<=100}function r0(n,t,r){const e=3846.153846153846*(.25*(Math.cos(n+2)+3.8))*L,o=Math.sin(n),u=Math.cos(n);let s=Math.sqrt(r)*11;for(let i=0;;i++){const l=s/100,a=t===0||s===0?0:t/Math.sqrt(l),c=Math.pow(a*Y,1/.9),b=g*Math.pow(l,K)/L,f=23*(b+.305)*c/(23*e+11*c*u+108*c*o),h=f*u,E=f*o,M=C((460*b+451*h+288*E)/1403),S=C((460*b-891*h-261*E)/1403),p=C((460*b-220*h-6300*E)/1403),m=1373.2198709594231*M-1100.4251190754821*S-7.278681089101213*p,I=-271.815969077903*M+559.6580465940733*S-32.46047482791194*p,O=1.9622899599665666*M-57.173814538844006*S+308.7233197812385*p;if(m<0||I<0||O<0)return 0;const _=.2126*m+.7152*I+.0722*O;if(_<=0)return 0;if(i===$-1||Math.abs(_-r)<.002)return m>100.01||I>100.01||O>100.01?0:G(m,I,O);s-=(_-r)*s/(2*_)}}function e0(n,t){const r=Q,e=Z,o=D;let u=0,s=0,i=!1,l=!1;for(let a=0;a<12;a++){if(!t0(t,a))continue;const c=w(o[0],o[1],o[2]);i?(!l||F(u,c,s))&&(l=!0,F(u,n,c)?(e.set(o),s=c):(r.set(o),u=c)):(r.set(o),e.set(o),u=c,s=c,i=!0)}for(let a=0;a<3;a++){const c=r[a],b=e[a];if(c===b)continue;let f=c<b?Math.floor(T(c)-.5):Math.ceil(T(c)-.5),h=c<b?Math.ceil(T(b)-.5):Math.floor(T(b)-.5);for(let E=0;E<k&&Math.abs(h-f)>1;E++){const M=Math.floor((f+h)/2),S=(J[M]-r[a])/(e[a]-r[a]);for(let m=0;m<3;m++)o[m]=r[m]+(e[m]-r[m])*S;const p=w(o[0],o[1],o[2]);F(u,n,p)?(e.set(o),h=M):(r.set(o),u=p,f=M)}}return G((r[0]+e[0])/2,(r[1]+e[1])/2,(r[2]+e[2])/2)}function o0(n,t,r){return r<n?n:r>t?t:r}function q(n){const t=n%360;return t<0?t+360:t}function u0(n){return 100*n0((n+16)/116)}function a0(n){return x(n/100)*116-16}function b0(n){const t=A[n>>16&255],r=A[n>>8&255],e=A[n&255],o=x((.41233895*t+.35762064*r+.18051042*e)/95.047),u=x((.2126*t+.7152*r+.0722*e)/100),s=x((.01932141*t+.11916382*r+.95034478*e)/108.883);return[116*u-16,500*(o-u),200*(u-s)]}function c0(n){const t=A[n>>16&255],r=A[n>>8&255],e=A[n&255],o=.41233895*t+.35762064*r+.18051042*e,u=.2126*t+.7152*r+.0722*e,s=.01932141*t+.11916382*r+.95034478*e,i=N(R*(B*(.401288*o+.650173*u-.051461*s))/100),l=N(R*(V*(-.250268*o+1.204414*u+.045854*s))/100),a=N(R*(j*(-.002079*o+.048952*u+.953127*s))/100),c=(11*i-12*l+a)/11,b=(i+l-2*a)/9,f=q(Math.atan2(b,c)*180/Math.PI),h=100*Math.pow((40*i+20*l+a)/20*L/g,X),E=.25*(Math.cos((f<20.14?f+360:f)*Math.PI/180+2)+3.8),M=5e4/13*E*L*Math.sqrt(c*c+b*b)/((20*i+20*l+21*a)/20+.305);return{argb:n,hue:f,chroma:Math.pow(M,.9)*W*Math.sqrt(h/100),tone:116*x(u/100)-16}}function s0(n,t,r){const e=u0(r);if(t<1e-4||r<1e-4||r>99.9999){const s=y(e);return(4278190080|s<<16|s<<8|s)>>>0}const o=q(n)/180*Math.PI,u=r0(o,t,e);return u!==0?u:e0(o,e)}function f0(n,t,r){return c0(s0(n,t,r))}function m0(n){return`#${(n&16777215).toString(16).padStart(6,"0")}`}export{s0 as argbOfHct,o0 as clamp,c0 as hctOfArgb,m0 as hexOfArgb,b0 as labOfArgb,a0 as lstarOfY,q as sanitizeDegrees,f0 as solveHct,u0 as yOfLstar};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@cw-attribute-roles cw-Color,none;:root,.cw-theme-dark,.cw-theme-light{--cw-Color-primary-fill: light-dark( cw-var(--cw-Color-primary-fill, default), cw-var(--cw-Color-theme-dark--primary-fill) );--cw-Color-primary-onFill: light-dark( cw-var(--cw-Color-primary-onFill, default), cw-var(--cw-Color-theme-dark--primary-onFill) );--cw-Color-primary-container: light-dark( cw-var(--cw-Color-primary-container, default), cw-var(--cw-Color-theme-dark--primary-container) );--cw-Color-primary-onContainer: light-dark( cw-var(--cw-Color-primary-onContainer, default), cw-var(--cw-Color-theme-dark--primary-onContainer) );--cw-Color-primary-inverseFill: light-dark( cw-var(--cw-Color-primary-inverseFill, default), cw-var(--cw-Color-theme-dark--primary-inverseFill) );--cw-Color-primary-fixedFill: light-dark( cw-var(--cw-Color-primary-fixedFill, default), cw-var(--cw-Color-theme-dark--primary-fixedFill) );--cw-Color-primary-fixedFillDim: light-dark( cw-var(--cw-Color-primary-fixedFillDim, default), cw-var(--cw-Color-theme-dark--primary-fixedFillDim) );--cw-Color-primary-onFixedFill: light-dark( cw-var(--cw-Color-primary-onFixedFill, default), cw-var(--cw-Color-theme-dark--primary-onFixedFill) );--cw-Color-primary-onFixedFillVariant: light-dark( cw-var(--cw-Color-primary-onFixedFillVariant, default), cw-var(--cw-Color-theme-dark--primary-onFixedFillVariant) );--cw-Color-secondary-fill: light-dark( cw-var(--cw-Color-secondary-fill, default), cw-var(--cw-Color-theme-dark--secondary-fill) );--cw-Color-secondary-onFill: light-dark( cw-var(--cw-Color-secondary-onFill, default), cw-var(--cw-Color-theme-dark--secondary-onFill) );--cw-Color-secondary-container: light-dark( cw-var(--cw-Color-secondary-container, default), cw-var(--cw-Color-theme-dark--secondary-container) );--cw-Color-secondary-onContainer: light-dark( cw-var(--cw-Color-secondary-onContainer, default), cw-var(--cw-Color-theme-dark--secondary-onContainer) );--cw-Color-secondary-fixedFill: light-dark( cw-var(--cw-Color-secondary-fixedFill, default), cw-var(--cw-Color-theme-dark--secondary-fixedFill) );--cw-Color-secondary-fixedFillDim: light-dark( cw-var(--cw-Color-secondary-fixedFillDim, default), cw-var(--cw-Color-theme-dark--secondary-fixedFillDim) );--cw-Color-secondary-onFixedFill: light-dark( cw-var(--cw-Color-secondary-onFixedFill, default), cw-var(--cw-Color-theme-dark--secondary-onFixedFill) );--cw-Color-secondary-onFixedFillVariant: light-dark( cw-var(--cw-Color-secondary-onFixedFillVariant, default), cw-var(--cw-Color-theme-dark--secondary-onFixedFillVariant) );--cw-Color-tertiary-fill: light-dark( cw-var(--cw-Color-tertiary-fill, default), cw-var(--cw-Color-theme-dark--tertiary-fill) );--cw-Color-tertiary-onFill: light-dark( cw-var(--cw-Color-tertiary-onFill, default), cw-var(--cw-Color-theme-dark--tertiary-onFill) );--cw-Color-tertiary-container: light-dark( cw-var(--cw-Color-tertiary-container, default), cw-var(--cw-Color-theme-dark--tertiary-container) );--cw-Color-tertiary-onContainer: light-dark( cw-var(--cw-Color-tertiary-onContainer, default), cw-var(--cw-Color-theme-dark--tertiary-onContainer) );--cw-Color-tertiary-fixedFill: light-dark( cw-var(--cw-Color-tertiary-fixedFill, default), cw-var(--cw-Color-theme-dark--tertiary-fixedFill) );--cw-Color-tertiary-fixedFillDim: light-dark( cw-var(--cw-Color-tertiary-fixedFillDim, default), cw-var(--cw-Color-theme-dark--tertiary-fixedFillDim) );--cw-Color-tertiary-onFixedFill: light-dark( cw-var(--cw-Color-tertiary-onFixedFill, default), cw-var(--cw-Color-theme-dark--tertiary-onFixedFill) );--cw-Color-tertiary-onFixedFillVariant: light-dark( cw-var(--cw-Color-tertiary-onFixedFillVariant, default), cw-var(--cw-Color-theme-dark--tertiary-onFixedFillVariant) );--cw-Color-error-fill: light-dark( cw-var(--cw-Color-error-fill, default), cw-var(--cw-Color-theme-dark--error-fill) );--cw-Color-error-onFill: light-dark( cw-var(--cw-Color-error-onFill, default), cw-var(--cw-Color-theme-dark--error-onFill) );--cw-Color-error-container: light-dark( cw-var(--cw-Color-error-container, default), cw-var(--cw-Color-theme-dark--error-container) );--cw-Color-error-onContainer: light-dark( cw-var(--cw-Color-error-onContainer, default), cw-var(--cw-Color-theme-dark--error-onContainer) );--cw-Color-background: light-dark( cw-var(--cw-Color-background, default), cw-var(--cw-Color-theme-dark--background) );--cw-Color-onBackground: light-dark( cw-var(--cw-Color-onBackground, default), cw-var(--cw-Color-theme-dark--onBackground) );--cw-Color-surface-fill: light-dark( cw-var(--cw-Color-surface-fill, default), cw-var(--cw-Color-theme-dark--surface-fill) );--cw-Color-surface-onFill: light-dark( cw-var(--cw-Color-surface-onFill, default), cw-var(--cw-Color-theme-dark--surface-onFill) );--cw-Color-surface-fillVariant: light-dark( cw-var(--cw-Color-surface-fillVariant, default), cw-var(--cw-Color-theme-dark--surface-fillVariant) );--cw-Color-surface-onFillVariant: light-dark( cw-var(--cw-Color-surface-onFillVariant, default), cw-var(--cw-Color-theme-dark--surface-onFillVariant) );--cw-Color-surface-tint: light-dark( cw-var(--cw-Color-surface-tint, default), cw-var(--cw-Color-theme-dark--surface-tint) );--cw-Color-surface-inverseFill: light-dark( cw-var(--cw-Color-surface-inverseFill, default), cw-var(--cw-Color-theme-dark--surface-inverseFill) );--cw-Color-surface-inverseOnFill: light-dark( cw-var(--cw-Color-surface-inverseOnFill, default), cw-var(--cw-Color-theme-dark--surface-inverseOnFill) );--cw-Color-surface-fillBright: light-dark( cw-var(--cw-Color-surface-fillBright, default), cw-var(--cw-Color-theme-dark--surface-fillBright) );--cw-Color-surface-fillDim: light-dark( cw-var(--cw-Color-surface-fillDim, default), cw-var(--cw-Color-theme-dark--surface-fillDim) );--cw-Color-surface-container: light-dark( cw-var(--cw-Color-surface-container, default), cw-var(--cw-Color-theme-dark--surface-container) );--cw-Color-surface-containerHigh: light-dark( cw-var(--cw-Color-surface-containerHigh, default), cw-var(--cw-Color-theme-dark--surface-containerHigh) );--cw-Color-surface-containerHighest: light-dark( cw-var(--cw-Color-surface-containerHighest, default), cw-var(--cw-Color-theme-dark--surface-containerHighest) );--cw-Color-surface-containerLow: light-dark( cw-var(--cw-Color-surface-containerLow, default), cw-var(--cw-Color-theme-dark--surface-containerLow) );--cw-Color-surface-containerLowest: light-dark( cw-var(--cw-Color-surface-containerLowest, default), cw-var(--cw-Color-theme-dark--surface-containerLowest) );--cw-Color-outline: light-dark( cw-var(--cw-Color-outline, default), cw-var(--cw-Color-theme-dark--outline) );--cw-Color-outlineVariant: light-dark( cw-var(--cw-Color-outlineVariant, default), cw-var(--cw-Color-theme-dark--outlineVariant) );--cw-Color-scrim: light-dark( cw-var(--cw-Color-scrim, default), cw-var(--cw-Color-theme-dark--scrim) );--cw-Color-shadow: light-dark( cw-var(--cw-Color-shadow, default), cw-var(--cw-Color-theme-dark--shadow) )}:root{color-scheme:light dark}.cw-theme-dark{color-scheme:dark}.cw-theme-light{color-scheme:light}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{COLOR_SCHEME_CSS_ROLES as r,COLOR_SCHEME_ROLE_MAPPINGS as l,applyColorScheme as C,createColorScheme as S,removeColorScheme as c}from"./scheme";export{r as COLOR_SCHEME_CSS_ROLES,l as COLOR_SCHEME_ROLE_MAPPINGS,C as applyColorScheme,S as createColorScheme,c as removeColorScheme};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{argbOfHct as e,solveHct as a}from"./hct";function c(t){return t>=105&&t<125}function m(t,r,f){if(f!==99||!c(t))return e(t,r,f);const u=e(t,r,98),i=e(t,r,100);let o=4278190080;for(const n of[16,8,0])o|=Math.round(((u>>n&255)+(i>>n&255))/2)<<n;return o>>>0}function s(t){const r=Math.round(t.hue);return r>=90&&r<=111&&Math.round(t.chroma)>16&&Math.round(t.tone)<65}function d(t){return s(t)?a(t.hue,t.chroma,70):t}export{m as argbOfPalette,d as fixDislikedColor,c as isYellowHue};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{argbOfRole as R,newDynamicScheme as x}from"./dynamic";import{hexOfArgb as S}from"./hct";const h=Object.freeze([{role:"primary",cssRole:"primary-fill"},{role:"onPrimary",cssRole:"primary-onFill"},{role:"primaryContainer",cssRole:"primary-container"},{role:"onPrimaryContainer",cssRole:"primary-onContainer"},{role:"inversePrimary",cssRole:"primary-inverseFill"},{role:"primaryFixed",cssRole:"primary-fixedFill"},{role:"primaryFixedDim",cssRole:"primary-fixedFillDim"},{role:"onPrimaryFixed",cssRole:"primary-onFixedFill"},{role:"onPrimaryFixedVariant",cssRole:"primary-onFixedFillVariant"},{role:"secondary",cssRole:"secondary-fill"},{role:"onSecondary",cssRole:"secondary-onFill"},{role:"secondaryContainer",cssRole:"secondary-container"},{role:"onSecondaryContainer",cssRole:"secondary-onContainer"},{role:"secondaryFixed",cssRole:"secondary-fixedFill"},{role:"secondaryFixedDim",cssRole:"secondary-fixedFillDim"},{role:"onSecondaryFixed",cssRole:"secondary-onFixedFill"},{role:"onSecondaryFixedVariant",cssRole:"secondary-onFixedFillVariant"},{role:"tertiary",cssRole:"tertiary-fill"},{role:"onTertiary",cssRole:"tertiary-onFill"},{role:"tertiaryContainer",cssRole:"tertiary-container"},{role:"onTertiaryContainer",cssRole:"tertiary-onContainer"},{role:"tertiaryFixed",cssRole:"tertiary-fixedFill"},{role:"tertiaryFixedDim",cssRole:"tertiary-fixedFillDim"},{role:"onTertiaryFixed",cssRole:"tertiary-onFixedFill"},{role:"onTertiaryFixedVariant",cssRole:"tertiary-onFixedFillVariant"},{role:"error",cssRole:"error-fill"},{role:"onError",cssRole:"error-onFill"},{role:"errorContainer",cssRole:"error-container"},{role:"onErrorContainer",cssRole:"error-onContainer"},{role:"background",cssRole:"background"},{role:"onBackground",cssRole:"onBackground"},{role:"surface",cssRole:"surface-fill"},{role:"onSurface",cssRole:"surface-onFill"},{role:"surfaceVariant",cssRole:"surface-fillVariant"},{role:"onSurfaceVariant",cssRole:"surface-onFillVariant"},{role:"surfaceTint",cssRole:"surface-tint"},{role:"inverseSurface",cssRole:"surface-inverseFill"},{role:"inverseOnSurface",cssRole:"surface-inverseOnFill"},{role:"surfaceBright",cssRole:"surface-fillBright"},{role:"surfaceDim",cssRole:"surface-fillDim"},{role:"surfaceContainer",cssRole:"surface-container"},{role:"surfaceContainerHigh",cssRole:"surface-containerHigh"},{role:"surfaceContainerHighest",cssRole:"surface-containerHighest"},{role:"surfaceContainerLow",cssRole:"surface-containerLow"},{role:"surfaceContainerLowest",cssRole:"surface-containerLowest"},{role:"outline",cssRole:"outline"},{role:"outlineVariant",cssRole:"outlineVariant"},{role:"scrim",cssRole:"scrim"},{role:"shadow",cssRole:"shadow"}].map(e=>Object.freeze(e))),T=Object.freeze(h.map(({cssRole:e})=>e)),F=new Set(["tonalSpot","expressive","vibrant","fidelity","content","monochrome","neutral","rainbow","fruitSalad"]),g=/^(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,y=new WeakMap;function b(e){if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError("sourceColor must be a CSS hexadecimal color or ARGB number");if(!Number.isInteger(e)||e<0||e>4294967295)throw new RangeError("sourceColor ARGB number must be an integer in [0, 0xffffffff]");return e>>>0}const o=typeof e=="string"?e.trim().replace(/^#/,""):"";if(!g.test(o))throw new TypeError("sourceColor must be a CSS hexadecimal color or ARGB number");const a=o.length<=4?o.replace(/./g,"$&$&"):o;return((a.length===8?parseInt(a.slice(6),16):255)<<24|parseInt(a.slice(0,6),16))>>>0}function v(e,o,a){const r=e===void 0?{}:typeof e=="string"?{mode:e}:typeof e=="boolean"?{isDark:e}:e;if(typeof r!="object"||r===null||Array.isArray(r))throw new TypeError("color-scheme options must be an object");if(r.isDark!==void 0&&typeof r.isDark!="boolean")throw new TypeError("isDark must be a boolean");const l=r.isDark===void 0?r.mode??"light":r.isDark?"dark":"light",n=o??r.contrastLevel??0,t=a??r.variant??"tonalSpot",i=r.specVersion??"2025";if(r.mode!==void 0&&r.mode!==l)throw new RangeError("mode and isDark select different color-scheme modes");if(l!=="light"&&l!=="dark")throw new TypeError("mode must be 'light' or 'dark'");if(!Number.isFinite(n)||n<-1||n>1)throw new RangeError("contrastLevel must be a finite number in [-1, 1]");if(!F.has(t))throw new TypeError("variant is not a supported Material 3 color style");if(i!=="2021"&&i!=="2025")throw new TypeError("specVersion must be '2021' or '2025'");return{mode:l,contrastLevel:n,variant:t,specVersion:i}}function D(e,o,a,r){const l=b(e),n=v(o,a,r),t=x(l,n.variant,n.mode==="dark",n.contrastLevel,n.specVersion),i={},c={},s={},d={};let C="";for(const{role:m,cssRole:f}of h){const p=R(t,m),u=S(p);i[m]=p,c[m]=u,s[f]=u,d[`--cw-Color-${f}`]=u,C+=`--cw-Color-${f}:${u};`}return Object.freeze({...c,specVersion:t.specVersion,sourceColor:S(l),sourceColorArgb:l,mode:n.mode,isDark:n.mode==="dark",contrastLevel:n.contrastLevel,variant:n.variant,argb:Object.freeze(i),values:Object.freeze(s),variables:Object.freeze(d),cssText:`${C}color-scheme:${n.mode}`})}function V(e,o){const{style:a}=e;for(const[r,l]of o.properties)a.getPropertyValue(r)!==l.applied||a.getPropertyPriority(r)!==""||(l.value===""?a.removeProperty(r):a.setProperty(r,l.value,l.priority));y.delete(e)}function E(e,o){if(typeof e?.style?.setProperty!="function")throw new TypeError("target must be an Element with inline CSS styles");if(typeof o?.variables!="object"||typeof o.cssText!="string")throw new TypeError("scheme must be a color scheme created by createColorScheme");const{style:a}=e,r=y.get(e),l=new Map,n={properties:l},t=[...Object.entries(o.variables),["color-scheme",o.mode]];for(const[i,c]of t){const s=r?.properties.get(i),d=s!==void 0&&a.getPropertyValue(i)===s.applied&&a.getPropertyPriority(i)==="";l.set(i,{value:d?s.value:a.getPropertyValue(i),priority:d?s.priority:a.getPropertyPriority(i),applied:c}),a.setProperty(i,c)}return y.set(e,n),()=>{y.get(e)===n&&V(e,n)}}function k(e){const o=y.get(e);o!==void 0&&V(e,o)}export{T as COLOR_SCHEME_CSS_ROLES,h as COLOR_SCHEME_ROLE_MAPPINGS,E as applyColorScheme,D as createColorScheme,k as removeColorScheme};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{argbOfHct as W,hctOfArgb as A,labOfArgb as x,sanitizeDegrees as b}from"./hct";const l=361;function E(r){const[,t,e]=x(r),o=b(Math.atan2(e,t)*180/Math.PI),a=Math.sqrt(t*t+e*e);return-.5+.02*Math.pow(a,1.07)*Math.cos(b(o-50)*Math.PI/180)}function g(r){const t=new Uint32Array(l),e=new Float64Array(l+1);let o=0,a=0;for(let n=0;n<l;n++)t[n]=W(n,r.chroma,r.tone);for(let n=0;n<=l;n++){const c=E(n<l?t[n]:r.argb);e[n]=c,c<e[o]&&(o=n),c>=e[a]&&(a=n)}return{source:r,colors:t,temperatures:e,coldest:o,warmest:a}}function h(r,t){return t<l?A(r.colors[t]):r.source}function m(r,t){const{temperatures:e,coldest:o,warmest:a}=r,n=e[a]-e[o];return n===0?.5:(e[t]-e[o])/n}function y(r,t,e){return t<e?t<=r&&r<=e:t<=r||r<=e}function I(r){const t=g(r),e=Math.round(r.hue);let o=m(t,e),a=0;for(let s=1;s<360;s++){const u=m(t,(e+s)%360);a+=Math.abs(u-o),o=u}const n=a/6;let c=0;o=m(t,e);for(let s=1;;s++){const u=(e+s)%360,f=m(t,u);if(c+=Math.abs(f-o),c>=n)return h(t,u);o=f}}function U(r){const t=g(r),{temperatures:e,coldest:o,warmest:a}=t,n=h(t,o).hue,c=h(t,a).hue,s=y(r.hue,n,c),u=s?c:n,f=s?n:c,O=1-m(t,l);let p=Math.round(r.hue),H=1e3;for(let i=0;i<=360;i++){const d=b(u+i);if(!y(d,u,f))continue;const M=Math.round(d),w=Math.abs(O-(e[M]-e[o])/(e[a]-e[o]));w<H&&(H=w,p=M)}return h(t,p)}export{I as analogousColorOf,U as complementaryColorOf};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@cw-attribute-roles cw-Card;@layer cw-style{.cw-Card{--cw-elevationShadow-color: cw-var(--cw-Card-container-shadowColor);--cw-elevationShadow-level: cw-var(--cw-Card-container-elevation);--cw-interactable-focusIndicator-color: cw-var(--cw-Card-focus-indicatorColor);--cw-interactable-focusIndicator-offset: cw-var(--cw-Card-focus-indicatorOffset);--cw-interactable-focusIndicator-thickness: cw-var(--cw-Card-focus-indicatorThickness);-cw-border-radius:--cw-Card-container-shape;background-color:cw-var(--cw-Card-container-color);box-sizing:border-box;color:cw-var(--cw-Card-content-color);contain:layout style;display:flex;flex-flow:column nowrap;outline:cw-var(--cw-Card-container-outlineColor) solid cw-var(--cw-Card-container-outlineThickness);outline-offset:calc(-1*cw-var(--cw-Card-container-outlineThickness));transition-duration:cw-var(--cw-Motion-spring-effect-fast-duration);transition-property:background-color,box-shadow,color,outline-color;transition-timing-function:cw-var(--cw-Motion-spring-effect-fast-easing)}._cw-Card-pressable{cursor:pointer}.cw-Card-hover{--cw-elevationShadow-level: cw-var(--cw-Card-hover-containerElevation);--cw-interactable-stateLayer-color: cw-var(--cw-Card-hover-stateLayerColor);--cw-interactable-stateLayer-opacity: cw-var(--cw-Card-hover-stateLayerOpacity)}.cw-Card-focus{--cw-elevationShadow-level: cw-var(--cw-Card-focus-containerElevation);--cw-interactable-stateLayer-color: cw-var(--cw-Card-focus-stateLayerColor);--cw-interactable-stateLayer-opacity: cw-var(--cw-Card-focus-stateLayerOpacity);outline-color:cw-var(--cw-Card-focus-containerOutlineColor)}.cw-Card-press{--cw-elevationShadow-level: cw-var(--cw-Card-press-containerElevation);--cw-interactable-ripple-color: cw-var(--cw-Card-press-stateLayerColor);--cw-interactable-ripple-opacity: cw-var(--cw-Card-press-stateLayerOpacity)}.cw-Card-drag{--cw-elevationShadow-level: cw-var(--cw-Card-drag-containerElevation);--cw-interactable-stateLayer-color: cw-var(--cw-Card-drag-stateLayerColor);--cw-interactable-stateLayer-opacity: cw-var(--cw-Card-drag-stateLayerOpacity)}.cw-Card-disabled{--cw-elevationShadow-level: cw-var(--cw-Card-disabled-containerElevation);background-color:cw-scale-opacity(cw-var(--cw-Card-disabled-containerColor),cw-var(--cw-Card-disabled-containerOpacity));color:cw-scale-opacity(cw-var(--cw-Card-content-color),cw-var(--cw-Card-disabled-contentOpacity));cursor:default;outline-color:cw-scale-opacity(cw-var(--cw-Card-disabled-containerOutlineColor),cw-var(--cw-Card-disabled-containerOutlineOpacity));pointer-events:none;user-select:none}}@layer cw-theme{._cw-Card-elevated{@cw-apply-theme elevated,cw-Card;}._cw-Card-outlined{@cw-apply-theme outlined,cw-Card;}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{insert as E}from"solid-js/web";import{DragState as m,FocusState as C,HoverState as v,PressState as g,defineInteractableComponent as S}from"../state";import{deferAfterDelegatedCancellation as a}from"../util";import"./elevation-shadow.css";import"./card.css";const L=C|v|g,u="cw-Card-disabled",i="_cw-Card-pressable",r=new WeakSet;function s(t){return`_cw-Card-${t??"filled"}`}function o(t){return t.matches(":focus")&&t.classList.contains(i)}function b(t){const e=t.currentTarget;t.target===e&&(t.key===" "?a(t,e,()=>{o(e)&&r.add(e)}):t.key==="Enter"&&!t.repeat&&a(t,e,()=>{o(e)&&e.click()}))}function c(t){const e=t.currentTarget;t.key!==" "||!r.delete(e)||t.target!==e||a(t,e,()=>{o(e)&&e.click()})}function p(t){r.delete(t.currentTarget)}function f(t){t.preventDefault(),t.stopImmediatePropagation()}function y(t,e){e?(t.addEventListener("keydown",b),t.addEventListener("keyup",c),t.addEventListener("blur",p)):(t.removeEventListener("keydown",b),t.removeEventListener("keyup",c),t.removeEventListener("blur",p),r.delete(t))}const x=S(()=>(t,e)=><div{...t}aria-disabled={e.disabled?"true":void 0}classList={{...t.classList,[u]:e.disabled,[i]:(e.pressable||e.button)&&!e.disabled,[s(e.design)]:!0,"cw-Card":!0,"cw-elevationShadow":!0}}role={e.button?"button":void 0}tabindex={e.button?e.disabled?void 0:e.tabIndex??0:e.tabIndex}/>,t=>class extends t{constructor(e){super(e,{baseInteractionCssClassName:"cw-Card",styleElementIsFunction:!0})}onEvent(e){this.props.disabled!==!0&&super.onEvent(e)}applyComponentProps(){const e=super.readProps(["button","design","disabled","draggable","pressable","tabIndex"]),n=this.functionElement;if(e.designChanged&&(super.setClass(s(e.designPrevious),!1),super.setClass(s(e.design),!0)),e.disabledChanged&&(super.setAttribute("aria-disabled",e.disabled?"true":void 0),super.setClass(u,e.disabled??!1),e.disabled?n.addEventListener("click",f,!0):n.removeEventListener("click",f,!0)),e.buttonChanged||e.disabledChanged||e.draggableChanged||e.pressableChanged){const d=!e.disabled,l=d&&(e.pressable||e.button)===!0;super.setClass(i,l),super.setAttribute("role",e.button?"button":void 0),super.setEnabledInteractionStates((l?L:0)|(d&&e.draggable?m:0)),y(n,d&&e.button===!0),e.tabIndexChanged=!0}e.tabIndexChanged&&super.setAttribute("tabindex",e.button?e.disabled?void 0:e.tabIndex??0:e.tabIndex)}render(e){const n=<div class="cw-Card cw-elevationShadow"/>;return E(n,e),n}});export{x as Card};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@property --cw-elevationShadow-color{syntax: "<color>"; inherits: false; initial-value: transparent;}@property --cw-elevationShadow-level{syntax: "<number>"; inherits: false; initial-value: 0;}@layer cw-style{:where(.cw-elevationShadow){--cw-elevationShadow-color: cw-var(--cw-Color-shadow);--cw-elevationShadow-level: cw-var(--cw-Elevation-level-1)}.cw-elevationShadow{box-shadow:0 calc((clamp(0,var(--cw-elevationShadow-level),1) + clamp(0,var(--cw-elevationShadow-level) - 3,1) + clamp(0,var(--cw-elevationShadow-level) - 4,1)*2)*1px) calc((clamp(0,var(--cw-elevationShadow-level),1)*2 + clamp(0,var(--cw-elevationShadow-level) - 2,1) + clamp(0,var(--cw-elevationShadow-level) - 4,1))*1px) cw-scale-opacity(var(--cw-elevationShadow-color),calc(clamp(0,var(--cw-elevationShadow-level),1)*.3)),0 calc((clamp(0,var(--cw-elevationShadow-level),2) + clamp(0,var(--cw-elevationShadow-level) - 2,3)*2)*1px) calc((clamp(0,var(--cw-elevationShadow-level),2)*3 + clamp(0,var(--cw-elevationShadow-level) - 2,3)*2)*1px) calc((clamp(0,var(--cw-elevationShadow-level),4) + clamp(0,var(--cw-elevationShadow-level) - 4,1)*2)*1px) cw-scale-opacity(var(--cw-elevationShadow-color),calc(clamp(0,var(--cw-elevationShadow-level),1)*.15))}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./elevation-shadow.css";const o="cw-elevationShadow";export{o as ELEVATION_SHADOW_CSS_CLASS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Card as p}from"./card";import{ELEVATION_SHADOW_CSS_CLASS as e}from"./elevation-shadow";export{p as Card,e as ELEVATION_SHADOW_CSS_CLASS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$PROXY as A,createRenderEffect as m,getOwner as y,onCleanup as K,runWithOwner as L,untrack as P}from"solid-js";import{DelegatedEvents as O,assign as E,delegateEvents as I}from"solid-js/web";import{assertDebug as r,attributeValueOf as S,checkArgument as M,checkBrowser as x,checkState as N,consumeProps as a,isPropReactive as X,setAttribute as d}from"../util";import{elementPropsKeyOfEvent as J}from"./types";const p=Symbol(),u=Symbol(),j="http://www.w3.org/1999/xhtml",T="http://www.w3.org/1998/Math/MathML",R="http://www.w3.org/2000/svg",g=/[\t\n\f\r ]+/;function b(o){const t=[];if(o===void 0)return t;for(const[n,e]of Object.entries(o))typeof n=="string"&&n!==""&&e===!0&&t.push(n);return t}function v(o){return typeof o=="object"&&o!==null&&A in o}function C(o){return typeof o=="object"&&o!==null&&o.nodeType===Node.ELEMENT_NODE}function w(o){return o.namespaceURI===R}function H(o){return o.namespaceURI===j||o.namespaceURI===T||o.namespaceURI===R}function f(o,t,n){if(!g.test(t)){t!==""&&o.toggle(t,n);return}for(const e of t.split(g))e!==""&&o.toggle(e,n)}function U(o){return Object.keys(o).map(t=>t.slice(2).toLowerCase()).filter(t=>O.has(t))}function F(o){const t=this.ownerDocument;t!==document&&I([o.type],t)}function k(o,t,n,e){return Array.isArray(e)&&(e=e[e.length-1]),e===void 0?null:(M(o==="function"&&C(e)||o==="style"&&C(e)&&H(e),"not a valid element"),N(!t||n===null||n===e,`static ${o} element already resolved`),e)}class D{static _create(t,n){const e=a(n,["children"],["controllerRef"]),s=new t(n);y()!==null&&K(()=>s.onControllerCleanup()),s.#x(),e.controllerRef?.(s);const i=s.isFunctionElementStyle()?void 0:c=>s.#p(c),l=s.render("children"in e?e.children:()=>s.props.children,i);if(typeof l!="function")return s.#s|=4,i===void 0&&(s.#s|=2),s.#h(l),s.#d(),l;i===void 0&&(s.#s&=-3);let h=(()=>{const c=y();return()=>{s.#i!==null&&(h=void 0,L(c,()=>s.#d()))}})();return(()=>{const c=l();return s.#h(c),h?.(),c})}props;#u;#s;#i;#e;#t;#o;#n;#c;#r;#f;#a;constructor(t,n){x(),this.props=t,this.#u=null,this.#s=0,this.#i=null,this.#e=null,this.#t=null,this.#o=null,this.#n=null,this.#c=null,this.#r=null,this.#f=null,this.#a=null,n?.styleElementIsFunction&&(this.#s|=1),n?.functionElementIsStatic&&(this.#s|=2)}onControllerCleanup(){}#m(t){const n=this.#u;if(n===null)return u;const e=n.get(t);return e===void 0?u:e===u?void 0:e}#y(t,n){const e=this.#u;n===void 0&&(n=u),e===null?this.#u=new Map([[t,n]]):e.set(t,n)}readProp(t,n){const e=this.#m(t);if(n)return[e===p?this.props[t]:e===u?void 0:e,!1];const s=this.props[t];return e===p||e!==u&&e===s?[s,!1]:(this.#y(t,e===u&&!X(this.props,t)?p:s),[s,!0,e===u?void 0:e])}readProps(t,n){const e={};for(const s of t)[e[s],e[`${s}Changed`],e[`${s}Previous`]]=this.readProp(s,n);return e}consumeProps(t,n){return a(this.props,t,n)}get styleElement(){return this.#i}get functionElement(){return this.#o}#l(t){return(this.#s&t)===t}isFunctionElementStatic(){return this.#l(2)}isStyleElementStatic(){return this.#l(4)}isFunctionElementStyle(){return this.#l(1)}setStyle(t,n){typeof n=="number"&&(n=n.toString());const e=this.#i,s=this.#e;if(e===null){n===void 0?s?.delete(t):s===null?this.#e=new Map([[t,n]]):(r(s instanceof Map),s.set(t,n));return}r(s===null||s instanceof Set),n===void 0?(e.style.removeProperty(t),s?.delete(t)):(this.isStyleElementStatic()?r(this.#e===null):s===null?this.#e=new Set([t]):s.add(t),e.style.setProperty(t,n))}setClass(t,n){const e=this.#i?.classList;let s,i;if(typeof n!="boolean")s=t,i=n,M(s!==i),i===""&&(i=void 0);else if(e===void 0||!this.isStyleElementStatic())s=t,i=n?t:void 0;else{f(e,t,n);return}this.#t===null&&(this.#t=new Map);const l=this.#t.get(s);i!==void 0?(this.#t.set(s,i),e!==void 0&&(l!==void 0&&f(e,l,!1),f(e,i,!0))):l!==void 0&&(this.#t.delete(s),e!==void 0&&f(e,l,!1))}setAttribute(t,n){const e=this.#o,s=this.#n;if(e===null){if(n==null){s?.delete(t);return}s===null?this.#n=new Map([[t,S(t,n)]]):(r(s instanceof Map),s.set(t,S(t,n)));return}r(s===null||s instanceof Set),n==null?(s?.delete(t),e.removeAttribute(t)):(this.isFunctionElementStatic()?r(this.#n===null):s===null?this.#n=new Set([t]):s.add(t),d(e,t,n))}#P(){if(this.#l(16))return;const t=b(this.props.classList),n=new Set(this.#f);for(const e of t)n.delete(e)||this.setClass(e,!0);for(const e of n)this.setClass(e,!1);this.#f=t.length!==0?t:null}#E(){if(this.#l(8))return;const t=this.props.style,n=this.#a,e=new Map;for(const s in t){const i=t[s];i!=null&&e.set(s,i.toString())}for(const s of n?.keys()??[])e.has(s)||this.setStyle(s);for(const[s,i]of e)n?.get(s)!==i&&this.setStyle(s,i);this.#a=e.size!==0?e:null}#S(){this.#E(),this.#P()}#g(){const t=this.#c;if(t!==null)for(const n of t){const[e,s]=this.readProp(n);s&&this.setAttribute(n.slice(5),e)}}applyComponentProps(){}#d(){this.#l(24)||m(t=>(t.#S(),t),this),m(t=>(t.#g(),t.applyComponentProps(),t),this)}onStyleElementChanged(t){r(t!==this.styleElement)}onFunctionElementChanged(t){r(t!==this.functionElement)}#b(){"ref"in this.props&&P(()=>{const{ref:t}=this.isFunctionElementStatic()?a(this.props,[],["ref"]):this.props;typeof t=="function"&&t(this.#o)})}#v(t){const n=this.#r,e=this.#o;if(n===null)return;const s=U(n);if(t!==null){E(t,{},w(t),!0,{...n},!0);for(const i of s)t.removeEventListener(i,F)}if(e!==null){E(e,n,w(e),!0,{},!0);for(const i of s)e.addEventListener(i,F)}this.isFunctionElementStatic()&&(this.#r=null)}#C(t){const n=this.#n;if(n!==null){r(n instanceof Set),this.#n=new Map;for(const e of n)this.#n.set(e,t.getAttribute(e))}}#p(t){const n=this.#o,e=k("function",this.isFunctionElementStatic(),n,t);if(n===e)return;if(r(!this.isFunctionElementStyle()||this.#i===e),this.onFunctionElementChanged(e),this.#o=e,this.#b(),this.#v(n),e===null){this.#C(n);return}const s=this.#n;if(s instanceof Set){r(n!==null);for(const i of s)d(e,i,n.getAttribute(i))}else if(s instanceof Map){r(n===null),this.#n=this.isFunctionElementStatic()?null:new Set(s.keys());for(const[i,l]of s.entries())d(e,i,l)}}#w(t){const n=this.#e;if(n!==null){r(n instanceof Set),this.#e=new Map;for(const e of n)this.#e.set(e,t.style.getPropertyValue(e))}}#h(t){const n=this.#i,e=k("style",this.isStyleElementStatic(),n,t);if(n===e)return;if(this.onStyleElementChanged(e),this.#i=e,this.isFunctionElementStyle()&&this.#p(t),e===null){this.#w(n);return}if(this.#t!==null&&this.#t.size!==0){for(const i of this.#t.values())f(e.classList,i,!0);if(this.isStyleElementStatic()){for(const[i,l]of this.#t.entries())i===l&&this.#t.delete(i);this.#t.size===0&&(this.#t=null)}}const s=this.#e;if(s instanceof Set){r(n!==null);for(const i of s)e.style.setProperty(i,n.style.getPropertyValue(i))}else if(s instanceof Map){r(n===null),this.#e=null;for(const[i,l]of s.entries())this.setStyle(i,l)}}#F(t,n){if(n.length!==0){this.#r={};for(const e of n){const s=J(e);this.#r[s]=t[e]}}}#k(t,n){for(const e of n)e in t&&(n.delete(e),this.setAttribute(e.slice(5),t[e]));n.size!==0&&(this.#c=[...n.values()])}#D(t){const n=[];(t.class??"")!==""&&n.push(t.class),"classList"in t&&!v(t.classList)&&(this.#s|=16,n.push(...b(t.classList))),n.length!==0&&(r(this.#t===null),this.#t=new Map(n.map(e=>[e,e])))}#M(t){if(!("style"in t))return;const n=t.style;if(!v(n)&&(this.#s|=8,n!==void 0)){r(this.#e===null),this.#e=new Map;for(const[e,s]of Object.entries(n))typeof e=="string"&&(typeof s=="string"||typeof s=="number")&&this.#e.set(e,s.toString())}}#x(){const[t,n]=P(()=>{const s=new Set,i=[];for(const l in this.props)l.startsWith("attr:")?s.add(l):l.startsWith("event:")&&i.push(l);return[s,i]}),e=a(this.props,["classList","style",...t.values()],["class",...n.values()]);this.#M(e),this.#D(e),this.#k(e,t),this.#F(e,n)}}function G(o){return x(),D._create.bind(null,o(D))}export{D as DomController,G as defineClientDomComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isServer as r}from"solid-js/web";import{defineClientDomComponent as t}from"./client";import{defineServerDomComponent as m}from"./server";const l=r?o=>m(o):(o,e)=>t(e);export{l as defineDomComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{untrack as u}from"solid-js";import{Properties as P}from"solid-js/web";import{attributeValueOf as l,checkServer as c}from"../util";import{elementPropsKeyOfEvent as d}from"./types";function a(e){if(typeof e=="string")return e.startsWith("attr:")?e.slice(5):e.startsWith("event:")?d(e):["children","class","classList","ref","style"].includes(e)?e:void 0}function D(e,n){const o=typeof n=="boolean"?l(e,n):n;return typeof n!="boolean"?n:o===null?void 0:o===""&&P.has(e)?!0:o}function p(e,n,o){let t=!1,r;Object.defineProperty(e,n,{configurable:!0,enumerable:!0,get(){return t||(r=o(),t=!0),r},set(s){r=s,t=!0}})}function x(e){c();const n=e();return o=>{const t={},r={};for(const s in o){const f=s,i=a(f),m=()=>u(()=>o[f]);i===void 0?p(r,s,m):s.startsWith("attr:")?p(t,i,()=>D(i,m())):p(t,i,m)}return n(t,r)}}export{x as defineServerDomComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n(t){const e=t.slice(6);return`on${e.charAt(0).toUpperCase()}${e.slice(1)}`}export{n as elementPropsKeyOfEvent};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{Show as B,children as S}from"solid-js";import{insert as r}from"solid-js/web";import{defineDomComponent as p}from"..";import{FOCUSABLE_SELECTORS as E}from"./focus";import"./feedback.css";const o="cw-Badge",d="cw-Badge-small",C=E.map(t=>`.cw-BadgedBox-content ${t}`).join(","),x={attributeFilter:["contenteditable","disabled","href","tabindex","type"],attributes:!0,childList:!0,subtree:!0};let v=0;function a(t,e,n){return n||t===void 0?"":typeof t=="number"&&e!==void 0&&e>=0&&t>e?`${e}+`:String(t)}function l(t){return t===void 0?void 0:`_cw-Badge-${t}`}function u(t,e){return{hidden:t===""&&!e?"true":void 0,role:t===""&&e?"img":void 0}}function c(t,e){return t!=null&&`${t}`!=""||e!=null&&`${e}`!=""}const L=p(()=>(t,e)=>{const n=a(e.value,e.max,e.small===!0),s=u(n,c(t["aria-label"],t["aria-labelledby"])),i=l(e.color);return<span aria-hidden={s.hidden}role={s.role}{...t}classList={{...t.classList,...i===void 0?void 0:{[i]:!0},[o]:!0,[d]:n===""}}>
|
|
2
|
+
<span class="cw-Badge-label">{n}</span>
|
|
3
|
+
</span>},t=>class extends t{#e;#n;#t;#s;#i;constructor(e){super(e,{styleElementIsFunction:!0}),this.#e=null,this.#n="attr:aria-hidden"in e,this.#t="attr:role"in e,this.#s=void 0,this.#i=!1}applyComponentProps(){const e=super.readProps(["attr:aria-label","attr:aria-labelledby","color","max","small","value"]),n=a(e.value,e.max,e.small===!0),s=c(e["attr:aria-label"],e["attr:aria-labelledby"]);if(e.colorChanged&&super.setClass("color",l(e.color)),n!==this.#s&&(this.#e!==null&&this.#e.textContent!==n&&(this.#e.textContent=n),super.setClass(d,n==="")),n!==this.#s||s!==this.#i){const i=u(n,s);this.#n||super.setAttribute("aria-hidden",i.hidden),this.#t||super.setAttribute("role",i.role)}this.#s=n,this.#i=s}render(){const e=<span class={o}>
|
|
4
|
+
<span class="cw-Badge-label"/>
|
|
5
|
+
</span>;return this.#e=e.firstElementChild,e}});function m(t){return<B when={t.value!==void 0||t.small===!0}>
|
|
6
|
+
<L color={t.color}max={t.max}small={t.small}value={t.value}/>
|
|
7
|
+
</B>}const D=p(()=>(t,e)=><span{...t}classList={{...t.classList,"cw-BadgedBox":!0}}>
|
|
8
|
+
<span class="cw-BadgedBox-content">{t.children}</span>
|
|
9
|
+
<span class="cw-BadgedBox-badge">
|
|
10
|
+
{"badge"in e?e.badge:m(e)}
|
|
11
|
+
</span>
|
|
12
|
+
</span>,t=>class extends t{#e;#n;#t;constructor(e){super(e,{styleElementIsFunction:!0}),this.#e=`cw-BadgedBox-badge-${v++}`,this.#n=null,this.#t=void 0}onStyleElementChanged(e){super.onStyleElementChanged(e),this.#i(),this.#r(null),e!==null&&(e.ownerDocument.defaultView?.queueMicrotask??queueMicrotask)(()=>{this.styleElement===e&&this.#s(e)})}onControllerCleanup(){this.#i(),this.#r(null),super.onControllerCleanup()}#s(e){const n=e.ownerDocument.defaultView,s=()=>{this.#r(e.querySelector(C))};s(),n!==null&&(this.#t=new n.MutationObserver(s),this.#t.observe(e.firstElementChild,x))}#i(){this.#t?.disconnect(),this.#t=void 0}#r(e){const n=this.#n;if(n!==e){if(n!==null){const s=(n.getAttribute("aria-describedby")??"").split(/\s+/u).filter(i=>i!==""&&i!==this.#e);s.length===0?n.removeAttribute("aria-describedby"):n.setAttribute("aria-describedby",s.join(" "))}if(this.#n=e,e!==null){const s=(e.getAttribute("aria-describedby")??"").split(/\s+/u).filter(i=>i!=="");e.setAttribute("aria-describedby",[...s,this.#e].join(" "))}}}render(e){const n=<span class="cw-BadgedBox">
|
|
13
|
+
<span class="cw-BadgedBox-content"/>
|
|
14
|
+
<span class="cw-BadgedBox-badge"/>
|
|
15
|
+
</span>,s=n.lastElementChild;return r(n.firstElementChild,e),s.id=this.#e,r(s,"badge"in this.props?S(()=>this.props.badge):m(this.props)),n}});export{L as Badge,D as BadgedBox};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@cw-attribute-roles cw-Feedback;@property --cw-Progress-value{syntax: "<number>"; inherits: true; initial-value: 0;}@property --_cw-Progress-firstHead{syntax: "<number>"; inherits: true; initial-value: 0;}@property --_cw-Progress-firstTail{syntax: "<number>"; inherits: true; initial-value: 0;}@property --_cw-Progress-secondHead{syntax: "<number>"; inherits: true; initial-value: 0;}@property --_cw-Progress-secondTail{syntax: "<number>"; inherits: true; initial-value: 0;}@property --_cw-Progress-additionalRotation{syntax: "<angle>"; inherits: true; initial-value: 0deg;}@property --_cw-Progress-sweep{syntax: "<number>"; inherits: true; initial-value: .1;}@property --_cw-LinearWavyProgressIndicator-phase{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --_cw-CircularWavyProgressIndicator-phase{syntax: "<number>"; inherits: true; initial-value: 0;}@layer cw-style{.cw-Badge{-cw-typescale:--cw-Typescale-label-small;align-items:center;background-color:cw-var(--cw-Feedback-badge-containerColor);border-radius:cw-var(--cw-Feedback-badge-shape);box-sizing:border-box;color:cw-var(--cw-Feedback-badge-labelColor);display:inline-flex;justify-content:center;min-block-size:cw-var(--cw-Feedback-badge-largeSize);min-inline-size:cw-var(--cw-Feedback-badge-largeSize);padding-inline:cw-var(--cw-Feedback-badge-horizontalPadding);vertical-align:middle;white-space:nowrap}.cw-Badge-small{block-size:cw-var(--cw-Feedback-badge-size);inline-size:cw-var(--cw-Feedback-badge-size);min-block-size:0;min-inline-size:0;padding:0}.cw-Badge-small>.cw-Badge-label{display:none}.cw-BadgedBox{display:inline-grid;position:relative}.cw-BadgedBox-content{grid-area:1 / 1}.cw-BadgedBox-badge{display:flex;inset-block-end:calc(100% - cw-var(--cw-Feedback-badge-largeVerticalOffset));inset-inline-start:calc(100% - cw-var(--cw-Feedback-badge-largeHorizontalOffset));position:absolute;z-index:1}.cw-BadgedBox-badge:has(>.cw-Badge-small){inset-block-end:auto;inset-block-start:0;inset-inline-start:calc(100% - cw-var(--cw-Feedback-badge-offset))}.cw-BadgedBox-badge:empty{display:none}.cw-Progress{--_cw-Progress-radius: calc(var(--_cw-Progress-thickness) / 2);--_cw-Progress-step: 1000000;box-sizing:border-box;color:cw-var(--cw-Feedback-progress-indicatorColor);position:relative;transition-duration:cw-var(--cw-Feedback-progress-motion-duration);transition-property:--cw-Progress-value;transition-timing-function:cw-var(--cw-Feedback-progress-motion-easing)}.cw-LinearProgressIndicator,.cw-LinearWavyProgressIndicator{--_cw-Progress-stopSize: min( cw-var(--cw-Feedback-progress-stopSize), var(--_cw-Progress-thickness) );--_cw-Progress-x: calc(var(--cw-Progress-value) * 100%);block-size:var(--_cw-Progress-thickness);display:block;inline-size:cw-var(--cw-Feedback-progress-width)}.cw-LinearWavyProgressIndicator{block-size:calc(var(--_cw-Progress-thickness) + 2 * var(--_cw-LinearWavyProgressIndicator-amplitude));container-type:inline-size}.cw-Progress-track{inset:0;position:absolute}.cw-Progress:dir(rtl)>.cw-Progress-track{scale:-1 1}._cw-Progress-trackStart,._cw-Progress-trackMiddle,._cw-Progress-trackEnd,.cw-LinearProgressIndicator-indicator,.cw-LinearProgressIndicator-secondaryIndicator{block-size:var(--_cw-Progress-thickness);inset-block-start:calc(50% - var(--_cw-Progress-radius));inset-inline:0;position:absolute}._cw-Progress-trackStart,._cw-Progress-trackMiddle,._cw-Progress-trackEnd{background-color:cw-var(--cw-Feedback-progress-trackColor)}.cw-LinearProgressIndicator-indicator,.cw-LinearProgressIndicator-secondaryIndicator{background-color:currentcolor}.cw-Progress-determinate .cw-LinearProgressIndicator-indicator{clip-path:inset(0 max(0px,calc(100% - var(--_cw-Progress-x) - min(var(--_cw-Progress-x),var(--_cw-Progress-radius)))) 0 0 round var(--_cw-Progress-radius));opacity:clamp(0,var(--cw-Progress-value) * var(--_cw-Progress-step),1)}.cw-Progress-determinate ._cw-Progress-trackEnd{clip-path:inset(0 0 0 max(0px,calc(var(--_cw-Progress-x) - var(--_cw-Progress-radius) + min(var(--_cw-Progress-x),var(--_cw-Progress-gap) + var(--_cw-Progress-thickness)))) round var(--_cw-Progress-radius))}.cw-Progress-determinate ._cw-Progress-trackStart,.cw-Progress-determinate ._cw-Progress-trackMiddle,.cw-Progress-determinate .cw-LinearProgressIndicator-secondaryIndicator{display:none}.cw-Progress-indeterminate{--_cw-Progress-firstCap: min(var(--_cw-Progress-radius), var(--_cw-Progress-firstLength));--_cw-Progress-firstGap: min(var(--_cw-Progress-gap), var(--_cw-Progress-firstLength));--_cw-Progress-firstLength: calc( (var(--_cw-Progress-firstHead) - var(--_cw-Progress-firstTail)) * 100% );--_cw-Progress-secondCap: min(var(--_cw-Progress-radius), var(--_cw-Progress-secondLength));--_cw-Progress-secondGap: min(var(--_cw-Progress-gap), var(--_cw-Progress-secondLength));--_cw-Progress-secondLength: calc( (var(--_cw-Progress-secondHead) - var(--_cw-Progress-secondTail)) * 100% )}.cw-LinearProgressIndicator.cw-Progress-indeterminate,.cw-LinearWavyProgressIndicator.cw-Progress-indeterminate{animation:_cw-Progress-firstHead 1.75s infinite,_cw-Progress-firstTail 1.75s infinite,_cw-Progress-secondHead 1.75s infinite,_cw-Progress-secondTail 1.75s infinite}.cw-Progress-indeterminate .cw-LinearProgressIndicator-indicator{clip-path:inset(0 max(0px,calc((1 - var(--_cw-Progress-firstHead)) * 100% - var(--_cw-Progress-firstCap))) 0 max(0px,calc(var(--_cw-Progress-firstTail) * 100% - var(--_cw-Progress-firstCap))) round var(--_cw-Progress-radius))}.cw-Progress-indeterminate .cw-LinearProgressIndicator-secondaryIndicator{clip-path:inset(0 max(0px,calc((1 - var(--_cw-Progress-secondHead)) * 100% - var(--_cw-Progress-secondCap))) 0 max(0px,calc(var(--_cw-Progress-secondTail) * 100% - var(--_cw-Progress-secondCap))) round var(--_cw-Progress-radius))}.cw-Progress-indeterminate ._cw-Progress-trackStart{clip-path:inset(0 max(0px,calc((1 - var(--_cw-Progress-secondTail)) * 100% + var(--_cw-Progress-secondCap) + var(--_cw-Progress-secondGap))) 0 0 round var(--_cw-Progress-radius))}.cw-Progress-indeterminate ._cw-Progress-trackMiddle{clip-path:inset(0 max(0px,calc((1 - var(--_cw-Progress-firstTail)) * 100% + var(--_cw-Progress-firstCap) + var(--_cw-Progress-firstGap))) 0 max(0px,calc(var(--_cw-Progress-secondHead) * 100% + var(--_cw-Progress-secondCap) + var(--_cw-Progress-secondGap))) round var(--_cw-Progress-radius))}.cw-Progress-indeterminate ._cw-Progress-trackEnd{clip-path:inset(0 0 0 max(0px,calc(var(--_cw-Progress-firstHead) * 100% + var(--_cw-Progress-firstCap) + var(--_cw-Progress-firstGap))) round var(--_cw-Progress-radius))}.cw-Progress-stopIndicator{aspect-ratio:1;background-color:currentcolor;border-radius:50%;inline-size:var(--_cw-Progress-stopSize);inset-block-start:50%;position:absolute;right:min(calc((var(--_cw-Progress-thickness) - var(--_cw-Progress-stopSize)) / 2),cw-var(--cw-Feedback-progress-stopTrailingSpace));translate:0 -50%}.cw-LinearWavyProgressIndicator .cw-Progress-stopIndicator{--_cw-Progress-stopOffset: min( calc(var(--_cw-Progress-thickness) / 4), calc( (var(--_cw-Progress-thickness) - var(--_cw-Progress-stopSize)) * var(--_cw-Progress-step) ) );inline-size:clamp(0px,calc(100% - var(--_cw-Progress-stopOffset) - var(--_cw-Progress-x) - var(--_cw-Progress-radius)),var(--_cw-Progress-stopSize));right:var(--_cw-Progress-stopOffset)}.cw-Progress-indeterminate .cw-Progress-stopIndicator{display:none}.cw-LinearWavyProgressIndicator-wave{--_cw-LinearWavyProgressIndicator-width: 100cqi;animation:_cw-LinearWavyProgressIndicator-phase var(--_cw-Progress-phaseDuration, 0s) linear infinite paused;block-size:100%;display:block;inline-size:100%;inset:0;overflow:visible;position:absolute}.cw-LinearWavyProgressIndicator-indicator,.cw-LinearWavyProgressIndicator-secondaryIndicator{--_cw-LinearWavyProgressIndicator-extent: calc( var(--_cw-LinearWavyProgressIndicator-width) + 2 * var(--_cw-LinearWavyProgressIndicator-wavelength) );fill:none;stroke:currentcolor;stroke-linecap:round;stroke-width:var(--_cw-Progress-thickness);transition-duration:cw-var(--cw-Motion-transition-duration-long-2);transition-property:d;transition-timing-function:cw-var(--cw-Motion-transition-easing-standard-uniform);translate:calc(-1 * var(--_cw-LinearWavyProgressIndicator-phase)) 0}._cw-Progress-flattening .cw-LinearWavyProgressIndicator-indicator,._cw-Progress-flattening .cw-LinearWavyProgressIndicator-secondaryIndicator,._cw-Progress-flattening .cw-CircularWavyProgressIndicator-indicator{transition-timing-function:cw-var(--cw-Motion-transition-easing-emphasized-accelerate)}.cw-Progress-determinate .cw-LinearWavyProgressIndicator-indicator{--_cw-LinearWavyProgressIndicator-head: min( calc(var(--cw-Progress-value) * var(--_cw-LinearWavyProgressIndicator-width)), calc(var(--_cw-LinearWavyProgressIndicator-width) - var(--_cw-Progress-radius)) );opacity:clamp(0,var(--cw-Progress-value) * var(--_cw-Progress-step),1);stroke-dasharray:max(0px,calc(var(--_cw-LinearWavyProgressIndicator-head) - var(--_cw-Progress-radius))) var(--_cw-LinearWavyProgressIndicator-extent);stroke-dashoffset:calc(-1 * (var(--_cw-Progress-radius) + var(--_cw-LinearWavyProgressIndicator-phase)))}.cw-Progress-determinate .cw-LinearWavyProgressIndicator-secondaryIndicator{display:none}.cw-Progress-indeterminate .cw-LinearWavyProgressIndicator-indicator{--_cw-LinearWavyProgressIndicator-head: min( calc(var(--_cw-Progress-firstHead) * var(--_cw-LinearWavyProgressIndicator-width)), calc(var(--_cw-LinearWavyProgressIndicator-width) - var(--_cw-Progress-radius)) );--_cw-LinearWavyProgressIndicator-tail: max( calc(var(--_cw-Progress-firstTail) * var(--_cw-LinearWavyProgressIndicator-width)), var(--_cw-Progress-radius) );opacity:clamp(0,(var(--_cw-Progress-firstHead) - var(--_cw-Progress-firstTail)) * var(--_cw-Progress-step),1)}.cw-Progress-indeterminate .cw-LinearWavyProgressIndicator-secondaryIndicator{--_cw-LinearWavyProgressIndicator-head: min( calc(var(--_cw-Progress-secondHead) * var(--_cw-LinearWavyProgressIndicator-width)), calc(var(--_cw-LinearWavyProgressIndicator-width) - var(--_cw-Progress-radius)) );--_cw-LinearWavyProgressIndicator-tail: max( calc(var(--_cw-Progress-secondTail) * var(--_cw-LinearWavyProgressIndicator-width)), var(--_cw-Progress-radius) );opacity:clamp(0,(var(--_cw-Progress-secondHead) - var(--_cw-Progress-secondTail)) * var(--_cw-Progress-step),1)}.cw-Progress-indeterminate .cw-LinearWavyProgressIndicator-indicator,.cw-Progress-indeterminate .cw-LinearWavyProgressIndicator-secondaryIndicator{stroke-dasharray:max(0px,calc(var(--_cw-LinearWavyProgressIndicator-head) - var(--_cw-LinearWavyProgressIndicator-tail))) var(--_cw-LinearWavyProgressIndicator-extent);stroke-dashoffset:calc(-1 * (var(--_cw-LinearWavyProgressIndicator-tail) + var(--_cw-LinearWavyProgressIndicator-phase)))}.cw-CircularProgressIndicator,.cw-CircularWavyProgressIndicator{block-size:var(--_cw-Progress-size);display:inline-block;inline-size:var(--_cw-Progress-size);vertical-align:middle}.cw-CircularProgressIndicator>svg,.cw-CircularWavyProgressIndicator>svg{block-size:100%;display:block;inline-size:100%;overflow:visible}.cw-Progress-indeterminate>svg{animation:_cw-Progress-globalRotation 6s infinite linear;rotate:90deg}._cw-Progress-rotation{rotate:var(--_cw-Progress-additionalRotation);transform-box:view-box;transform-origin:50% 50%}.cw-CircularProgressIndicator-track,.cw-CircularProgressIndicator-indicator,.cw-CircularWavyProgressIndicator-track,.cw-CircularWavyProgressIndicator-indicator{fill:none;stroke-linecap:round;stroke-width:var(--_cw-Progress-strokeWidth)}.cw-CircularProgressIndicator-track,.cw-CircularWavyProgressIndicator-track{stroke:cw-var(--cw-Feedback-progress-trackColor)}.cw-CircularProgressIndicator-indicator,.cw-CircularWavyProgressIndicator-indicator{stroke:currentcolor}.cw-Progress-determinate{--_cw-Progress-arc: var(--cw-Progress-value)}.cw-Progress-indeterminate{--_cw-Progress-arc: var(--_cw-Progress-sweep)}.cw-CircularProgressIndicator-indicator,.cw-CircularWavyProgressIndicator-indicator{opacity:clamp(0,var(--_cw-Progress-arc) * var(--_cw-Progress-step),1);stroke-dasharray:calc(var(--_cw-Progress-arc) * 1px) 2px}.cw-CircularProgressIndicator-track,.cw-CircularWavyProgressIndicator-track{--_cw-Progress-trackGap: min(var(--_cw-Progress-arc), var(--_cw-Progress-circularGap));stroke-dasharray:max(0px,calc((1 - var(--_cw-Progress-arc) - 2 * var(--_cw-Progress-trackGap)) * 1px)) 2px;stroke-dashoffset:calc(-1px * (var(--_cw-Progress-arc) + var(--_cw-Progress-trackGap)))}.cw-Progress-indeterminate .cw-CircularProgressIndicator-track{display:none}.cw-CircularWavyProgressIndicator-indicator{animation:_cw-CircularWavyProgressIndicator-phase var(--_cw-Progress-phaseDuration, 0s) linear infinite paused;rotate:calc(var(--_cw-CircularWavyProgressIndicator-phase) * -360deg);stroke-dashoffset:calc(var(--_cw-CircularWavyProgressIndicator-phase) * -1px);transform-box:view-box;transform-origin:50% 50%;transition-duration:cw-var(--cw-Motion-transition-duration-long-2);transition-property:d;transition-timing-function:cw-var(--cw-Motion-transition-easing-standard-uniform)}.cw-CircularProgressIndicator.cw-Progress-indeterminate,.cw-CircularWavyProgressIndicator.cw-Progress-indeterminate{animation:_cw-Progress-additionalRotation 6s infinite,_cw-Progress-sweep 6s infinite}._cw-Progress-waving .cw-LinearWavyProgressIndicator-wave,._cw-Progress-waving .cw-CircularWavyProgressIndicator-indicator{animation-play-state:running}.cw-Progress._cw-Progress-paused,.cw-Progress._cw-Progress-paused>svg,.cw-Progress._cw-Progress-paused .cw-LinearWavyProgressIndicator-wave,.cw-Progress._cw-Progress-paused .cw-CircularWavyProgressIndicator-indicator{animation-play-state:paused}.cw-LoadingIndicator{align-items:center;block-size:cw-var(--cw-Feedback-loading-size);box-sizing:border-box;color:cw-var(--cw-Feedback-loading-color);display:inline-flex;inline-size:cw-var(--cw-Feedback-loading-size);justify-content:center;position:relative;vertical-align:middle}.cw-ContainedLoadingIndicator{--_cw-ContainedLoadingIndicator-containerColor: cw-var( --cw-Feedback-loading-containerColor );--_cw-ContainedLoadingIndicator-containerShape: cw-var( --cw-Feedback-loading-containerShape );background-color:var(--_cw-ContainedLoadingIndicator-containerColor);border-radius:var(--_cw-ContainedLoadingIndicator-containerShape);color:cw-var(--cw-Feedback-loading-containedColor)}.cw-LoadingIndicator>svg{block-size:100%;display:block;inline-size:100%;overflow:visible}._cw-LoadingIndicator-rotation{transform-box:view-box;transform-origin:50% 50%}.cw-LoadingIndicator-shape{fill:currentcolor}.cw-SnackbarHost{inset-block-end:12px;inset-inline:12px;pointer-events:none;position:fixed;z-index:10}._cw-SnackbarHost-top{inset-block-end:auto;inset-block-start:12px}.cw-SnackbarHost-content{display:grid;justify-items:center}._cw-SnackbarHost-bottom-start>.cw-SnackbarHost-content{justify-items:start}._cw-SnackbarHost-bottom-end>.cw-SnackbarHost-content{justify-items:end}.cw-SnackbarHost-content>.cw-Snackbar{grid-area:1 / 1;pointer-events:auto}.cw-Snackbar{align-items:center;background-color:cw-var(--cw-Feedback-snackbar-containerColor);border-radius:cw-var(--cw-Feedback-snackbar-shape);box-sizing:border-box;color:cw-var(--cw-Feedback-snackbar-labelColor);display:flex;inline-size:100%;max-inline-size:cw-var(--cw-Feedback-snackbar-maxWidth);min-block-size:cw-var(--cw-Feedback-snackbar-height);opacity:1;padding-inline:16px 8px;scale:1;transition-duration:cw-var(--cw-Motion-spring-effect-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration);transition-property:opacity,scale;transition-timing-function:cw-var(--cw-Motion-spring-effect-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing)}.cw-Snackbar[hidden]{display:none;opacity:0;scale:.8}.cw-Snackbar[hidden]._cw-Snackbar-closing{display:flex}@starting-style{.cw-Snackbar{opacity:0;scale:.8}}.cw-Snackbar:has(>.cw-Snackbar-actions>.cw-Snackbar-dismiss){padding-inline-end:0}.cw-Snackbar-message{-cw-typescale:--cw-Typescale-body-medium;flex:1 1 auto;min-inline-size:0;padding-block:14px;padding-inline-end:8px}.cw-Snackbar:has(>.cw-Snackbar-actions>.cw-Snackbar-dismiss)>.cw-Snackbar-message{padding-inline-end:0}.cw-Snackbar-actions{align-items:center;display:flex;flex:none}.cw-Snackbar-actions:not(:has(>*)){display:none}._cw-Snackbar-actionOnNewLine{align-items:stretch;flex-direction:column;padding-inline-end:0}._cw-Snackbar-actionOnNewLine>.cw-Snackbar-message{padding-inline-end:16px}._cw-Snackbar-actionOnNewLine>.cw-Snackbar-actions{align-self:flex-end;padding-block-end:4px;padding-inline-end:8px}._cw-Snackbar-actionOnNewLine>.cw-Snackbar-actions:has(>.cw-Snackbar-dismiss){padding-inline-end:0}._cw-Snackbar-announcer{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:fixed;white-space:nowrap}.cw-PlainTooltip,.cw-RichTooltip{display:inline-block;position:relative}.cw-PlainTooltip-trigger,.cw-RichTooltip-trigger{display:inline-block;outline:none}.cw-PlainTooltip-trigger:focus-visible,.cw-RichTooltip-trigger:focus-visible{outline-color:cw-var(--cw-Color-secondary-fill);outline-offset:cw-var(--cw-State-focusIndicator-outerOffset);outline-style:solid;outline-width:cw-var(--cw-State-focusIndicator-thickness)}.cw-PlainTooltip-popup,.cw-RichTooltip-popup{-cw-typescale:--cw-Typescale-body-small;background-color:cw-var(--cw-Feedback-tooltip-containerColor);border:0;border-radius:cw-var(--cw-Feedback-tooltip-shape);box-sizing:border-box;color:cw-var(--cw-Feedback-tooltip-labelColor);inline-size:max-content;inset:auto;margin:0;max-inline-size:min(cw-var(--cw-Feedback-tooltip-maxWidth),calc(100vw - 16px));min-block-size:cw-var(--cw-Feedback-tooltip-minHeight);min-inline-size:cw-var(--cw-Feedback-tooltip-minWidth);opacity:1;overflow:visible;overflow-wrap:anywhere;padding:4px 8px;position:fixed;scale:1;text-align:start;transition-duration:cw-var(--cw-Motion-spring-effect-fast-duration),cw-var(--cw-Motion-spring-spatial-fast-duration);transition-property:opacity,scale;transition-timing-function:cw-var(--cw-Motion-spring-effect-fast-easing),cw-var(--cw-Motion-spring-spatial-fast-easing)}.cw-PlainTooltip-popup[hidden],.cw-RichTooltip-popup[hidden]{display:none;opacity:0;pointer-events:none;scale:.8}.cw-PlainTooltip-popup[hidden]._cw-Tooltip-closing{display:block}.cw-RichTooltip-popup[hidden]._cw-Tooltip-closing{display:grid}@starting-style{.cw-PlainTooltip-popup:popover-open,.cw-RichTooltip-popup:popover-open{opacity:0;scale:.8}}._cw-Tooltip-caret:after{background-color:inherit;block-size:cw-var(--cw-Feedback-tooltip-caretHeight);clip-path:polygon(0 0,100% 0,50% 100%);content:"";inline-size:cw-var(--cw-Feedback-tooltip-caretWidth);left:calc(var(--_cw-Tooltip-caretOffset) - cw-var(--cw-Feedback-tooltip-caretWidth) / 2);position:absolute;top:100%}._cw-Tooltip-caret[data-placement=bottom]:after{bottom:100%;clip-path:polygon(50% 0,100% 100%,0 100%);top:auto}._cw-Tooltip-caret[data-placement=left]:after,._cw-Tooltip-caret[data-placement=right]:after{block-size:cw-var(--cw-Feedback-tooltip-caretWidth);inline-size:cw-var(--cw-Feedback-tooltip-caretHeight);top:calc(var(--_cw-Tooltip-caretOffset) - cw-var(--cw-Feedback-tooltip-caretWidth) / 2)}._cw-Tooltip-caret[data-placement=left]:after{clip-path:polygon(0 0,100% 50%,0 100%);left:100%}._cw-Tooltip-caret[data-placement=right]:after{clip-path:polygon(100% 0,100% 100%,0 50%);left:auto;right:100%}.cw-RichTooltip-popup{-cw-typescale:--cw-Typescale-body-medium;display:grid;padding:0 16px}.cw-RichTooltip-title{-cw-typescale:--cw-Typescale-title-small;color:cw-var(--cw-Feedback-tooltip-subheadColor);padding-block-start:13px}.cw-RichTooltip-title:empty{display:none}.cw-RichTooltip-supportingText{padding-block:4px}.cw-RichTooltip-popup:has(>.cw-RichTooltip-title:not(:empty))>.cw-RichTooltip-supportingText,.cw-RichTooltip-popup:has(>.cw-RichTooltip-action)>.cw-RichTooltip-supportingText{padding-block:9px 16px}.cw-RichTooltip-action{align-items:center;display:flex;min-block-size:36px;padding-block-end:8px}}@layer cw-theme{.cw-Badge{--cw-Feedback-badge-containerColor: cw-var(--cw-Feedback-badge-containerColor, default);--cw-Feedback-badge-horizontalPadding: cw-var( --cw-Feedback-badge-horizontalPadding, default );--cw-Feedback-badge-labelColor: cw-var(--cw-Feedback-badge-labelColor, default);--cw-Feedback-badge-largeSize: cw-var(--cw-Feedback-badge-largeSize, default);--cw-Feedback-badge-shape: cw-var(--cw-Feedback-badge-shape, default);--cw-Feedback-badge-size: cw-var(--cw-Feedback-badge-size, default)}.cw-BadgedBox-badge{--cw-Feedback-badge-largeHorizontalOffset: cw-var( --cw-Feedback-badge-largeHorizontalOffset, default );--cw-Feedback-badge-largeVerticalOffset: cw-var( --cw-Feedback-badge-largeVerticalOffset, default );--cw-Feedback-badge-offset: cw-var(--cw-Feedback-badge-offset, default)}.cw-Progress{--cw-Feedback-progress-indicatorColor: cw-var( --cw-Feedback-progress-indicatorColor, default );--cw-Feedback-progress-motion-duration: cw-var( --cw-Feedback-progress-motion-duration, default );--cw-Feedback-progress-motion-easing: cw-var(--cw-Feedback-progress-motion-easing, default);--cw-Feedback-progress-stopSize: cw-var(--cw-Feedback-progress-stopSize, default);--cw-Feedback-progress-stopTrailingSpace: cw-var( --cw-Feedback-progress-stopTrailingSpace, default );--cw-Feedback-progress-width: cw-var(--cw-Feedback-progress-width, default)}._cw-Progress-trackStart,._cw-Progress-trackMiddle,._cw-Progress-trackEnd,.cw-CircularProgressIndicator-track,.cw-CircularWavyProgressIndicator-track{--cw-Feedback-progress-trackColor: cw-var(--cw-Feedback-progress-trackColor, default)}.cw-LoadingIndicator{--cw-Feedback-loading-color: cw-var(--cw-Feedback-loading-color, default);--cw-Feedback-loading-size: cw-var(--cw-Feedback-loading-size, default)}.cw-ContainedLoadingIndicator{--cw-Feedback-loading-containedColor: cw-var(--cw-Feedback-loading-containedColor, default);--cw-Feedback-loading-containerColor: cw-var(--cw-Feedback-loading-containerColor, default);--cw-Feedback-loading-containerShape: cw-var(--cw-Feedback-loading-containerShape, default)}.cw-Snackbar{--cw-Feedback-snackbar-containerColor: cw-var( --cw-Feedback-snackbar-containerColor, default );--cw-Feedback-snackbar-elevation: cw-var(--cw-Feedback-snackbar-elevation, default);--cw-Feedback-snackbar-height: cw-var(--cw-Feedback-snackbar-height, default);--cw-Feedback-snackbar-labelColor: cw-var(--cw-Feedback-snackbar-labelColor, default);--cw-Feedback-snackbar-maxWidth: cw-var(--cw-Feedback-snackbar-maxWidth, default);--cw-Feedback-snackbar-shape: cw-var(--cw-Feedback-snackbar-shape, default);--cw-elevationShadow-level: cw-var(--cw-Feedback-snackbar-elevation)}.cw-Snackbar .cw-Snackbar-action{--cw-Action-label-color: cw-var(--cw-Feedback-snackbar-actionColor, default);--cw-Action-stateLayer-color: cw-var(--cw-Feedback-snackbar-actionColor, default)}.cw-Snackbar .cw-Snackbar-dismiss{--cw-Action-icon-color: cw-var(--cw-Feedback-snackbar-iconColor, default);--cw-Action-stateLayer-color: cw-var(--cw-Feedback-snackbar-iconColor, default)}.cw-PlainTooltip-popup,.cw-RichTooltip-popup{--cw-Feedback-tooltip-caretHeight: cw-var(--cw-Feedback-tooltip-caretHeight, default);--cw-Feedback-tooltip-caretWidth: cw-var(--cw-Feedback-tooltip-caretWidth, default);--cw-Feedback-tooltip-containerColor: cw-var( --cw-Feedback-tooltip-containerColor, default );--cw-Feedback-tooltip-elevation: cw-var(--cw-Feedback-tooltip-elevation, default);--cw-Feedback-tooltip-labelColor: cw-var(--cw-Feedback-tooltip-labelColor, default);--cw-Feedback-tooltip-maxWidth: cw-var(--cw-Feedback-tooltip-maxWidth, default);--cw-Feedback-tooltip-minHeight: cw-var(--cw-Feedback-tooltip-minHeight, default);--cw-Feedback-tooltip-minWidth: cw-var(--cw-Feedback-tooltip-minWidth, default);--cw-Feedback-tooltip-shape: cw-var(--cw-Feedback-tooltip-shape, default);--cw-elevationShadow-level: cw-var(--cw-Feedback-tooltip-elevation)}.cw-RichTooltip-popup{@cw-apply-theme richTooltip,cw-Feedback;}.cw-RichTooltip-title{--cw-Feedback-tooltip-subheadColor: cw-var(--cw-Feedback-tooltip-subheadColor, default)}.cw-RichTooltip-popup .cw-RichTooltip-action>*{--cw-Action-label-color: cw-var(--cw-Feedback-tooltip-actionColor, default);--cw-Action-stateLayer-color: cw-var(--cw-Feedback-tooltip-actionColor, default)}._cw-Badge-error{--cw-Feedback-badge-containerColor: cw-var(--cw-Color-error-fill);--cw-Feedback-badge-labelColor: cw-var(--cw-Color-error-onFill)}._cw-Badge-primary{--cw-Feedback-badge-containerColor: cw-var(--cw-Color-primary-fill);--cw-Feedback-badge-labelColor: cw-var(--cw-Color-primary-onFill)}._cw-Badge-secondary{--cw-Feedback-badge-containerColor: cw-var(--cw-Color-secondary-fill);--cw-Feedback-badge-labelColor: cw-var(--cw-Color-secondary-onFill)}._cw-Badge-surface{--cw-Feedback-badge-containerColor: cw-var(--cw-Color-surface-container);--cw-Feedback-badge-labelColor: cw-var(--cw-Color-surface-onFill)}._cw-Badge-tertiary{--cw-Feedback-badge-containerColor: cw-var(--cw-Color-tertiary-fill);--cw-Feedback-badge-labelColor: cw-var(--cw-Color-tertiary-onFill)}._cw-Progress-error{--cw-Feedback-progress-indicatorColor: cw-var(--cw-Color-error-fill)}._cw-Progress-primary{--cw-Feedback-progress-indicatorColor: cw-var(--cw-Color-primary-fill)}._cw-Progress-secondary{--cw-Feedback-progress-indicatorColor: cw-var(--cw-Color-secondary-fill)}._cw-Progress-surface{--cw-Feedback-progress-indicatorColor: cw-var(--cw-Color-surface-onFill)}._cw-Progress-tertiary{--cw-Feedback-progress-indicatorColor: cw-var(--cw-Color-tertiary-fill)}._cw-ContainedLoadingIndicator-error{--cw-Feedback-loading-containedColor: cw-var(--cw-Color-error-onContainer);--cw-Feedback-loading-containerColor: cw-var(--cw-Color-error-container)}._cw-ContainedLoadingIndicator-primary{--cw-Feedback-loading-containedColor: cw-var(--cw-Color-primary-onContainer);--cw-Feedback-loading-containerColor: cw-var(--cw-Color-primary-container)}._cw-ContainedLoadingIndicator-secondary{--cw-Feedback-loading-containedColor: cw-var(--cw-Color-secondary-onContainer);--cw-Feedback-loading-containerColor: cw-var(--cw-Color-secondary-container)}._cw-ContainedLoadingIndicator-surface{--cw-Feedback-loading-containedColor: cw-var(--cw-Color-surface-onFill);--cw-Feedback-loading-containerColor: cw-var(--cw-Color-surface-container)}._cw-ContainedLoadingIndicator-tertiary{--cw-Feedback-loading-containedColor: cw-var(--cw-Color-tertiary-onContainer);--cw-Feedback-loading-containerColor: cw-var(--cw-Color-tertiary-container)}._cw-LoadingIndicator-error{--cw-Feedback-loading-color: cw-var(--cw-Color-error-fill);--cw-Feedback-loading-containedColor: cw-var(--cw-Color-error-fill)}._cw-LoadingIndicator-primary{--cw-Feedback-loading-color: cw-var(--cw-Color-primary-fill);--cw-Feedback-loading-containedColor: cw-var(--cw-Color-primary-fill)}._cw-LoadingIndicator-secondary{--cw-Feedback-loading-color: cw-var(--cw-Color-secondary-fill);--cw-Feedback-loading-containedColor: cw-var(--cw-Color-secondary-fill)}._cw-LoadingIndicator-surface{--cw-Feedback-loading-color: cw-var(--cw-Color-surface-onFill);--cw-Feedback-loading-containedColor: cw-var(--cw-Color-surface-onFill)}._cw-LoadingIndicator-tertiary{--cw-Feedback-loading-color: cw-var(--cw-Color-tertiary-fill);--cw-Feedback-loading-containedColor: cw-var(--cw-Color-tertiary-fill)}@media (prefers-reduced-motion: reduce){.cw-Progress{@cw-apply-theme reducedMotion,cw-Feedback;}}}@keyframes _cw-Progress-firstHead{0%{--_cw-Progress-firstHead: 0;animation-timing-function:cw-var(--cw-Motion-transition-easing-emphasized-accelerate)}57.142857%{--_cw-Progress-firstHead: 1}to{--_cw-Progress-firstHead: 1}}@keyframes _cw-Progress-firstTail{0%{--_cw-Progress-firstTail: 0}14.285714%{--_cw-Progress-firstTail: 0;animation-timing-function:cw-var(--cw-Motion-transition-easing-emphasized-accelerate)}71.428571%{--_cw-Progress-firstTail: 1}to{--_cw-Progress-firstTail: 1}}@keyframes _cw-Progress-secondHead{0%{--_cw-Progress-secondHead: 0}37.142857%{--_cw-Progress-secondHead: 0;animation-timing-function:cw-var(--cw-Motion-transition-easing-emphasized-accelerate)}85.714286%{--_cw-Progress-secondHead: 1}to{--_cw-Progress-secondHead: 1}}@keyframes _cw-Progress-secondTail{0%{--_cw-Progress-secondTail: 0}51.428571%{--_cw-Progress-secondTail: 0;animation-timing-function:cw-var(--cw-Motion-transition-easing-emphasized-accelerate)}to{--_cw-Progress-secondTail: 1}}@keyframes _cw-Progress-globalRotation{0%{rotate:90deg}to{rotate:1170deg}}@keyframes _cw-Progress-additionalRotation{0%{--_cw-Progress-additionalRotation: 0deg;animation-timing-function:cw-var(--cw-Motion-transition-easing-emphasized-decelerate)}5%{--_cw-Progress-additionalRotation: 90deg}25%{--_cw-Progress-additionalRotation: 90deg;animation-timing-function:cw-var(--cw-Motion-transition-easing-emphasized-decelerate)}30%{--_cw-Progress-additionalRotation: 180deg}50%{--_cw-Progress-additionalRotation: 180deg;animation-timing-function:cw-var(--cw-Motion-transition-easing-emphasized-decelerate)}55%{--_cw-Progress-additionalRotation: 270deg}75%{--_cw-Progress-additionalRotation: 270deg;animation-timing-function:cw-var(--cw-Motion-transition-easing-emphasized-decelerate)}80%{--_cw-Progress-additionalRotation: 360deg}to{--_cw-Progress-additionalRotation: 360deg}}@keyframes _cw-Progress-sweep{0%{--_cw-Progress-sweep: .1;animation-timing-function:cw-var(--cw-Motion-transition-easing-standard-uniform)}50%{--_cw-Progress-sweep: .87;animation-timing-function:cw-var(--cw-Motion-transition-easing-standard-uniform)}to{--_cw-Progress-sweep: .1}}@keyframes _cw-LinearWavyProgressIndicator-phase{0%{--_cw-LinearWavyProgressIndicator-phase: 0px}to{--_cw-LinearWavyProgressIndicator-phase: var(--_cw-LinearWavyProgressIndicator-wavelength)}}@keyframes _cw-CircularWavyProgressIndicator-phase{0%{--_cw-CircularWavyProgressIndicator-phase: 0}to{--_cw-CircularWavyProgressIndicator-phase: 1}}@media (prefers-reduced-motion: reduce){.cw-Progress-indeterminate{--_cw-Progress-firstHead: .75;--_cw-Progress-firstTail: .25;--_cw-Progress-secondHead: 1;--_cw-Progress-secondTail: .5;--_cw-Progress-sweep: .5}.cw-Progress-indeterminate,.cw-Progress-indeterminate>svg,.cw-LinearWavyProgressIndicator-wave,.cw-CircularWavyProgressIndicator-indicator{animation:none!important}.cw-PlainTooltip-popup,.cw-RichTooltip-popup,.cw-Snackbar{transition-duration:0s!important}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n=["a[href]","button:not([disabled])","input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","[contenteditable]:not([contenteditable=false])","[tabindex]:not([tabindex='-1'])"];function o(t){const e=t.getRootNode().activeElement??null;return e!==null&&t.contains(e)}export{n as FOCUSABLE_SELECTORS,o as isFocusWithin};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Badge as t,BadgedBox as e}from"./badge";import{ContainedLoadingIndicator as i,ContainedLoadingIndicatorController as s,LoadingIndicator as p,LoadingIndicatorController as c}from"./loading";import{CircularProgressIndicator as d,CircularWavyProgressIndicator as g,LinearProgressIndicator as P,LinearWavyProgressIndicator as C}from"./progress";import{Snackbar as b,SnackbarController as m,SnackbarHost as k,SnackbarHostController as x,SnackbarQueue as T,createSnackbarQueue as S}from"./snackbar";import{PlainTooltip as y,PlainTooltipController as L,RichTooltip as u,RichTooltipController as B,TooltipController as R}from"./tooltip";import"./feedback.css";export{t as Badge,e as BadgedBox,d as CircularProgressIndicator,g as CircularWavyProgressIndicator,i as ContainedLoadingIndicator,s as ContainedLoadingIndicatorController,P as LinearProgressIndicator,C as LinearWavyProgressIndicator,p as LoadingIndicator,c as LoadingIndicatorController,y as PlainTooltip,L as PlainTooltipController,u as RichTooltip,B as RichTooltipController,b as Snackbar,m as SnackbarController,k as SnackbarHost,x as SnackbarHostController,T as SnackbarQueue,R as TooltipController,S as createSnackbarQueue};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{defineDomComponent as v}from"..";import{DomController as G}from"../dom/client";import{applySpringMotion as V,subscribeMotionFrames as k}from"../motion";import{MaterialShapes as u,Morph as C,Path as E,Point as H,cubicsToPath as U,formatPathCoordinate as p}from"../shape";import{checkArgument as B}from"../util";import{observeVisibility as X,whenInDocument as z}from"./observe";import"./feedback.css";const J=38/48,b=650,Y=297,f=.6,Q=200,W=4666,y=90,j=-180,K=50,Z=1,ee=.001,ne=250,g="Loading",te="--_cw-LoadingIndicator-value",I="rotate",ie="(prefers-reduced-motion: reduce)",l="cw-LoadingIndicator",P="cw-ContainedLoadingIndicator",oe=`${l} ${P}`,O=["error","primary","secondary","surface","tertiary"],re={},L=new WeakMap;function c(t,e){return t!==void 0&&Number.isFinite(t)?t:e}function _(t){const e=c(t.min,0),n=Math.max(e,c(t.max,1)),i=Math.min(n,Math.max(e,c(t.value,e)));return{min:e,max:n,value:i,ratio:n===e?0:(i-e)/(n-e),indeterminate:t.indeterminate===!0||t.value===void 0}}function ae(t){let e=1;for(const n of t){const i=n.calculateBounds(),o=n.calculateMaxBounds();e=Math.min(e,Math.max((i[2]-i[0])/(o[2]-o[0]),(i[3]-i[1])/(o[3]-o[1])))}return e*J}function M(t,e){const n=t.map(o=>o.normalized()),i=[];for(let o=1;o<n.length;o++)i.push(new C(n[o-1],n[o]));return e&&i.push(new C(n[n.length-1],n[0])),{morphs:i,scale:ae(t)}}function A(t,e){let n=t===void 0?re:L.get(t);return n===void 0&&(B(t.length>=2,"a loading indicator requires at least two polygons"),n={},L.set(t,n)),e?(n.circular??=M(t??[u.SoftBurst,u.Cookie9Sided,u.Pentagon,u.Pill,u.Sunny,u.Cookie4Sided,u.Oval],!0),n.circular):(n.open??=M(t??[u.Circle.transformed((i,o)=>new H(i,o).rotate(18)),u.SoftBurst],!1),n.open)}function se(t){const e=Math.sqrt(Q),n=e*Math.sqrt(1-f**2),i=t/1e3;return 1-Math.exp(-f*e*i)*(Math.cos(n*i)+f*e/n*Math.sin(n*i))}function h(t,e){const n=t.morphs,i=n.length*e;return{morph:n[Math.min(n.length-1,Math.floor(i))],progress:e===1?1:i%1,rotation:e*j}}function S(t,e){const n=t.morphs,i=Math.floor(e/b),o=e-i*b,r=o<Y,s=r?i:i+1,d=r?se(o):0;return{morph:n[s%n.length],progress:d,rotation:(s+1)*y+d*y+e/W*360}}function x(t,e,n){const i=t.morph.asCubics(t.progress),o=p(e);let r=1/0,s=1/0,d=-1/0,m=-1/0;for(const $ of i){const a=$.points;r=Math.min(r,a[0],a[2],a[4],a[6]),s=Math.min(s,a[1],a[3],a[5],a[7]),d=Math.max(d,a[0],a[2],a[4],a[6]),m=Math.max(m,a[1],a[3],a[5],a[7])}return{d:U(i,n).toSvgPathData(),transform:`matrix(${o} 0 0 ${o} ${p(.5-e*(r+d)/2)} ${p(.5-e*(s+m)/2)})`}}function D(t){return t!==void 0&&O.includes(t)?`_cw-ContainedLoadingIndicator-${t}`:void 0}function R(t){return t===void 0||O.includes(t)?void 0:t}function T(t){return typeof t=="number"?`${Math.max(0,c(t,0))}px`:t}function w(t){return t!==void 0&&Number.isFinite(t)&&t>0?`${t}px`:void 0}function N(t,e,n){return<svg aria-hidden="true"viewBox="0 0 1 1">
|
|
2
|
+
<g class="_cw-LoadingIndicator-rotation"style={n===void 0?void 0:{[I]:n}}>
|
|
3
|
+
<path class="cw-LoadingIndicator-shape"d={t}transform={e}/>
|
|
4
|
+
</g>
|
|
5
|
+
</svg>}function q(t,e,n){const i=_(e),o=A(e.polygons,i.indeterminate),r=i.indeterminate?S(o,0):h(o,i.ratio),s=x(r,o.scale,new E),d=n?D(e.containerColor):void 0;return<div role="progressbar"{...t}aria-label={"aria-label"in t?t["aria-label"]:e.label??g}aria-valuemax={i.indeterminate?void 0:i.max}aria-valuemin={i.indeterminate?void 0:i.min}aria-valuenow={i.indeterminate?void 0:i.value}classList={{...t.classList,...d===void 0?void 0:{[d]:!0},...e.color===void 0?void 0:{[`_cw-LoadingIndicator-${e.color}`]:!0},[P]:n,[l]:!0,[`${l}-determinate`]:!i.indeterminate,[`${l}-indeterminate`]:i.indeterminate}}style={{...t.style,"--_cw-ContainedLoadingIndicator-containerColor":n?R(e.containerColor):void 0,"--_cw-ContainedLoadingIndicator-containerShape":n?T(e.containerShape):void 0,"--cw-Feedback-loading-size":w(e.size)}}>{N(s.d,s.transform,`${r.rotation}deg`)}</div>}class F extends G{#y;#L;#M;#m;#p;#f;#g;#a;#S;#i;#n;#s;#t;#d;#e;#u;#l;#o;#c;#C;constructor(e,n=!1){super(e,{styleElementIsFunction:!0}),this.#y=n,this.#L="attr:aria-label"in e,this.#M=new E,this.#m=null,this.#p=null,this.#f="",this.#g="",this.#a=void 0,this.#S=0,this.#i=null,this.#n=null,this.#s=0,this.#t=void 0,this.#d=-1/0,this.#e=void 0,this.#u=!0,this.#l=!1,this.#o=void 0,this.#c=[],this.#C=!1}applyComponentProps(){const e=super.readProps(["color","indeterminate","label","max","min","paused","polygons","size","value"]);e.colorChanged&&super.setClass("color",e.color===void 0?void 0:`_cw-LoadingIndicator-${e.color}`),e.sizeChanged&&super.setStyle("--cw-Feedback-loading-size",w(e.size)),e.labelChanged&&!this.#L&&super.setAttribute("aria-label",e.label??g),(e.indeterminateChanged||e.maxChanged||e.minChanged||e.polygonsChanged||e.valueChanged)&&this.#E(_(e),e.polygons,e.polygonsChanged),this.#r()}#E(e,n,i){const o=this.#i,r=this.#b();if(this.#i=e,super.setClass(`${l}-determinate`,!e.indeterminate),super.setClass(`${l}-indeterminate`,e.indeterminate),super.setAttribute("aria-valuemax",e.indeterminate?void 0:e.max),super.setAttribute("aria-valuemin",e.indeterminate?void 0:e.min),super.setAttribute("aria-valuenow",e.indeterminate?void 0:e.value),!i&&o?.indeterminate===e.indeterminate){e.indeterminate||this.#I(r,e.ratio);return}this.#n=A(n,e.indeterminate),this.#a=void 0,this.#s=0,this.#t=void 0,this.#d=-1/0,this.#e?.cancel(),this.#e=void 0,this.#h(e.indeterminate?S(this.#n,0):h(this.#n,e.ratio))}#I(e,n){const i=this.styleElement;i!==null&&(this.#e===void 0?this.#e=V(i,te,e,n,{damping:Z,stiffness:K,threshold:ee}):this.#e.retarget(n))}#b(){return Math.min(1,Math.max(0,this.#e?.value??this.#i?.ratio??0))}#r(){const e=this.styleElement?.ownerDocument.defaultView??null,n=this.#i;if(e!==null&&this.#u&&(this.#e?.playState==="running"||n?.indeterminate===!0&&!this.#l&&super.readProp("paused",!0)[0]!==!0)){this.#o??=k(e,o=>this.#P(o));return}this.#o?.(),this.#o=void 0,this.#t=void 0,n?.indeterminate===!1&&this.#n!==null&&this.#h(h(this.#n,this.#b()))}#P(e){const n=this.#i,i=this.#n;if(!(n===null||i===null)){if(!n.indeterminate){this.#h(h(i,this.#b())),this.#e?.playState!=="running"&&this.#r();return}this.#t!==void 0&&e-this.#t<=ne&&(this.#s+=Math.max(0,e-this.#t)),this.#t=e,this.#h(S(i,this.#s))}}#h(e){const n=this.#m,i=this.#p,o=this.#i?.indeterminate===!0?this.#d=Math.max(this.#d,e.rotation):e.rotation;if(n===null||i===null||(i.style.setProperty(I,`${o}deg`),e.morph===this.#a&&e.progress===this.#S))return;const r=x(e,this.#n.scale,this.#M);this.#a=e.morph,this.#S=e.progress,r.d!==this.#f&&(this.#f=r.d,n.setAttribute("d",r.d)),r.transform!==this.#g&&(this.#g=r.transform,n.setAttribute("transform",r.transform))}onStyleElementChanged(e){super.onStyleElementChanged(e),this.#v(),e!==null&&z(e,n=>{!this.#C&&this.styleElement===e&&this.#O(e,n)})}onControllerCleanup(){this.#C=!0,this.#v(),this.#e?.cancel(),super.onControllerCleanup()}#O(e,n){const i=n.matchMedia(ie),o=()=>{this.#l=i.matches,this.#r()},r=X(e,s=>{this.#u=s,this.#r()});this.#l=i.matches,this.#u=!0,i.addEventListener("change",o),this.#c.push(()=>i.removeEventListener("change",o)),r!==void 0&&this.#c.push(r),this.#r()}#v(){this.#o?.(),this.#o=void 0,this.#t=void 0;for(const e of this.#c.splice(0))e()}render(){const e=<div aria-label={g}class={this.#y?oe:l}role="progressbar">
|
|
6
|
+
{N()}
|
|
7
|
+
</div>;return this.#m=e.querySelector("path"),this.#p=e.querySelector("g"),e}}const ge=v(()=>(t,e)=>q(t,e,!1),()=>F);class de extends F{constructor(e){super(e,!0)}applyComponentProps(){const e=super.readProps(["containerColor","containerShape"]);super.applyComponentProps(),e.containerColorChanged&&(super.setClass("containerColor",D(e.containerColor)),super.setStyle("--_cw-ContainedLoadingIndicator-containerColor",R(e.containerColor))),e.containerShapeChanged&&super.setStyle("--_cw-ContainedLoadingIndicator-containerShape",T(e.containerShape))}}const Se=v(()=>(t,e)=>q(t,e,!0),()=>de);export{Se as ContainedLoadingIndicator,de as ContainedLoadingIndicatorController,ge as LoadingIndicator,F as LoadingIndicatorController};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const u=new WeakMap,v=new WeakMap,f=new WeakMap,l=["opacity","scale"];function O(t,r){const n=t.getAnimations().filter(e=>l.includes(e.transitionProperty));n.length===0?r():Promise.allSettled(n.map(e=>e.finished)).then(r)}function w(t,r){const n=t.ownerDocument.defaultView;if(n!==null){r(n);return}queueMicrotask(()=>{const e=t.ownerDocument.defaultView;e!==null&&r(e)})}function p(t,r){const n=t.ownerDocument.defaultView;let e=n===null?void 0:u.get(n);if(!(n===null||typeof n.IntersectionObserver!="function")){if(e===void 0){const o=new Map;e={observer:new n.IntersectionObserver(i=>{for(const s of i)o.get(s.target)?.(s.isIntersecting)}),listeners:o},u.set(n,e)}return e.listeners.set(t,r),e.observer.observe(t),b(e,t,r)}}function E(t,r){const n=t.ownerDocument.defaultView;let e=n===null?void 0:v.get(n);if(!(n===null||typeof n.ResizeObserver!="function")){if(e===void 0){const o=new Map;e={observer:new n.ResizeObserver(i=>{for(const s of i)o.get(s.target)?.(s.contentBoxSize[0]?.inlineSize??s.contentRect.width)}),listeners:o},v.set(n,e)}return e.listeners.set(t,r),e.observer.observe(t),b(e,t,r)}}function M(t,r,n){const e=t.ownerDocument.defaultView;let o=e===null?void 0:f.get(e);if(!(e===null||typeof e.MutationObserver!="function")){if(o===void 0){const i=new Map;o={observer:new e.MutationObserver(s=>{const d=new Set;for(const a of s)d.add(c(i,a.target));for(const a of d)a?.()}),listeners:i,options:new Map},f.set(e,o)}return o.listeners.set(t,n),o.options.set(t,r),o.observer.observe(t,r),()=>{const i=o;if(i.listeners.get(t)===n){i.listeners.delete(t),i.options.delete(t),i.observer.disconnect();for(const[s,d]of i.options)i.observer.observe(s,d)}}}}function c(t,r){for(let n=r;n!==null;n=n.parentNode){const e=t.get(n);if(e!==void 0)return e}}function b(t,r,n){return()=>{t.listeners.get(r)===n&&(t.listeners.delete(r),t.observer.unobserve(r))}}export{E as observeInlineSize,M as observeMutations,p as observeVisibility,O as whenExitMotionFinished,w as whenInDocument};
|