igniteui-webcomponents 7.1.0 → 7.1.2
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/CHANGELOG.md +26 -0
- package/README.md +13 -11
- package/animations/easings.d.ts +1 -1
- package/animations/easings.js +1 -1
- package/animations/easings.js.map +1 -1
- package/components/badge/themes/dark/badge.indigo.css.js +1 -1
- package/components/badge/themes/dark/badge.indigo.css.js.map +1 -1
- package/components/button/themes/button/light/button.indigo.css.js +1 -1
- package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
- package/components/button/themes/icon-button/dark/icon-button.indigo.css.js +1 -1
- package/components/button/themes/icon-button/dark/icon-button.indigo.css.js.map +1 -1
- package/components/button-group/button-group.js +2 -2
- package/components/button-group/button-group.js.map +1 -1
- package/components/button-group/themes/dark/button-group.bootstrap.css.js +1 -1
- package/components/button-group/themes/dark/button-group.bootstrap.css.js.map +1 -1
- package/components/button-group/themes/dark/button-group.fluent.css.js +1 -1
- package/components/button-group/themes/dark/button-group.fluent.css.js.map +1 -1
- package/components/button-group/themes/dark/button-group.indigo.css.js +1 -1
- package/components/button-group/themes/dark/button-group.indigo.css.js.map +1 -1
- package/components/button-group/themes/dark/button-group.material.css.js +1 -1
- package/components/button-group/themes/dark/button-group.material.css.js.map +1 -1
- package/components/button-group/themes/dark/button-group.shared.css.js +1 -1
- package/components/button-group/themes/dark/button-group.shared.css.js.map +1 -1
- package/components/button-group/themes/light/button-group.bootstrap.css.js +1 -1
- package/components/button-group/themes/light/button-group.bootstrap.css.js.map +1 -1
- package/components/button-group/themes/light/button-group.fluent.css.js +1 -1
- package/components/button-group/themes/light/button-group.fluent.css.js.map +1 -1
- package/components/button-group/themes/light/button-group.indigo.css.js +1 -1
- package/components/button-group/themes/light/button-group.indigo.css.js.map +1 -1
- package/components/button-group/themes/light/button-group.material.css.js +1 -1
- package/components/button-group/themes/light/button-group.material.css.js.map +1 -1
- package/components/button-group/themes/light/button-group.shared.css.js +1 -1
- package/components/button-group/themes/light/button-group.shared.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
- package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.common.css.js +1 -1
- package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.fluent.css.js +1 -1
- package/components/button-group/themes/shared/button/button.fluent.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.indigo.css.js +1 -1
- package/components/button-group/themes/shared/button/button.indigo.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.material.css.js +1 -1
- package/components/button-group/themes/shared/button/button.material.css.js.map +1 -1
- package/components/calendar/calendar.js +3 -3
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.js +13 -11
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/helpers.js +2 -2
- package/components/calendar/helpers.js.map +1 -1
- package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
- package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
- package/components/card/themes/dark/card.indigo.css.js +1 -1
- package/components/card/themes/dark/card.indigo.css.js.map +1 -1
- package/components/carousel/carousel.js +2 -2
- package/components/carousel/carousel.js.map +1 -1
- package/components/chat/chat-message.js +1 -0
- package/components/chat/chat-message.js.map +1 -1
- package/components/chat/themes/dark/chat.bootstrap.css.js +1 -1
- package/components/chat/themes/dark/chat.bootstrap.css.js.map +1 -1
- package/components/chat/themes/dark/chat.fluent.css.js +1 -1
- package/components/chat/themes/dark/chat.fluent.css.js.map +1 -1
- package/components/chat/themes/dark/chat.indigo.css.js +1 -1
- package/components/chat/themes/dark/chat.indigo.css.js.map +1 -1
- package/components/chat/themes/dark/chat.material.css.js +1 -1
- package/components/chat/themes/dark/chat.material.css.js.map +1 -1
- package/components/chat/themes/light/chat.bootstrap.css.js +1 -1
- package/components/chat/themes/light/chat.bootstrap.css.js.map +1 -1
- package/components/chat/themes/light/chat.fluent.css.js +1 -1
- package/components/chat/themes/light/chat.fluent.css.js.map +1 -1
- package/components/chat/themes/light/chat.indigo.css.js +1 -1
- package/components/chat/themes/light/chat.indigo.css.js.map +1 -1
- package/components/chat/themes/light/chat.material.css.js +1 -1
- package/components/chat/themes/light/chat.material.css.js.map +1 -1
- package/components/chat/themes/light/chat.shared.css.js +1 -1
- package/components/chat/themes/light/chat.shared.css.js.map +1 -1
- package/components/chat/themes/message.base.css.js +1 -1
- package/components/chat/themes/message.base.css.js.map +1 -1
- package/components/chat/themes/message.js +0 -14
- package/components/chat/themes/message.js.map +1 -1
- package/components/chat/themes/shared/chat-message/chat-message.common.css.js +1 -1
- package/components/chat/themes/shared/chat-message/chat-message.common.css.js.map +1 -1
- package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js +1 -1
- package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.material.css.js +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
- package/components/chip/chip.d.ts +1 -0
- package/components/chip/chip.js +3 -1
- package/components/chip/chip.js.map +1 -1
- package/components/chip/themes/chip.base.css.js +1 -1
- package/components/chip/themes/chip.base.css.js.map +1 -1
- package/components/chip/themes/dark/chip.indigo.css.js +1 -1
- package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/shared/chip.common.css.js +1 -1
- package/components/chip/themes/shared/chip.common.css.js.map +1 -1
- package/components/combo/combo-header.js.map +1 -1
- package/components/combo/combo-item.d.ts +7 -3
- package/components/combo/combo-item.js +5 -4
- package/components/combo/combo-item.js.map +1 -1
- package/components/combo/combo-list.js.map +1 -1
- package/components/combo/combo.d.ts +92 -81
- package/components/combo/combo.js +327 -281
- package/components/combo/combo.js.map +1 -1
- package/components/combo/controllers/data.d.ts +50 -13
- package/components/combo/controllers/data.js +49 -28
- package/components/combo/controllers/data.js.map +1 -1
- package/components/combo/controllers/navigation.d.ts +19 -18
- package/components/combo/controllers/navigation.js +73 -90
- package/components/combo/controllers/navigation.js.map +1 -1
- package/components/combo/operations/filter.d.ts +2 -2
- package/components/combo/operations/filter.js.map +1 -1
- package/components/combo/operations/group.d.ts +2 -2
- package/components/combo/operations/group.js.map +1 -1
- package/components/combo/themes/dark/combo.indigo.css.js +1 -1
- package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
- package/components/common/context.d.ts +1 -1
- package/components/common/context.js +1 -1
- package/components/common/context.js.map +1 -1
- package/components/common/controllers/drag.js +2 -2
- package/components/common/controllers/drag.js.map +1 -1
- package/components/common/controllers/key-bindings.d.ts +100 -18
- package/components/common/controllers/key-bindings.js +54 -47
- package/components/common/controllers/key-bindings.js.map +1 -1
- package/components/common/controllers/root-click.js +3 -3
- package/components/common/controllers/root-click.js.map +1 -1
- package/components/common/controllers/slot.d.ts +1 -1
- package/components/common/controllers/slot.js.map +1 -1
- package/components/common/mixins/combo-box.d.ts +24 -19
- package/components/common/mixins/combo-box.js +26 -23
- package/components/common/mixins/combo-box.js.map +1 -1
- package/components/common/util.d.ts +45 -18
- package/components/common/util.js +13 -27
- package/components/common/util.js.map +1 -1
- package/components/date-picker/date-picker.d.ts +3 -3
- package/components/date-picker/date-picker.js +10 -10
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
- package/components/date-range-picker/date-range-picker.d.ts +3 -4
- package/components/date-range-picker/date-range-picker.js +11 -11
- package/components/date-range-picker/date-range-picker.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -1
- package/components/date-time-input/date-time-input.js +1 -1
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/datetime-mask-parser.d.ts +1 -2
- package/components/date-time-input/datetime-mask-parser.js +1 -2
- package/components/date-time-input/datetime-mask-parser.js.map +1 -1
- package/components/dialog/themes/dark/dialog.indigo.css.js +1 -1
- package/components/dialog/themes/dark/dialog.indigo.css.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +2 -2
- package/components/dropdown/dropdown.js +6 -6
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
- package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
- package/components/dropdown/themes/shared/item/dropdown-item.common.css.js +1 -1
- package/components/dropdown/themes/shared/item/dropdown-item.common.css.js.map +1 -1
- package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +1 -1
- package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -1
- package/components/highlight/service.js +1 -1
- package/components/highlight/service.js.map +1 -1
- package/components/input/themes/shared/input.material.css.js +1 -1
- package/components/input/themes/shared/input.material.css.js.map +1 -1
- package/components/list/themes/dark/container/list.bootstrap.css.js +1 -1
- package/components/list/themes/dark/container/list.bootstrap.css.js.map +1 -1
- package/components/nav-drawer/themes/container.base.css.js +1 -1
- package/components/nav-drawer/themes/container.base.css.js.map +1 -1
- package/components/navbar/themes/dark/navbar.indigo.css.js +1 -1
- package/components/navbar/themes/dark/navbar.indigo.css.js.map +1 -1
- package/components/progress/themes/circular/dark/circular.progress.indigo.css.js +1 -1
- package/components/progress/themes/circular/dark/circular.progress.indigo.css.js.map +1 -1
- package/components/progress/themes/circular/dark/circular.progress.shared.css.js +1 -1
- package/components/progress/themes/circular/dark/circular.progress.shared.css.js.map +1 -1
- package/components/progress/themes/circular/light/circular.progress.indigo.css.js +1 -1
- package/components/progress/themes/circular/light/circular.progress.indigo.css.js.map +1 -1
- package/components/progress/themes/circular/light/circular.progress.shared.css.js +1 -1
- package/components/progress/themes/circular/light/circular.progress.shared.css.js.map +1 -1
- package/components/progress/themes/circular/shared/circular.progress.common.css.js +1 -1
- package/components/progress/themes/circular/shared/circular.progress.common.css.js.map +1 -1
- package/components/progress/themes/linear/dark/linear.progress.indigo.css.js +1 -1
- package/components/progress/themes/linear/dark/linear.progress.indigo.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/radio/radio.js +1 -1
- package/components/radio/radio.js.map +1 -1
- package/components/rating/rating.d.ts +57 -28
- package/components/rating/rating.js +123 -120
- package/components/rating/rating.js.map +1 -1
- package/components/resize-container/resize-controller.js +2 -2
- package/components/resize-container/resize-controller.js.map +1 -1
- package/components/select/select.d.ts +3 -3
- package/components/select/select.js +10 -10
- package/components/select/select.js.map +1 -1
- package/components/select/themes/dark/select.indigo.css.js +1 -1
- package/components/select/themes/dark/select.indigo.css.js.map +1 -1
- package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
- package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
- package/components/splitter/splitter.d.ts +2 -2
- package/components/splitter/splitter.js.map +1 -1
- package/components/splitter/types.d.ts +11 -5
- package/components/splitter/types.js.map +1 -1
- package/components/stepper/common/state.d.ts +1 -1
- package/components/stepper/common/state.js.map +1 -1
- package/components/stepper/stepper.js +3 -3
- package/components/stepper/stepper.js.map +1 -1
- package/components/stepper/themes/step/dark/step.bootstrap.css.js +1 -1
- package/components/stepper/themes/step/dark/step.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/step/dark/step.indigo.css.js +1 -1
- package/components/stepper/themes/step/dark/step.indigo.css.js.map +1 -1
- package/components/stepper/themes/step/dark/step.material.css.js +1 -1
- package/components/stepper/themes/step/dark/step.material.css.js.map +1 -1
- package/components/tabs/tab.d.ts +0 -1
- package/components/tabs/tab.js +2 -3
- package/components/tabs/tab.js.map +1 -1
- package/components/tabs/tabs.js +3 -3
- package/components/tabs/tabs.js.map +1 -1
- package/components/tile-manager/themes/dark/tile-manager.indigo.css.js +1 -1
- package/components/tile-manager/themes/dark/tile-manager.indigo.css.js.map +1 -1
- package/components/tile-manager/tile.js +2 -2
- package/components/tile-manager/tile.js.map +1 -1
- package/components/toast/themes/dark/toast.indigo.css.js +1 -1
- package/components/toast/themes/dark/toast.indigo.css.js.map +1 -1
- package/components/tree/themes/dark/container.bootstrap.css.js +1 -1
- package/components/tree/themes/dark/container.bootstrap.css.js.map +1 -1
- package/components/tree/themes/dark/container.indigo.css.js +1 -1
- package/components/tree/themes/dark/container.indigo.css.js.map +1 -1
- package/components/tree/themes/shared/item.indigo.css.js +1 -1
- package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
- package/components/tree/tree-item.js +2 -3
- package/components/tree/tree-item.js.map +1 -1
- package/custom-elements.json +1726 -983
- package/igniteui-webcomponents.css-data.json +1 -1
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +1 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/README.md +3 -0
- package/skills/igniteui-wc-choose-components/SKILL.md +53 -0
- package/skills/igniteui-wc-generate-from-image-design/SKILL.md +228 -0
- package/skills/igniteui-wc-generate-from-image-design/references/component-mapping.md +130 -0
- package/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +147 -0
- package/skills/igniteui-wc-integrate-with-framework/SKILL.md +22 -1
- package/skills/igniteui-wc-integrate-with-framework/references/angular.md +2 -0
- package/skills/igniteui-wc-integrate-with-framework/references/react.md +2 -0
- package/skills/igniteui-wc-integrate-with-framework/references/vanilla-js.md +2 -0
- package/skills/igniteui-wc-integrate-with-framework/references/vue.md +2 -0
- package/web-types.json +2 -2
- package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.d.ts +0 -1
- package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js +0 -3
- package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js.map +0 -1
- package/components/chat/themes/shared/chat-message/chat-message.fluent.css.d.ts +0 -1
- package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js +0 -3
- package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js.map +0 -1
- package/components/combo/controllers/selection.d.ts +0 -33
- package/components/combo/controllers/selection.js +0 -169
- package/components/combo/controllers/selection.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitter.js","sourceRoot":"","sources":["../../../src/components/splitter/splitter.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, type PropertyValues } from 'lit';\nimport { eventOptions, property, query, state } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { type StyleInfo, styleMap } from 'lit/directives/style-map.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n ctrlKey,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport { createResizeObserverController } from '../common/controllers/resize-observer.js';\nimport { addSlotController, setSlots } from '../common/controllers/slot.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n asNumber,\n asPercent,\n bindIf,\n clamp,\n isLTR,\n roundPrecise,\n} from '../common/util.js';\nimport type { SplitterOrientation } from '../types.js';\nimport IgcVisuallyHiddenComponent from '../visually-hidden/visually-hidden.js';\nimport { styles as shared } from './themes/shared/splitter.common.css.js';\nimport { styles } from './themes/splitter.base.css.js';\nimport { all } from './themes/themes.js';\nimport type {\n IgcSplitterComponentEventMap,\n IgcSplitterResizeEventDetail,\n PanePosition,\n PaneResizeSnapshot,\n SplitterPaneState,\n SplitterResizeState,\n} from './types.js';\n\nconst KEYBOARD_RESIZE_STEP = 10;\n\nconst DEFAULT_RESIZE_STATE: SplitterResizeState = {\n startPane: null,\n endPane: null,\n isDragging: false,\n dragStartPosition: { x: 0, y: 0 },\n dragPointerId: -1,\n};\n\n/**\n * The `igc-splitter` component provides a resizable split-pane layout that divides the view\n * into two panels — *start* and *end* — separated by a draggable bar.\n *\n * Panels can be resized by dragging the bar, using keyboard shortcuts, or collapsed/expanded\n * using the built-in collapse buttons or the programmatic `toggle()` API.\n * Nested splitters are supported for more complex layouts.\n *\n * @example\n * ```html\n * <!-- Basic horizontal splitter -->\n * <igc-splitter>\n * <div slot=\"start\">Start panel</div>\n * <div slot=\"end\">End panel</div>\n * </igc-splitter>\n * ```\n *\n * @example\n * ```html\n * <!-- Vertical splitter with size constraints -->\n * <igc-splitter orientation=\"vertical\" start-min-size=\"100px\" end-min-size=\"100px\">\n * <div slot=\"start\">Top panel</div>\n * <div slot=\"end\">Bottom panel</div>\n * </igc-splitter>\n * ```\n *\n * @example\n * ```html\n * <!-- Nested splitters for a multi-pane layout -->\n * <igc-splitter style=\"height: 600px;\">\n * <igc-splitter slot=\"start\" orientation=\"vertical\">\n * <div slot=\"start\">Top left</div>\n * <div slot=\"end\">Bottom left</div>\n * </igc-splitter>\n * <div slot=\"end\">Right panel</div>\n * </igc-splitter>\n * ```\n *\n * @example\n * ```ts\n * // Programmatically collapse/expand a pane\n * const splitter = document.querySelector('igc-splitter');\n * splitter.toggle('start'); // collapse start pane\n * splitter.toggle('start'); // expand start pane\n * ```\n *\n * ## Keyboard interactions\n *\n * When the splitter bar is focused:\n *\n * | Key | Action |\n * |---|---|\n * | `Arrow Left` / `Arrow Right` | Resize panes (horizontal orientation) |\n * | `Arrow Up` / `Arrow Down` | Resize panes (vertical orientation) |\n * | `Home` | Snap start pane to its minimum size |\n * | `End` | Snap start pane to its maximum size |\n * | `Ctrl + Arrow Left` / `Ctrl + Arrow Up` | Collapse or expand the start pane |\n * | `Ctrl + Arrow Right` / `Ctrl + Arrow Down` | Collapse or expand the end pane |\n *\n * @element igc-splitter\n *\n * @fires igcResizeStart - Emitted once when a resize operation begins (pointer drag or keyboard).\n * @fires igcResizing - Emitted continuously while a pane is being resized.\n * @fires igcResizeEnd - Emitted once when a resize operation completes.\n *\n * @slot start - Content projected into the start (left/top) panel.\n * @slot end - Content projected into the end (right/bottom) panel.\n *\n * @csspart splitter-bar - The resizable bar element between the two panels.\n * @csspart drag-handle - The drag handle icon/element on the splitter bar.\n * @csspart start-pane - The container for the start panel content.\n * @csspart end-pane - The container for the end panel content.\n * @csspart start-collapse-btn - The button to collapse the start panel.\n * @csspart end-collapse-btn - The button to collapse the end panel.\n * @csspart start-expand-btn - The button to expand the start panel when collapsed.\n * @csspart end-expand-btn - The button to expand the end panel when collapsed.\n */\nexport default class IgcSplitterComponent extends EventEmitterMixin<\n IgcSplitterComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-splitter';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcSplitterComponent, IgcVisuallyHiddenComponent);\n }\n\n //#region Private Properties\n\n private readonly _internals = addInternalsController(this);\n\n private readonly _separatorRef = createRef<HTMLElement>();\n\n private _startPaneState: SplitterPaneState = { size: 'auto', styles: {} };\n private _endPaneState: SplitterPaneState = { size: 'auto', styles: {} };\n\n @state()\n private _collapsedPane: PanePosition | null = null;\n\n @state()\n private _resizeState: SplitterResizeState = { ...DEFAULT_RESIZE_STATE };\n\n @query('[part~=\"base\"]', true)\n private readonly _base!: HTMLElement;\n\n @query('[part~=\"start-pane\"]', true)\n private readonly _startPane!: HTMLElement;\n\n @query('[part~=\"end-pane\"]', true)\n private readonly _endPane!: HTMLElement;\n\n private get _separator(): HTMLElement | undefined {\n return this._separatorRef.value;\n }\n\n private get _resizeDisallowed(): boolean {\n return this.disableResize || this._collapsedPane != null;\n }\n\n private get _isHorizontal(): boolean {\n return this.orientation === 'horizontal';\n }\n\n private get _separatorCursor(): string {\n if (this._resizeDisallowed) {\n return 'default';\n }\n return this._isHorizontal ? 'col-resize' : 'row-resize';\n }\n\n //#endregion\n\n //#region Public Properties\n\n /**\n * The orientation of the splitter, which determines the direction of resizing and collapsing.\n *\n * @attr orientation\n * @default 'horizontal'\n */\n @property({ reflect: true })\n public orientation: SplitterOrientation = 'horizontal';\n\n /**\n * When true, prevents the user from collapsing either pane.\n * This also hides the expand/collapse buttons on the splitter bar.\n *\n * @attr disable-collapse\n * @default false\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-collapse' })\n public disableCollapse = false;\n\n /**\n * When true, prevents the user from resizing the panes by dragging the splitter bar or using keyboard shortcuts.\n * This also hides the drag handle on the splitter bar.\n *\n * @attr disable-resize\n * @default false\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-resize' })\n public disableResize = false;\n\n /**\n * When true, hides the expand/collapse buttons on the splitter bar.\n *\n * Note that the buttons will also be hidden if `disable-collapse` is true or\n * if a pane is currently collapsed.\n *\n * @attr hide-collapse-buttons\n * @default false\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'hide-collapse-buttons',\n })\n public hideCollapseButtons = false;\n\n /**\n * When true, hides the drag handle on the splitter bar.\n *\n * Note that the drag handle will also be hidden if `disable-resize` is true.\n *\n * @attr hide-drag-handle\n * @default false\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'hide-drag-handle',\n })\n public hideDragHandle = false;\n\n /**\n * The minimum size of the start pane.\n *\n * @attr start-min-size\n */\n @property({ attribute: 'start-min-size' })\n public set startMinSize(value: string | undefined) {\n this._startPaneState.minSize = this._normalizeValue(value);\n }\n\n public get startMinSize(): string | undefined {\n return this._startPaneState.minSize;\n }\n\n /**\n * The minimum size of the end pane.\n *\n * @attr end-min-size\n */\n @property({ attribute: 'end-min-size' })\n public set endMinSize(value: string | undefined) {\n this._endPaneState.minSize = this._normalizeValue(value);\n }\n\n public get endMinSize(): string | undefined {\n return this._endPaneState.minSize;\n }\n\n /**\n * The maximum size of the start pane.\n *\n * @attr start-max-size\n */\n @property({ attribute: 'start-max-size' })\n public set startMaxSize(value: string | undefined) {\n this._startPaneState.maxSize = this._normalizeValue(value);\n }\n\n public get startMaxSize(): string | undefined {\n return this._startPaneState.maxSize;\n }\n\n /**\n * The maximum size of the end pane.\n *\n * @attr end-max-size\n */\n @property({ attribute: 'end-max-size' })\n public set endMaxSize(value: string | undefined) {\n this._endPaneState.maxSize = this._normalizeValue(value);\n }\n\n public get endMaxSize(): string | undefined {\n return this._endPaneState.maxSize;\n }\n\n /**\n * The size of the start pane.\n *\n * @attr start-size\n */\n @property({ attribute: 'start-size' })\n public set startSize(value: string | undefined) {\n this._startPaneState.size = this._normalizeValue(value, 'auto');\n }\n\n public get startSize(): string | undefined {\n return this._startPaneState.size;\n }\n\n /**\n * The size of the end pane.\n *\n * @attr end-size\n */\n @property({ attribute: 'end-size' })\n public set endSize(value: string | undefined) {\n this._endPaneState.size = this._normalizeValue(value, 'auto');\n }\n\n public get endSize(): string | undefined {\n return this._endPaneState.size;\n }\n\n //#endregion\n\n //#region Lifecycle\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addSlotController(this, { slots: setSlots('start', 'end') });\n\n createResizeObserverController(this, {\n callback: () => this.requestUpdate(),\n });\n\n addKeybindings(this, {\n ref: this._separatorRef,\n })\n .set(arrowUp, () => this._handleResizePanes(-1, 'vertical'))\n .set(arrowDown, () => this._handleResizePanes(1, 'vertical'))\n .set(arrowLeft, () => this._handleResizePanes(-1, 'horizontal'))\n .set(arrowRight, () => this._handleResizePanes(1, 'horizontal'))\n .set(homeKey, () => this._handleMinMaxResize('min'))\n .set(endKey, () => this._handleMinMaxResize('max'))\n .set([ctrlKey, arrowUp], () =>\n this._handleArrowsExpandCollapse('start', 'vertical')\n )\n .set([ctrlKey, arrowDown], () =>\n this._handleArrowsExpandCollapse('end', 'vertical')\n )\n .set([ctrlKey, arrowLeft], () =>\n this._handleArrowsExpandCollapse('start', 'horizontal')\n )\n .set([ctrlKey, arrowRight], () =>\n this._handleArrowsExpandCollapse('end', 'horizontal')\n );\n }\n\n protected override update(changed: PropertyValues<this>): void {\n if (changed.get('orientation') != null) {\n for (const pane of ['start', 'end'] as PanePosition[]) {\n const state = this._getPaneState(pane);\n state.size = 'auto';\n state.minSize = undefined;\n state.maxSize = undefined;\n }\n }\n\n if (this.hasUpdated) {\n this._updatePanes();\n }\n\n super.update(changed);\n }\n\n protected override updated(): void {\n this._updateBarAria();\n }\n\n //#endregion\n\n //#region Resize Event Handlers\n\n private _handleBarPointerDown(e: PointerEvent): void {\n if (e.button !== 0) {\n return;\n }\n\n e.preventDefault();\n\n this._resizeState = {\n ...this._resizeState,\n isDragging: true,\n dragPointerId: e.pointerId,\n dragStartPosition: { x: e.clientX, y: e.clientY },\n };\n\n this._resizeStart();\n this._separator?.setPointerCapture(this._resizeState.dragPointerId);\n }\n\n private _getDragDelta(e: PointerEvent): number {\n const deltaX = e.clientX - this._resizeState.dragStartPosition.x;\n const deltaY = e.clientY - this._resizeState.dragStartPosition.y;\n return this._resolveDelta(deltaX, deltaY);\n }\n\n private _handleBarPointerMove(e: PointerEvent): void {\n if (e.pointerId !== this._resizeState.dragPointerId) {\n return;\n }\n\n const delta = this._getDragDelta(e);\n\n if (delta !== 0) {\n this._resizing(delta);\n }\n }\n\n private _handleEndDrag(e: PointerEvent): void {\n if (e.pointerId !== this._resizeState.dragPointerId) {\n return;\n }\n\n const delta = this._getDragDelta(e);\n\n if (delta !== 0) {\n this._resizeEnd(delta);\n }\n\n this._endDrag();\n }\n\n private _endDrag(): void {\n if (this._resizeState.dragPointerId !== -1) {\n this._separator?.releasePointerCapture(this._resizeState.dragPointerId);\n }\n this._resizeState = { ...DEFAULT_RESIZE_STATE };\n }\n\n //#endregion\n\n //#region Public Methods\n\n /** Toggles the collapsed state of the specified pane. */\n public toggle(position: PanePosition): void {\n if (this._collapsedPane === null) {\n this._savePaneSizes();\n }\n\n // If the requested pane is already collapsed, expand it (set to null)\n // Otherwise, collapse the requested pane (this also handles switching from one collapsed pane to another)\n this._collapsedPane = this._collapsedPane === position ? null : position;\n\n this._internals.setState('start-collapsed', this._isCollapsed('start'));\n this._internals.setState('end-collapsed', this._isCollapsed('end'));\n\n this._restoreSizesOnExpandCollapse();\n }\n\n //#endregion\n\n //#region Internal API\n\n private _savePaneSizes(): void {\n this._startPaneState.savedSize = `${this._paneRectAsPercent(0)}%`;\n this._endPaneState.savedSize = `${this._paneRectAsPercent(1)}%`;\n }\n\n /* Reset sizes on collapse; restore saved sizes on expand */\n private _restoreSizesOnExpandCollapse(): void {\n if (this._collapsedPane !== null) {\n this._startPaneState.size = 'auto';\n this._endPaneState.size = 'auto';\n } else {\n this._startPaneState.size =\n this._startPaneState.savedSize ?? this.startSize;\n this._endPaneState.size = this._endPaneState.savedSize ?? this.endSize;\n }\n }\n\n /** Measures the actual rendered size of a pane and returns it as a percentage of total size. */\n private _paneRectAsPercent(paneIndex: 0 | 1): number {\n const totalSize = this._getTotalSize();\n if (totalSize === 0) {\n return 0;\n }\n return roundPrecise(asPercent(this._rectSize()[paneIndex], totalSize), 0);\n }\n\n /** Converts a CSS size string (px or %) to a percentage of total size. */\n private _sizeToPercent(sizeValue: string): number {\n const totalSize = this._getTotalSize();\n if (totalSize === 0) {\n return 0;\n }\n\n if (sizeValue.includes('%')) {\n return asNumber(sizeValue);\n }\n\n const pxValue = asNumber(sizeValue);\n return roundPrecise(asPercent(pxValue, totalSize), 0);\n }\n\n private _getStartPaneSizePercent(): number {\n if (!this._startPane || this._isCollapsed('start')) {\n return 0;\n }\n\n if (this._isCollapsed('end')) {\n return 100;\n }\n\n return this._paneRectAsPercent(0);\n }\n\n private _getMinMaxAsPercent(type: 'min' | 'max'): number {\n const value = type === 'min' ? this.startMinSize : this.startMaxSize;\n const defaultValue = type === 'min' ? 0 : 100;\n\n return value ? this._sizeToPercent(value) : defaultValue;\n }\n\n private _isCollapsed(which: PanePosition): boolean {\n return this._collapsedPane === which;\n }\n\n private _updateBarAria(): void {\n if (this._separator) {\n this._separator.ariaValueNow = this._getStartPaneSizePercent().toString();\n this._separator.ariaValueMin = this._getMinMaxAsPercent('min').toString();\n this._separator.ariaValueMax = this._getMinMaxAsPercent('max').toString();\n }\n }\n\n private _getPaneState(which: PanePosition): SplitterPaneState {\n return which === 'start' ? this._startPaneState : this._endPaneState;\n }\n\n private _isPercentageSize(which: PanePosition): boolean {\n const { size } = this._getPaneState(which);\n return !!size && size.includes('%');\n }\n\n private _isAutoSize(which: PanePosition): boolean {\n return this._getPaneState(which).size === 'auto';\n }\n\n private _normalizeValue(\n value: string | undefined,\n fallback?: 'auto'\n ): string | undefined {\n const trimmed = value?.trim();\n if (!trimmed || trimmed === 'auto') {\n return fallback;\n }\n\n const numericValue = asNumber(trimmed, -1);\n if (numericValue < 0) return fallback;\n if (trimmed.includes('%') && numericValue > 100) return fallback;\n\n return trimmed;\n }\n\n private _getFlex(which: PanePosition): string {\n const isAuto = this._isAutoSize(which);\n const size = isAuto ? '0px' : this._getPaneState(which).size;\n return `${isAuto ? 1 : 0} 1 ${size}`;\n }\n\n private _handleResizePanes(\n direction: -1 | 1,\n validOrientation: SplitterOrientation\n ): void {\n if (this._resizeDisallowed || this.orientation !== validOrientation) {\n return;\n }\n const delta = this._resolveDelta(\n KEYBOARD_RESIZE_STEP,\n KEYBOARD_RESIZE_STEP,\n direction\n );\n\n this._resizeStart();\n this._resizing(delta);\n this._resizeEnd(delta);\n }\n\n @eventOptions({ passive: false })\n private _preventDefaultForEvent(e: Event): void {\n e.preventDefault();\n }\n\n private _resolveDelta(\n deltaX: number,\n deltaY: number,\n direction?: -1 | 1\n ): number {\n const isHorizontal = this._isHorizontal;\n const rtlMultiplier = isHorizontal && !isLTR(this) ? -1 : 1;\n const delta = isHorizontal ? deltaX : deltaY;\n return delta * rtlMultiplier * (direction ?? 1);\n }\n\n private _handleMinMaxResize(type: 'min' | 'max'): void {\n if (this._resizeDisallowed) {\n return;\n }\n\n const totalSize = this._getTotalSize();\n const boundaryValue =\n type === 'min' ? this.startMinSize : this.startMaxSize;\n const isPercentage = boundaryValue\n ? boundaryValue.includes('%')\n : type === 'max';\n\n const targetStartSizePx =\n this._setMinMaxInPx('start', type) ?? (type === 'min' ? 0 : totalSize);\n const targetEndSizePx = totalSize - targetStartSizePx;\n\n if (isPercentage) {\n this.startSize = `${roundPrecise(asPercent(targetStartSizePx, totalSize), 2)}%`;\n this.endSize = `${roundPrecise(asPercent(targetEndSizePx, totalSize), 2)}%`;\n } else {\n this.startSize = `${targetStartSizePx}px`;\n this.endSize = `${targetEndSizePx}px`;\n }\n }\n\n private _handleExpanderAction(pane: PanePosition): void {\n const other: PanePosition = pane === 'start' ? 'end' : 'start';\n this.toggle(this._collapsedPane === other ? other : pane);\n }\n\n private _handleArrowsExpandCollapse(\n target: PanePosition,\n validOrientation: SplitterOrientation\n ): void {\n if (this.disableCollapse || this.orientation !== validOrientation) {\n return;\n }\n const effectiveTarget: PanePosition =\n validOrientation === 'horizontal' && !isLTR(this)\n ? target === 'start'\n ? 'end'\n : 'start'\n : target;\n this._handleExpanderAction(effectiveTarget);\n }\n\n private _resizeStart(): void {\n const [startSize, endSize] = this._rectSize();\n const totalSize = this._getTotalSize();\n\n this._resizeState.startPane = this._createPaneState(\n 'start',\n startSize,\n totalSize\n );\n this._resizeState.endPane = this._createPaneState(\n 'end',\n endSize,\n totalSize\n );\n\n this.emitEvent('igcResizeStart', {\n detail: { startPanelSize: startSize, endPanelSize: endSize },\n });\n }\n\n private _createPaneState(\n pane: PanePosition,\n size: number,\n totalSize?: number\n ): PaneResizeSnapshot {\n return {\n initialSize: size,\n isPercentageBased: this._isPercentageSize(pane) || this._isAutoSize(pane),\n minSizePx: this._setMinMaxInPx(pane, 'min', totalSize),\n maxSizePx: this._setMinMaxInPx(pane, 'max', totalSize),\n };\n }\n\n private _setMinMaxInPx(\n pane: PanePosition,\n type: 'min' | 'max',\n totalSize?: number\n ): number | undefined {\n const paneState = this._getPaneState(pane);\n const value = type === 'max' ? paneState.maxSize : paneState.minSize;\n const valueAsNumber = asNumber(value);\n\n if (!value) {\n return undefined;\n }\n\n return value.includes('%')\n ? (valueAsNumber / 100) * (totalSize ?? this._getTotalSize())\n : valueAsNumber;\n }\n\n private _resizing(delta: number): void {\n const [startPaneSize, endPaneSize] = this._calcNewSizes(delta);\n\n this.startSize = `${startPaneSize}px`;\n this.endSize = `${endPaneSize}px`;\n\n this.emitEvent('igcResizing', {\n detail: {\n startPanelSize: startPaneSize,\n endPanelSize: endPaneSize,\n delta,\n },\n });\n }\n\n private _computeSize(\n pane: PaneResizeSnapshot,\n paneSize: number,\n totalSize: number\n ): string {\n return pane.isPercentageBased\n ? `${asPercent(paneSize, totalSize)}%`\n : `${roundPrecise(paneSize, 0)}px`;\n }\n\n private _resizeEnd(delta: number): void {\n if (!this._resizeState.startPane || !this._resizeState.endPane) {\n return;\n }\n\n const [startPaneSize, endPaneSize] = this._calcNewSizes(delta);\n const totalSize = this._getTotalSize();\n\n this.startSize = this._computeSize(\n this._resizeState.startPane,\n startPaneSize,\n totalSize\n );\n this.endSize = this._computeSize(\n this._resizeState.endPane,\n endPaneSize,\n totalSize\n );\n\n this.emitEvent('igcResizeEnd', {\n detail: {\n startPanelSize: startPaneSize,\n endPanelSize: endPaneSize,\n delta,\n },\n });\n }\n\n private _rectSize(): [number, number] {\n const axis = this._isHorizontal ? 'width' : 'height';\n const startPaneRect = this._startPane.getBoundingClientRect();\n const endPaneRect = this._endPane.getBoundingClientRect();\n\n return [startPaneRect[axis], endPaneRect[axis]];\n }\n\n private _calcNewSizes(delta: number): [number, number] {\n if (!this._resizeState.startPane || !this._resizeState.endPane)\n return [0, 0];\n\n const start = this._resizeState.startPane;\n const end = this._resizeState.endPane;\n const minStart = start.minSizePx || 0;\n const minEnd = end.minSizePx || 0;\n const maxStart =\n start.maxSizePx || start.initialSize + end.initialSize - minEnd;\n const maxEnd =\n end.maxSizePx || start.initialSize + end.initialSize - minStart;\n\n const maxPosDelta = Math.min(\n maxStart - start.initialSize,\n end.initialSize - minEnd\n );\n const maxNegDelta = Math.min(\n start.initialSize - minStart,\n maxEnd - end.initialSize\n );\n const finalDelta = clamp(delta, -maxNegDelta, maxPosDelta);\n\n return [start.initialSize + finalDelta, end.initialSize - finalDelta];\n }\n\n private _getTotalSize(): number {\n if (!this._base) {\n return 0;\n }\n\n const axis = this._isHorizontal ? 'width' : 'height';\n const barSize = this._separator\n ? roundPrecise(this._separator.getBoundingClientRect()[axis])\n : 0;\n\n const rect = this._base.getBoundingClientRect();\n const size = rect[axis];\n return size - barSize;\n }\n\n private _updatePanes(): void {\n const totalSize = this._getTotalSize();\n const isCollapsed = this._collapsedPane !== null;\n\n for (const pane of ['start', 'end'] as PanePosition[]) {\n const state = this._getPaneState(pane);\n if (isCollapsed) {\n state.size = 'auto';\n state.minSize = undefined;\n state.maxSize = undefined;\n }\n this._setPaneMinMaxSizes(\n pane,\n isCollapsed ? '0' : state.minSize,\n isCollapsed ? '100%' : state.maxSize,\n totalSize\n );\n this._updatePaneStyles(pane, { flex: this._getFlex(pane) });\n }\n }\n\n private _updatePaneStyles(pane: PanePosition, styles: StyleInfo): void {\n Object.assign(this._getPaneState(pane).styles, styles);\n }\n\n private _setPaneMinMaxSizes(\n pane: PanePosition,\n minSize?: string,\n maxSize?: string,\n totalSize?: number\n ): void {\n const min =\n this._ensureMinConstraintIsWithinBounds(pane, minSize, totalSize) ?? 0;\n const max = maxSize ?? '100%';\n\n this._updatePaneStyles(\n pane,\n this._isHorizontal\n ? { minWidth: min, maxWidth: max, minHeight: 0, maxHeight: '100%' }\n : { minWidth: 0, maxWidth: '100%', minHeight: min, maxHeight: max }\n );\n }\n\n private _ensureMinConstraintIsWithinBounds(\n pane: PanePosition,\n minSize?: string,\n totalSize?: number\n ): string | undefined {\n const total = totalSize ?? this._getTotalSize();\n\n if (minSize && total > 0) {\n const minPx = this._setMinMaxInPx(pane, 'min', total) ?? 0;\n const other: PanePosition = pane === 'start' ? 'end' : 'start';\n const otherMinPx = this._getPaneState(other).minSize\n ? (this._setMinMaxInPx(other, 'min', total) ?? 0)\n : 0;\n\n // Ignore constraint if it exceeds total or combined exceeds total to prevent content overflow\n // Once container grows to accommodate the constraint, it will be applied\n if (minPx > total || minPx + otherMinPx > total) {\n return undefined;\n }\n }\n return minSize;\n }\n\n private _handleExpanderClick(pane: PanePosition, event: PointerEvent): void {\n // Prevent resize action being initiated\n event.stopPropagation();\n this._handleExpanderAction(pane);\n }\n\n //#endregion\n\n //#region Rendering\n\n private _resolvePartNames(expander: PanePosition): Record<string, boolean> {\n const other: PanePosition = expander === 'start' ? 'end' : 'start';\n const otherIsCollapsed = this._isCollapsed(other);\n\n return {\n [`${other}-expand-btn`]: otherIsCollapsed,\n [`${expander}-collapse-btn`]: !otherIsCollapsed,\n };\n }\n\n private _renderBarControls() {\n const dragHandleHidden = this.hideDragHandle || this.disableResize;\n const hidden = this.disableCollapse || this.hideCollapseButtons;\n const prevButtonHidden = hidden || this._isCollapsed('start');\n const nextButtonHidden = hidden || this._isCollapsed('end');\n\n return html`\n <div\n part=\"${partMap(this._resolvePartNames('start'))}\"\n ?hidden=${prevButtonHidden}\n @pointerdown=${(e: PointerEvent) =>\n this._handleExpanderClick('start', e)}\n ></div>\n <div part=\"drag-handle\" ?hidden=${dragHandleHidden}></div>\n <div\n part=\"${partMap(this._resolvePartNames('end'))}\"\n ?hidden=${nextButtonHidden}\n @pointerdown=${(e: PointerEvent) => this._handleExpanderClick('end', e)}\n ></div>\n `;\n }\n\n private _renderAccessibleLabel() {\n return html`\n <igc-visually-hidden id=\"splitter-label\">\n ${this._isCollapsed('start')\n ? 'Start pane collapsed'\n : 'Start pane expanded'}\n and\n ${this._isCollapsed('end') ? 'End pane collapsed' : 'End pane expanded'}\n </igc-visually-hidden>\n `;\n }\n\n private _renderSeparator() {\n const isDragging = this._resizeState.isDragging;\n const canResize = !this._resizeDisallowed;\n\n return html`\n <div\n ${ref(this._separatorRef)}\n part=\"splitter-bar\"\n role=\"separator\"\n tabindex=${this.disableCollapse && this.disableResize ? -1 : 0}\n aria-controls=\"start-pane end-pane\"\n aria-labelledby=\"splitter-label\"\n aria-orientation=${this.orientation}\n style=${styleMap({ '--cursor': this._separatorCursor })}\n @touchstart=${bindIf(canResize, this._preventDefaultForEvent)}\n @contextmenu=${bindIf(canResize, this._preventDefaultForEvent)}\n @pointerdown=${bindIf(canResize, this._handleBarPointerDown)}\n @pointermove=${bindIf(isDragging, this._handleBarPointerMove)}\n @pointerup=${bindIf(isDragging, this._handleEndDrag)}\n @lostpointercapture=${bindIf(isDragging, this._handleEndDrag)}\n @pointercancel=${bindIf(isDragging, this._endDrag)}\n >\n ${this._renderBarControls()}\n </div>\n `;\n }\n\n protected override render() {\n return html`\n ${this._renderAccessibleLabel()}\n <div part=\"base\">\n <div\n part=\"start-pane\"\n id=\"start-pane\"\n style=${styleMap(this._startPaneState.styles)}\n >\n <slot name=\"start\"></slot>\n </div>\n ${this._renderSeparator()}\n <div\n part=\"end-pane\"\n id=\"end-pane\"\n style=${styleMap(this._endPaneState.styles)}\n >\n <slot name=\"end\"></slot>\n </div>\n </div>\n `;\n }\n\n //#endregion\n}\n\nexport type { IgcSplitterComponentEventMap, IgcSplitterResizeEventDetail };\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-splitter': IgcSplitterComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"splitter.js","sourceRoot":"","sources":["../../../src/components/splitter/splitter.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, type PropertyValues } from 'lit';\nimport { eventOptions, property, query, state } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { type StyleInfo, styleMap } from 'lit/directives/style-map.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n ctrlKey,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport { createResizeObserverController } from '../common/controllers/resize-observer.js';\nimport { addSlotController, setSlots } from '../common/controllers/slot.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n asNumber,\n asPercent,\n bindIf,\n clamp,\n isLTR,\n roundPrecise,\n} from '../common/util.js';\nimport type { SplitterOrientation } from '../types.js';\nimport IgcVisuallyHiddenComponent from '../visually-hidden/visually-hidden.js';\nimport { styles as shared } from './themes/shared/splitter.common.css.js';\nimport { styles } from './themes/splitter.base.css.js';\nimport { all } from './themes/themes.js';\nimport type {\n IgcSplitterComponentEventMap,\n IgcSplitterResizeEventArgs,\n IgcSplitterResizeEventDetail,\n PanePosition,\n PaneResizeSnapshot,\n SplitterPaneState,\n SplitterResizeState,\n} from './types.js';\n\nconst KEYBOARD_RESIZE_STEP = 10;\n\nconst DEFAULT_RESIZE_STATE: SplitterResizeState = {\n startPane: null,\n endPane: null,\n isDragging: false,\n dragStartPosition: { x: 0, y: 0 },\n dragPointerId: -1,\n};\n\n/**\n * The `igc-splitter` component provides a resizable split-pane layout that divides the view\n * into two panels — *start* and *end* — separated by a draggable bar.\n *\n * Panels can be resized by dragging the bar, using keyboard shortcuts, or collapsed/expanded\n * using the built-in collapse buttons or the programmatic `toggle()` API.\n * Nested splitters are supported for more complex layouts.\n *\n * @example\n * ```html\n * <!-- Basic horizontal splitter -->\n * <igc-splitter>\n * <div slot=\"start\">Start panel</div>\n * <div slot=\"end\">End panel</div>\n * </igc-splitter>\n * ```\n *\n * @example\n * ```html\n * <!-- Vertical splitter with size constraints -->\n * <igc-splitter orientation=\"vertical\" start-min-size=\"100px\" end-min-size=\"100px\">\n * <div slot=\"start\">Top panel</div>\n * <div slot=\"end\">Bottom panel</div>\n * </igc-splitter>\n * ```\n *\n * @example\n * ```html\n * <!-- Nested splitters for a multi-pane layout -->\n * <igc-splitter style=\"height: 600px;\">\n * <igc-splitter slot=\"start\" orientation=\"vertical\">\n * <div slot=\"start\">Top left</div>\n * <div slot=\"end\">Bottom left</div>\n * </igc-splitter>\n * <div slot=\"end\">Right panel</div>\n * </igc-splitter>\n * ```\n *\n * @example\n * ```ts\n * // Programmatically collapse/expand a pane\n * const splitter = document.querySelector('igc-splitter');\n * splitter.toggle('start'); // collapse start pane\n * splitter.toggle('start'); // expand start pane\n * ```\n *\n * ## Keyboard interactions\n *\n * When the splitter bar is focused:\n *\n * | Key | Action |\n * |---|---|\n * | `Arrow Left` / `Arrow Right` | Resize panes (horizontal orientation) |\n * | `Arrow Up` / `Arrow Down` | Resize panes (vertical orientation) |\n * | `Home` | Snap start pane to its minimum size |\n * | `End` | Snap start pane to its maximum size |\n * | `Ctrl + Arrow Left` / `Ctrl + Arrow Up` | Collapse or expand the start pane |\n * | `Ctrl + Arrow Right` / `Ctrl + Arrow Down` | Collapse or expand the end pane |\n *\n * @element igc-splitter\n *\n * @fires igcResizeStart - Emitted once when a resize operation begins (pointer drag or keyboard).\n * @fires igcResizing - Emitted continuously while a pane is being resized.\n * @fires igcResizeEnd - Emitted once when a resize operation completes.\n *\n * @slot start - Content projected into the start (left/top) panel.\n * @slot end - Content projected into the end (right/bottom) panel.\n *\n * @csspart splitter-bar - The resizable bar element between the two panels.\n * @csspart drag-handle - The drag handle icon/element on the splitter bar.\n * @csspart start-pane - The container for the start panel content.\n * @csspart end-pane - The container for the end panel content.\n * @csspart start-collapse-btn - The button to collapse the start panel.\n * @csspart end-collapse-btn - The button to collapse the end panel.\n * @csspart start-expand-btn - The button to expand the start panel when collapsed.\n * @csspart end-expand-btn - The button to expand the end panel when collapsed.\n */\nexport default class IgcSplitterComponent extends EventEmitterMixin<\n IgcSplitterComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-splitter';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcSplitterComponent, IgcVisuallyHiddenComponent);\n }\n\n //#region Private Properties\n\n private readonly _internals = addInternalsController(this);\n\n private readonly _separatorRef = createRef<HTMLElement>();\n\n private _startPaneState: SplitterPaneState = { size: 'auto', styles: {} };\n private _endPaneState: SplitterPaneState = { size: 'auto', styles: {} };\n\n @state()\n private _collapsedPane: PanePosition | null = null;\n\n @state()\n private _resizeState: SplitterResizeState = { ...DEFAULT_RESIZE_STATE };\n\n @query('[part~=\"base\"]', true)\n private readonly _base!: HTMLElement;\n\n @query('[part~=\"start-pane\"]', true)\n private readonly _startPane!: HTMLElement;\n\n @query('[part~=\"end-pane\"]', true)\n private readonly _endPane!: HTMLElement;\n\n private get _separator(): HTMLElement | undefined {\n return this._separatorRef.value;\n }\n\n private get _resizeDisallowed(): boolean {\n return this.disableResize || this._collapsedPane != null;\n }\n\n private get _isHorizontal(): boolean {\n return this.orientation === 'horizontal';\n }\n\n private get _separatorCursor(): string {\n if (this._resizeDisallowed) {\n return 'default';\n }\n return this._isHorizontal ? 'col-resize' : 'row-resize';\n }\n\n //#endregion\n\n //#region Public Properties\n\n /**\n * The orientation of the splitter, which determines the direction of resizing and collapsing.\n *\n * @attr orientation\n * @default 'horizontal'\n */\n @property({ reflect: true })\n public orientation: SplitterOrientation = 'horizontal';\n\n /**\n * When true, prevents the user from collapsing either pane.\n * This also hides the expand/collapse buttons on the splitter bar.\n *\n * @attr disable-collapse\n * @default false\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-collapse' })\n public disableCollapse = false;\n\n /**\n * When true, prevents the user from resizing the panes by dragging the splitter bar or using keyboard shortcuts.\n * This also hides the drag handle on the splitter bar.\n *\n * @attr disable-resize\n * @default false\n */\n @property({ type: Boolean, reflect: true, attribute: 'disable-resize' })\n public disableResize = false;\n\n /**\n * When true, hides the expand/collapse buttons on the splitter bar.\n *\n * Note that the buttons will also be hidden if `disable-collapse` is true or\n * if a pane is currently collapsed.\n *\n * @attr hide-collapse-buttons\n * @default false\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'hide-collapse-buttons',\n })\n public hideCollapseButtons = false;\n\n /**\n * When true, hides the drag handle on the splitter bar.\n *\n * Note that the drag handle will also be hidden if `disable-resize` is true.\n *\n * @attr hide-drag-handle\n * @default false\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'hide-drag-handle',\n })\n public hideDragHandle = false;\n\n /**\n * The minimum size of the start pane.\n *\n * @attr start-min-size\n */\n @property({ attribute: 'start-min-size' })\n public set startMinSize(value: string | undefined) {\n this._startPaneState.minSize = this._normalizeValue(value);\n }\n\n public get startMinSize(): string | undefined {\n return this._startPaneState.minSize;\n }\n\n /**\n * The minimum size of the end pane.\n *\n * @attr end-min-size\n */\n @property({ attribute: 'end-min-size' })\n public set endMinSize(value: string | undefined) {\n this._endPaneState.minSize = this._normalizeValue(value);\n }\n\n public get endMinSize(): string | undefined {\n return this._endPaneState.minSize;\n }\n\n /**\n * The maximum size of the start pane.\n *\n * @attr start-max-size\n */\n @property({ attribute: 'start-max-size' })\n public set startMaxSize(value: string | undefined) {\n this._startPaneState.maxSize = this._normalizeValue(value);\n }\n\n public get startMaxSize(): string | undefined {\n return this._startPaneState.maxSize;\n }\n\n /**\n * The maximum size of the end pane.\n *\n * @attr end-max-size\n */\n @property({ attribute: 'end-max-size' })\n public set endMaxSize(value: string | undefined) {\n this._endPaneState.maxSize = this._normalizeValue(value);\n }\n\n public get endMaxSize(): string | undefined {\n return this._endPaneState.maxSize;\n }\n\n /**\n * The size of the start pane.\n *\n * @attr start-size\n */\n @property({ attribute: 'start-size' })\n public set startSize(value: string | undefined) {\n this._startPaneState.size = this._normalizeValue(value, 'auto');\n }\n\n public get startSize(): string | undefined {\n return this._startPaneState.size;\n }\n\n /**\n * The size of the end pane.\n *\n * @attr end-size\n */\n @property({ attribute: 'end-size' })\n public set endSize(value: string | undefined) {\n this._endPaneState.size = this._normalizeValue(value, 'auto');\n }\n\n public get endSize(): string | undefined {\n return this._endPaneState.size;\n }\n\n //#endregion\n\n //#region Lifecycle\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addSlotController(this, { slots: setSlots('start', 'end') });\n\n createResizeObserverController(this, {\n callback: () => this.requestUpdate(),\n });\n\n addKeybindings(this, {\n ref: this._separatorRef,\n })\n .set(arrowUp, () => this._handleResizePanes(-1, 'vertical'))\n .set(arrowDown, () => this._handleResizePanes(1, 'vertical'))\n .set(arrowLeft, () => this._handleResizePanes(-1, 'horizontal'))\n .set(arrowRight, () => this._handleResizePanes(1, 'horizontal'))\n .set(homeKey, () => this._handleMinMaxResize('min'))\n .set(endKey, () => this._handleMinMaxResize('max'))\n .set([ctrlKey, arrowUp], () =>\n this._handleArrowsExpandCollapse('start', 'vertical')\n )\n .set([ctrlKey, arrowDown], () =>\n this._handleArrowsExpandCollapse('end', 'vertical')\n )\n .set([ctrlKey, arrowLeft], () =>\n this._handleArrowsExpandCollapse('start', 'horizontal')\n )\n .set([ctrlKey, arrowRight], () =>\n this._handleArrowsExpandCollapse('end', 'horizontal')\n );\n }\n\n protected override update(changed: PropertyValues<this>): void {\n if (changed.get('orientation') != null) {\n for (const pane of ['start', 'end'] as PanePosition[]) {\n const state = this._getPaneState(pane);\n state.size = 'auto';\n state.minSize = undefined;\n state.maxSize = undefined;\n }\n }\n\n if (this.hasUpdated) {\n this._updatePanes();\n }\n\n super.update(changed);\n }\n\n protected override updated(): void {\n this._updateBarAria();\n }\n\n //#endregion\n\n //#region Resize Event Handlers\n\n private _handleBarPointerDown(e: PointerEvent): void {\n if (e.button !== 0) {\n return;\n }\n\n e.preventDefault();\n\n this._resizeState = {\n ...this._resizeState,\n isDragging: true,\n dragPointerId: e.pointerId,\n dragStartPosition: { x: e.clientX, y: e.clientY },\n };\n\n this._resizeStart();\n this._separator?.setPointerCapture(this._resizeState.dragPointerId);\n }\n\n private _getDragDelta(e: PointerEvent): number {\n const deltaX = e.clientX - this._resizeState.dragStartPosition.x;\n const deltaY = e.clientY - this._resizeState.dragStartPosition.y;\n return this._resolveDelta(deltaX, deltaY);\n }\n\n private _handleBarPointerMove(e: PointerEvent): void {\n if (e.pointerId !== this._resizeState.dragPointerId) {\n return;\n }\n\n const delta = this._getDragDelta(e);\n\n if (delta !== 0) {\n this._resizing(delta);\n }\n }\n\n private _handleEndDrag(e: PointerEvent): void {\n if (e.pointerId !== this._resizeState.dragPointerId) {\n return;\n }\n\n const delta = this._getDragDelta(e);\n\n if (delta !== 0) {\n this._resizeEnd(delta);\n }\n\n this._endDrag();\n }\n\n private _endDrag(): void {\n if (this._resizeState.dragPointerId !== -1) {\n this._separator?.releasePointerCapture(this._resizeState.dragPointerId);\n }\n this._resizeState = { ...DEFAULT_RESIZE_STATE };\n }\n\n //#endregion\n\n //#region Public Methods\n\n /** Toggles the collapsed state of the specified pane. */\n public toggle(position: PanePosition): void {\n if (this._collapsedPane === null) {\n this._savePaneSizes();\n }\n\n // If the requested pane is already collapsed, expand it (set to null)\n // Otherwise, collapse the requested pane (this also handles switching from one collapsed pane to another)\n this._collapsedPane = this._collapsedPane === position ? null : position;\n\n this._internals.setState('start-collapsed', this._isCollapsed('start'));\n this._internals.setState('end-collapsed', this._isCollapsed('end'));\n\n this._restoreSizesOnExpandCollapse();\n }\n\n //#endregion\n\n //#region Internal API\n\n private _savePaneSizes(): void {\n this._startPaneState.savedSize = `${this._paneRectAsPercent(0)}%`;\n this._endPaneState.savedSize = `${this._paneRectAsPercent(1)}%`;\n }\n\n /* Reset sizes on collapse; restore saved sizes on expand */\n private _restoreSizesOnExpandCollapse(): void {\n if (this._collapsedPane !== null) {\n this._startPaneState.size = 'auto';\n this._endPaneState.size = 'auto';\n } else {\n this._startPaneState.size =\n this._startPaneState.savedSize ?? this.startSize;\n this._endPaneState.size = this._endPaneState.savedSize ?? this.endSize;\n }\n }\n\n /** Measures the actual rendered size of a pane and returns it as a percentage of total size. */\n private _paneRectAsPercent(paneIndex: 0 | 1): number {\n const totalSize = this._getTotalSize();\n if (totalSize === 0) {\n return 0;\n }\n return roundPrecise(asPercent(this._rectSize()[paneIndex], totalSize), 0);\n }\n\n /** Converts a CSS size string (px or %) to a percentage of total size. */\n private _sizeToPercent(sizeValue: string): number {\n const totalSize = this._getTotalSize();\n if (totalSize === 0) {\n return 0;\n }\n\n if (sizeValue.includes('%')) {\n return asNumber(sizeValue);\n }\n\n const pxValue = asNumber(sizeValue);\n return roundPrecise(asPercent(pxValue, totalSize), 0);\n }\n\n private _getStartPaneSizePercent(): number {\n if (!this._startPane || this._isCollapsed('start')) {\n return 0;\n }\n\n if (this._isCollapsed('end')) {\n return 100;\n }\n\n return this._paneRectAsPercent(0);\n }\n\n private _getMinMaxAsPercent(type: 'min' | 'max'): number {\n const value = type === 'min' ? this.startMinSize : this.startMaxSize;\n const defaultValue = type === 'min' ? 0 : 100;\n\n return value ? this._sizeToPercent(value) : defaultValue;\n }\n\n private _isCollapsed(which: PanePosition): boolean {\n return this._collapsedPane === which;\n }\n\n private _updateBarAria(): void {\n if (this._separator) {\n this._separator.ariaValueNow = this._getStartPaneSizePercent().toString();\n this._separator.ariaValueMin = this._getMinMaxAsPercent('min').toString();\n this._separator.ariaValueMax = this._getMinMaxAsPercent('max').toString();\n }\n }\n\n private _getPaneState(which: PanePosition): SplitterPaneState {\n return which === 'start' ? this._startPaneState : this._endPaneState;\n }\n\n private _isPercentageSize(which: PanePosition): boolean {\n const { size } = this._getPaneState(which);\n return !!size && size.includes('%');\n }\n\n private _isAutoSize(which: PanePosition): boolean {\n return this._getPaneState(which).size === 'auto';\n }\n\n private _normalizeValue(\n value: string | undefined,\n fallback?: 'auto'\n ): string | undefined {\n const trimmed = value?.trim();\n if (!trimmed || trimmed === 'auto') {\n return fallback;\n }\n\n const numericValue = asNumber(trimmed, -1);\n if (numericValue < 0) return fallback;\n if (trimmed.includes('%') && numericValue > 100) return fallback;\n\n return trimmed;\n }\n\n private _getFlex(which: PanePosition): string {\n const isAuto = this._isAutoSize(which);\n const size = isAuto ? '0px' : this._getPaneState(which).size;\n return `${isAuto ? 1 : 0} 1 ${size}`;\n }\n\n private _handleResizePanes(\n direction: -1 | 1,\n validOrientation: SplitterOrientation\n ): void {\n if (this._resizeDisallowed || this.orientation !== validOrientation) {\n return;\n }\n const delta = this._resolveDelta(\n KEYBOARD_RESIZE_STEP,\n KEYBOARD_RESIZE_STEP,\n direction\n );\n\n this._resizeStart();\n this._resizing(delta);\n this._resizeEnd(delta);\n }\n\n @eventOptions({ passive: false })\n private _preventDefaultForEvent(e: Event): void {\n e.preventDefault();\n }\n\n private _resolveDelta(\n deltaX: number,\n deltaY: number,\n direction?: -1 | 1\n ): number {\n const isHorizontal = this._isHorizontal;\n const rtlMultiplier = isHorizontal && !isLTR(this) ? -1 : 1;\n const delta = isHorizontal ? deltaX : deltaY;\n return delta * rtlMultiplier * (direction ?? 1);\n }\n\n private _handleMinMaxResize(type: 'min' | 'max'): void {\n if (this._resizeDisallowed) {\n return;\n }\n\n const totalSize = this._getTotalSize();\n const boundaryValue =\n type === 'min' ? this.startMinSize : this.startMaxSize;\n const isPercentage = boundaryValue\n ? boundaryValue.includes('%')\n : type === 'max';\n\n const targetStartSizePx =\n this._setMinMaxInPx('start', type) ?? (type === 'min' ? 0 : totalSize);\n const targetEndSizePx = totalSize - targetStartSizePx;\n\n if (isPercentage) {\n this.startSize = `${roundPrecise(asPercent(targetStartSizePx, totalSize), 2)}%`;\n this.endSize = `${roundPrecise(asPercent(targetEndSizePx, totalSize), 2)}%`;\n } else {\n this.startSize = `${targetStartSizePx}px`;\n this.endSize = `${targetEndSizePx}px`;\n }\n }\n\n private _handleExpanderAction(pane: PanePosition): void {\n const other: PanePosition = pane === 'start' ? 'end' : 'start';\n this.toggle(this._collapsedPane === other ? other : pane);\n }\n\n private _handleArrowsExpandCollapse(\n target: PanePosition,\n validOrientation: SplitterOrientation\n ): void {\n if (this.disableCollapse || this.orientation !== validOrientation) {\n return;\n }\n const effectiveTarget: PanePosition =\n validOrientation === 'horizontal' && !isLTR(this)\n ? target === 'start'\n ? 'end'\n : 'start'\n : target;\n this._handleExpanderAction(effectiveTarget);\n }\n\n private _resizeStart(): void {\n const [startSize, endSize] = this._rectSize();\n const totalSize = this._getTotalSize();\n\n this._resizeState.startPane = this._createPaneState(\n 'start',\n startSize,\n totalSize\n );\n this._resizeState.endPane = this._createPaneState(\n 'end',\n endSize,\n totalSize\n );\n\n this.emitEvent('igcResizeStart', {\n detail: { startPanelSize: startSize, endPanelSize: endSize },\n });\n }\n\n private _createPaneState(\n pane: PanePosition,\n size: number,\n totalSize?: number\n ): PaneResizeSnapshot {\n return {\n initialSize: size,\n isPercentageBased: this._isPercentageSize(pane) || this._isAutoSize(pane),\n minSizePx: this._setMinMaxInPx(pane, 'min', totalSize),\n maxSizePx: this._setMinMaxInPx(pane, 'max', totalSize),\n };\n }\n\n private _setMinMaxInPx(\n pane: PanePosition,\n type: 'min' | 'max',\n totalSize?: number\n ): number | undefined {\n const paneState = this._getPaneState(pane);\n const value = type === 'max' ? paneState.maxSize : paneState.minSize;\n const valueAsNumber = asNumber(value);\n\n if (!value) {\n return undefined;\n }\n\n return value.includes('%')\n ? (valueAsNumber / 100) * (totalSize ?? this._getTotalSize())\n : valueAsNumber;\n }\n\n private _resizing(delta: number): void {\n const [startPaneSize, endPaneSize] = this._calcNewSizes(delta);\n\n this.startSize = `${startPaneSize}px`;\n this.endSize = `${endPaneSize}px`;\n\n this.emitEvent('igcResizing', {\n detail: {\n startPanelSize: startPaneSize,\n endPanelSize: endPaneSize,\n delta,\n },\n });\n }\n\n private _computeSize(\n pane: PaneResizeSnapshot,\n paneSize: number,\n totalSize: number\n ): string {\n return pane.isPercentageBased\n ? `${asPercent(paneSize, totalSize)}%`\n : `${roundPrecise(paneSize, 0)}px`;\n }\n\n private _resizeEnd(delta: number): void {\n if (!this._resizeState.startPane || !this._resizeState.endPane) {\n return;\n }\n\n const [startPaneSize, endPaneSize] = this._calcNewSizes(delta);\n const totalSize = this._getTotalSize();\n\n this.startSize = this._computeSize(\n this._resizeState.startPane,\n startPaneSize,\n totalSize\n );\n this.endSize = this._computeSize(\n this._resizeState.endPane,\n endPaneSize,\n totalSize\n );\n\n this.emitEvent('igcResizeEnd', {\n detail: {\n startPanelSize: startPaneSize,\n endPanelSize: endPaneSize,\n delta,\n },\n });\n }\n\n private _rectSize(): [number, number] {\n const axis = this._isHorizontal ? 'width' : 'height';\n const startPaneRect = this._startPane.getBoundingClientRect();\n const endPaneRect = this._endPane.getBoundingClientRect();\n\n return [startPaneRect[axis], endPaneRect[axis]];\n }\n\n private _calcNewSizes(delta: number): [number, number] {\n if (!this._resizeState.startPane || !this._resizeState.endPane)\n return [0, 0];\n\n const start = this._resizeState.startPane;\n const end = this._resizeState.endPane;\n const minStart = start.minSizePx || 0;\n const minEnd = end.minSizePx || 0;\n const maxStart =\n start.maxSizePx || start.initialSize + end.initialSize - minEnd;\n const maxEnd =\n end.maxSizePx || start.initialSize + end.initialSize - minStart;\n\n const maxPosDelta = Math.min(\n maxStart - start.initialSize,\n end.initialSize - minEnd\n );\n const maxNegDelta = Math.min(\n start.initialSize - minStart,\n maxEnd - end.initialSize\n );\n const finalDelta = clamp(delta, -maxNegDelta, maxPosDelta);\n\n return [start.initialSize + finalDelta, end.initialSize - finalDelta];\n }\n\n private _getTotalSize(): number {\n if (!this._base) {\n return 0;\n }\n\n const axis = this._isHorizontal ? 'width' : 'height';\n const barSize = this._separator\n ? roundPrecise(this._separator.getBoundingClientRect()[axis])\n : 0;\n\n const rect = this._base.getBoundingClientRect();\n const size = rect[axis];\n return size - barSize;\n }\n\n private _updatePanes(): void {\n const totalSize = this._getTotalSize();\n const isCollapsed = this._collapsedPane !== null;\n\n for (const pane of ['start', 'end'] as PanePosition[]) {\n const state = this._getPaneState(pane);\n if (isCollapsed) {\n state.size = 'auto';\n state.minSize = undefined;\n state.maxSize = undefined;\n }\n this._setPaneMinMaxSizes(\n pane,\n isCollapsed ? '0' : state.minSize,\n isCollapsed ? '100%' : state.maxSize,\n totalSize\n );\n this._updatePaneStyles(pane, { flex: this._getFlex(pane) });\n }\n }\n\n private _updatePaneStyles(pane: PanePosition, styles: StyleInfo): void {\n Object.assign(this._getPaneState(pane).styles, styles);\n }\n\n private _setPaneMinMaxSizes(\n pane: PanePosition,\n minSize?: string,\n maxSize?: string,\n totalSize?: number\n ): void {\n const min =\n this._ensureMinConstraintIsWithinBounds(pane, minSize, totalSize) ?? 0;\n const max = maxSize ?? '100%';\n\n this._updatePaneStyles(\n pane,\n this._isHorizontal\n ? { minWidth: min, maxWidth: max, minHeight: 0, maxHeight: '100%' }\n : { minWidth: 0, maxWidth: '100%', minHeight: min, maxHeight: max }\n );\n }\n\n private _ensureMinConstraintIsWithinBounds(\n pane: PanePosition,\n minSize?: string,\n totalSize?: number\n ): string | undefined {\n const total = totalSize ?? this._getTotalSize();\n\n if (minSize && total > 0) {\n const minPx = this._setMinMaxInPx(pane, 'min', total) ?? 0;\n const other: PanePosition = pane === 'start' ? 'end' : 'start';\n const otherMinPx = this._getPaneState(other).minSize\n ? (this._setMinMaxInPx(other, 'min', total) ?? 0)\n : 0;\n\n // Ignore constraint if it exceeds total or combined exceeds total to prevent content overflow\n // Once container grows to accommodate the constraint, it will be applied\n if (minPx > total || minPx + otherMinPx > total) {\n return undefined;\n }\n }\n return minSize;\n }\n\n private _handleExpanderClick(pane: PanePosition, event: PointerEvent): void {\n // Prevent resize action being initiated\n event.stopPropagation();\n this._handleExpanderAction(pane);\n }\n\n //#endregion\n\n //#region Rendering\n\n private _resolvePartNames(expander: PanePosition): Record<string, boolean> {\n const other: PanePosition = expander === 'start' ? 'end' : 'start';\n const otherIsCollapsed = this._isCollapsed(other);\n\n return {\n [`${other}-expand-btn`]: otherIsCollapsed,\n [`${expander}-collapse-btn`]: !otherIsCollapsed,\n };\n }\n\n private _renderBarControls() {\n const dragHandleHidden = this.hideDragHandle || this.disableResize;\n const hidden = this.disableCollapse || this.hideCollapseButtons;\n const prevButtonHidden = hidden || this._isCollapsed('start');\n const nextButtonHidden = hidden || this._isCollapsed('end');\n\n return html`\n <div\n part=\"${partMap(this._resolvePartNames('start'))}\"\n ?hidden=${prevButtonHidden}\n @pointerdown=${(e: PointerEvent) =>\n this._handleExpanderClick('start', e)}\n ></div>\n <div part=\"drag-handle\" ?hidden=${dragHandleHidden}></div>\n <div\n part=\"${partMap(this._resolvePartNames('end'))}\"\n ?hidden=${nextButtonHidden}\n @pointerdown=${(e: PointerEvent) => this._handleExpanderClick('end', e)}\n ></div>\n `;\n }\n\n private _renderAccessibleLabel() {\n return html`\n <igc-visually-hidden id=\"splitter-label\">\n ${this._isCollapsed('start')\n ? 'Start pane collapsed'\n : 'Start pane expanded'}\n and\n ${this._isCollapsed('end') ? 'End pane collapsed' : 'End pane expanded'}\n </igc-visually-hidden>\n `;\n }\n\n private _renderSeparator() {\n const isDragging = this._resizeState.isDragging;\n const canResize = !this._resizeDisallowed;\n\n return html`\n <div\n ${ref(this._separatorRef)}\n part=\"splitter-bar\"\n role=\"separator\"\n tabindex=${this.disableCollapse && this.disableResize ? -1 : 0}\n aria-controls=\"start-pane end-pane\"\n aria-labelledby=\"splitter-label\"\n aria-orientation=${this.orientation}\n style=${styleMap({ '--cursor': this._separatorCursor })}\n @touchstart=${bindIf(canResize, this._preventDefaultForEvent)}\n @contextmenu=${bindIf(canResize, this._preventDefaultForEvent)}\n @pointerdown=${bindIf(canResize, this._handleBarPointerDown)}\n @pointermove=${bindIf(isDragging, this._handleBarPointerMove)}\n @pointerup=${bindIf(isDragging, this._handleEndDrag)}\n @lostpointercapture=${bindIf(isDragging, this._handleEndDrag)}\n @pointercancel=${bindIf(isDragging, this._endDrag)}\n >\n ${this._renderBarControls()}\n </div>\n `;\n }\n\n protected override render() {\n return html`\n ${this._renderAccessibleLabel()}\n <div part=\"base\">\n <div\n part=\"start-pane\"\n id=\"start-pane\"\n style=${styleMap(this._startPaneState.styles)}\n >\n <slot name=\"start\"></slot>\n </div>\n ${this._renderSeparator()}\n <div\n part=\"end-pane\"\n id=\"end-pane\"\n style=${styleMap(this._endPaneState.styles)}\n >\n <slot name=\"end\"></slot>\n </div>\n </div>\n `;\n }\n\n //#endregion\n}\n\nexport type {\n IgcSplitterComponentEventMap,\n IgcSplitterResizeEventArgs,\n IgcSplitterResizeEventDetail,\n};\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-splitter': IgcSplitterComponent;\n }\n}\n"]}
|
|
@@ -23,7 +23,7 @@ interface SplitterResizeState {
|
|
|
23
23
|
};
|
|
24
24
|
dragPointerId: number;
|
|
25
25
|
}
|
|
26
|
-
interface
|
|
26
|
+
interface IgcSplitterResizeEventArgs {
|
|
27
27
|
/** The current size of the start panel in pixels */
|
|
28
28
|
startPanelSize: number;
|
|
29
29
|
/** The current size of the end panel in pixels */
|
|
@@ -31,9 +31,15 @@ interface IgcSplitterResizeEventDetail {
|
|
|
31
31
|
/** The change in size since the resize operation started (only for igcResizing and igcResizeEnd) */
|
|
32
32
|
delta?: number;
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* @hidden
|
|
36
|
+
* @deprecated use IgcSplitterResizeEventArgs instead
|
|
37
|
+
*/
|
|
38
|
+
interface IgcSplitterResizeEventDetail extends IgcSplitterResizeEventArgs {
|
|
39
|
+
}
|
|
34
40
|
interface IgcSplitterComponentEventMap {
|
|
35
|
-
igcResizeStart: CustomEvent<
|
|
36
|
-
igcResizing: CustomEvent<
|
|
37
|
-
igcResizeEnd: CustomEvent<
|
|
41
|
+
igcResizeStart: CustomEvent<IgcSplitterResizeEventArgs>;
|
|
42
|
+
igcResizing: CustomEvent<IgcSplitterResizeEventArgs>;
|
|
43
|
+
igcResizeEnd: CustomEvent<IgcSplitterResizeEventArgs>;
|
|
38
44
|
}
|
|
39
|
-
export type {
|
|
45
|
+
export type { IgcSplitterComponentEventMap, IgcSplitterResizeEventArgs, IgcSplitterResizeEventDetail, PanePosition, PaneResizeSnapshot, SplitterPaneState, SplitterResizeState, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/splitter/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { StyleInfo } from 'lit/directives/style-map.js';\n\ntype PanePosition = 'start' | 'end';\n\ninterface SplitterPaneState {\n size?: string;\n minSize?: string;\n maxSize?: string;\n savedSize?: string;\n styles: StyleInfo;\n}\n\ninterface PaneResizeSnapshot {\n initialSize: number;\n isPercentageBased: boolean;\n minSizePx?: number;\n maxSizePx?: number;\n}\n\ninterface SplitterResizeState {\n startPane: PaneResizeSnapshot | null;\n endPane: PaneResizeSnapshot | null;\n isDragging: boolean;\n dragStartPosition: { x: number; y: number };\n dragPointerId: number;\n}\n\ninterface
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/splitter/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { StyleInfo } from 'lit/directives/style-map.js';\n\ntype PanePosition = 'start' | 'end';\n\ninterface SplitterPaneState {\n size?: string;\n minSize?: string;\n maxSize?: string;\n savedSize?: string;\n styles: StyleInfo;\n}\n\ninterface PaneResizeSnapshot {\n initialSize: number;\n isPercentageBased: boolean;\n minSizePx?: number;\n maxSizePx?: number;\n}\n\ninterface SplitterResizeState {\n startPane: PaneResizeSnapshot | null;\n endPane: PaneResizeSnapshot | null;\n isDragging: boolean;\n dragStartPosition: { x: number; y: number };\n dragPointerId: number;\n}\n\ninterface IgcSplitterResizeEventArgs {\n /** The current size of the start panel in pixels */\n startPanelSize: number;\n /** The current size of the end panel in pixels */\n endPanelSize: number;\n /** The change in size since the resize operation started (only for igcResizing and igcResizeEnd) */\n delta?: number;\n}\n\n/**\n * @hidden\n * @deprecated use IgcSplitterResizeEventArgs instead\n */\ninterface IgcSplitterResizeEventDetail extends IgcSplitterResizeEventArgs {}\n\ninterface IgcSplitterComponentEventMap {\n igcResizeStart: CustomEvent<IgcSplitterResizeEventArgs>;\n igcResizing: CustomEvent<IgcSplitterResizeEventArgs>;\n igcResizeEnd: CustomEvent<IgcSplitterResizeEventArgs>;\n}\n\nexport type {\n IgcSplitterComponentEventMap,\n IgcSplitterResizeEventArgs,\n IgcSplitterResizeEventDetail,\n PanePosition,\n PaneResizeSnapshot,\n SplitterPaneState,\n SplitterResizeState,\n};\n"]}
|
|
@@ -63,5 +63,5 @@ declare class StepperState {
|
|
|
63
63
|
* Creates a new instance of the StepperState class, which manages the state of steps in a stepper component.
|
|
64
64
|
*/
|
|
65
65
|
declare function createStepperState(): StepperState;
|
|
66
|
-
export { createStepperState };
|
|
67
66
|
export type { StepperState };
|
|
67
|
+
export { createStepperState };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/components/stepper/common/state.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyValues } from 'lit';\nimport type IgcStepComponent from '../step.js';\n\ntype StepState = {\n linearDisabled: boolean;\n previousCompleted: boolean;\n visited: boolean;\n};\n\nclass StepperState {\n private readonly _state = new WeakMap<IgcStepComponent, StepState>();\n\n private _steps: IgcStepComponent[] = [];\n private _activeStep?: IgcStepComponent;\n\n public linear = false;\n\n //#region Collection accessors\n\n /** Returns all registered step components. */\n public get steps(): readonly IgcStepComponent[] {\n return this._steps;\n }\n\n /** Returns the currently active step. */\n public get activeStep(): IgcStepComponent | undefined {\n return this._activeStep;\n }\n\n /** Returns all steps that are currently accessible (not disabled or linear-disabled). */\n public get accessibleSteps(): IgcStepComponent[] {\n return this._steps.filter((step) => this.isAccessible(step));\n }\n\n //#endregion\n\n //#region Per-step state\n\n /**\n * Sets the state of a given step component.\n *\n * If the step already has an existing state, it merges the new state with the existing one.\n * If the step does not have an existing state, it initializes it with default values and then applies the new state.\n *\n * After updating the state, it requests an update on the step component to reflect the changes in the UI.\n */\n public set(step: IgcStepComponent, state: Partial<StepState>): void {\n this.has(step)\n ? this._state.set(step, { ...this.get(step)!, ...state })\n : this._state.set(step, {\n linearDisabled: false,\n previousCompleted: false,\n visited: false,\n ...state,\n });\n\n step.requestUpdate();\n }\n\n /** Checks if a given step component has an associated state. */\n public has(step: IgcStepComponent): boolean {\n return this._state.has(step);\n }\n\n /** Retrieves the state of a given step component. */\n public get(step: IgcStepComponent): StepState | undefined {\n return this._state.get(step);\n }\n\n /** Deletes the state of a given step component. */\n public delete(step: IgcStepComponent): boolean {\n return this._state.delete(step);\n }\n\n /**\n * Determines if a given step component is accessible based on its `disabled` state\n * and the `linearDisabled` state from the stepper state management.\n */\n public isAccessible(step: IgcStepComponent): boolean {\n return !(step.disabled || this.get(step)?.linearDisabled);\n }\n\n //#endregion\n\n //#region Active step management\n\n /** Updates the registered steps collection. */\n public setSteps(steps: IgcStepComponent[]): void {\n this._steps = steps;\n }\n\n /** Changes the active step, deactivating the previous one and marking the new one as visited. */\n public changeActiveStep(step: IgcStepComponent): void {\n if (step === this._activeStep) {\n return;\n }\n\n if (this._activeStep) {\n this._activeStep.active = false;\n }\n step.active = true;\n this.set(step, { visited: true });\n this._activeStep = step;\n }\n\n /** Activates the first non-disabled step. */\n public activateFirstStep(): void {\n const step = this._steps.find((s) => !s.disabled);\n if (step) {\n this.changeActiveStep(step);\n }\n }\n\n /** Returns the next or previous accessible step relative to the active step. */\n public getAdjacentStep(next = true): IgcStepComponent | undefined {\n const steps = this.accessibleSteps;\n const activeIndex = steps.indexOf(this._activeStep!);\n\n if (activeIndex === -1) {\n return undefined;\n }\n\n return next ? steps[activeIndex + 1] : steps[activeIndex - 1];\n }\n\n //#endregion\n\n //#region State synchronization\n\n /** Synchronizes the `active` and `previousCompleted` state across all steps. */\n public syncState(): void {\n for (const [index, step] of this._steps.entries()) {\n step.active = this._activeStep === step;\n\n if (index > 0) {\n this.set(step, {\n previousCompleted: this._steps[index - 1].complete,\n });\n }\n }\n }\n\n /**\n * Sets the visited state for all steps based on the current active step and the linear mode.\n */\n public setVisitedState(value: boolean): void {\n const activeIndex = this._steps.indexOf(this._activeStep!);\n this.linear = value;\n\n for (const [index, step] of this._steps.entries()) {\n this.set(step, { visited: index <= activeIndex });\n }\n\n this.setLinearState();\n }\n\n /** Computes and applies the linear-disabled state for all steps. */\n public setLinearState(): void {\n if (!this.linear) {\n for (const step of this._steps) {\n this.set(step, { linearDisabled: false });\n }\n return;\n }\n\n const invalidIndex = this._steps.findIndex(\n (step) => !(step.disabled || step.optional) && step.invalid\n );\n\n if (invalidIndex > -1) {\n for (const [index, step] of this._steps.entries()) {\n this.set(step, { linearDisabled: index > invalidIndex });\n }\n } else {\n for (const step of this._steps) {\n this.set(step, { linearDisabled: false });\n }\n }\n }\n\n /** Handles step property changes, updating active step tracking and re-syncing state. */\n public onStepPropertyChanged(\n step: IgcStepComponent,\n changed: PropertyValues<IgcStepComponent>\n ): void {\n if (changed.has('active') && step.active) {\n this.changeActiveStep(step);\n }\n this.syncState();\n this.setLinearState();\n }\n\n /** Processes a change in the steps collection, resolving the active step and syncing state. */\n public stepsChanged(): void {\n const lastActiveStep = this._steps.findLast((step) => step.active);\n\n if (lastActiveStep) {\n this.changeActiveStep(lastActiveStep);\n } else {\n this.activateFirstStep();\n }\n\n this.syncState();\n this.setLinearState();\n }\n\n /** Resets all step states and activates the first step. */\n public reset(): void {\n for (const step of this._steps) {\n this.delete(step);\n }\n\n this.activateFirstStep();\n this.setLinearState();\n }\n\n //#endregion\n}\n\n/**\n * Creates a new instance of the StepperState class, which manages the state of steps in a stepper component.\n */\nfunction createStepperState(): StepperState {\n return new StepperState();\n}\n\nexport { createStepperState };\nexport type { StepperState };\n"]}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/components/stepper/common/state.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyValues } from 'lit';\nimport type IgcStepComponent from '../step.js';\n\ntype StepState = {\n linearDisabled: boolean;\n previousCompleted: boolean;\n visited: boolean;\n};\n\nclass StepperState {\n private readonly _state = new WeakMap<IgcStepComponent, StepState>();\n\n private _steps: IgcStepComponent[] = [];\n private _activeStep?: IgcStepComponent;\n\n public linear = false;\n\n //#region Collection accessors\n\n /** Returns all registered step components. */\n public get steps(): readonly IgcStepComponent[] {\n return this._steps;\n }\n\n /** Returns the currently active step. */\n public get activeStep(): IgcStepComponent | undefined {\n return this._activeStep;\n }\n\n /** Returns all steps that are currently accessible (not disabled or linear-disabled). */\n public get accessibleSteps(): IgcStepComponent[] {\n return this._steps.filter((step) => this.isAccessible(step));\n }\n\n //#endregion\n\n //#region Per-step state\n\n /**\n * Sets the state of a given step component.\n *\n * If the step already has an existing state, it merges the new state with the existing one.\n * If the step does not have an existing state, it initializes it with default values and then applies the new state.\n *\n * After updating the state, it requests an update on the step component to reflect the changes in the UI.\n */\n public set(step: IgcStepComponent, state: Partial<StepState>): void {\n this.has(step)\n ? this._state.set(step, { ...this.get(step)!, ...state })\n : this._state.set(step, {\n linearDisabled: false,\n previousCompleted: false,\n visited: false,\n ...state,\n });\n\n step.requestUpdate();\n }\n\n /** Checks if a given step component has an associated state. */\n public has(step: IgcStepComponent): boolean {\n return this._state.has(step);\n }\n\n /** Retrieves the state of a given step component. */\n public get(step: IgcStepComponent): StepState | undefined {\n return this._state.get(step);\n }\n\n /** Deletes the state of a given step component. */\n public delete(step: IgcStepComponent): boolean {\n return this._state.delete(step);\n }\n\n /**\n * Determines if a given step component is accessible based on its `disabled` state\n * and the `linearDisabled` state from the stepper state management.\n */\n public isAccessible(step: IgcStepComponent): boolean {\n return !(step.disabled || this.get(step)?.linearDisabled);\n }\n\n //#endregion\n\n //#region Active step management\n\n /** Updates the registered steps collection. */\n public setSteps(steps: IgcStepComponent[]): void {\n this._steps = steps;\n }\n\n /** Changes the active step, deactivating the previous one and marking the new one as visited. */\n public changeActiveStep(step: IgcStepComponent): void {\n if (step === this._activeStep) {\n return;\n }\n\n if (this._activeStep) {\n this._activeStep.active = false;\n }\n step.active = true;\n this.set(step, { visited: true });\n this._activeStep = step;\n }\n\n /** Activates the first non-disabled step. */\n public activateFirstStep(): void {\n const step = this._steps.find((s) => !s.disabled);\n if (step) {\n this.changeActiveStep(step);\n }\n }\n\n /** Returns the next or previous accessible step relative to the active step. */\n public getAdjacentStep(next = true): IgcStepComponent | undefined {\n const steps = this.accessibleSteps;\n const activeIndex = steps.indexOf(this._activeStep!);\n\n if (activeIndex === -1) {\n return undefined;\n }\n\n return next ? steps[activeIndex + 1] : steps[activeIndex - 1];\n }\n\n //#endregion\n\n //#region State synchronization\n\n /** Synchronizes the `active` and `previousCompleted` state across all steps. */\n public syncState(): void {\n for (const [index, step] of this._steps.entries()) {\n step.active = this._activeStep === step;\n\n if (index > 0) {\n this.set(step, {\n previousCompleted: this._steps[index - 1].complete,\n });\n }\n }\n }\n\n /**\n * Sets the visited state for all steps based on the current active step and the linear mode.\n */\n public setVisitedState(value: boolean): void {\n const activeIndex = this._steps.indexOf(this._activeStep!);\n this.linear = value;\n\n for (const [index, step] of this._steps.entries()) {\n this.set(step, { visited: index <= activeIndex });\n }\n\n this.setLinearState();\n }\n\n /** Computes and applies the linear-disabled state for all steps. */\n public setLinearState(): void {\n if (!this.linear) {\n for (const step of this._steps) {\n this.set(step, { linearDisabled: false });\n }\n return;\n }\n\n const invalidIndex = this._steps.findIndex(\n (step) => !(step.disabled || step.optional) && step.invalid\n );\n\n if (invalidIndex > -1) {\n for (const [index, step] of this._steps.entries()) {\n this.set(step, { linearDisabled: index > invalidIndex });\n }\n } else {\n for (const step of this._steps) {\n this.set(step, { linearDisabled: false });\n }\n }\n }\n\n /** Handles step property changes, updating active step tracking and re-syncing state. */\n public onStepPropertyChanged(\n step: IgcStepComponent,\n changed: PropertyValues<IgcStepComponent>\n ): void {\n if (changed.has('active') && step.active) {\n this.changeActiveStep(step);\n }\n this.syncState();\n this.setLinearState();\n }\n\n /** Processes a change in the steps collection, resolving the active step and syncing state. */\n public stepsChanged(): void {\n const lastActiveStep = this._steps.findLast((step) => step.active);\n\n if (lastActiveStep) {\n this.changeActiveStep(lastActiveStep);\n } else {\n this.activateFirstStep();\n }\n\n this.syncState();\n this.setLinearState();\n }\n\n /** Resets all step states and activates the first step. */\n public reset(): void {\n for (const step of this._steps) {\n this.delete(step);\n }\n\n this.activateFirstStep();\n this.setLinearState();\n }\n\n //#endregion\n}\n\n/**\n * Creates a new instance of the StepperState class, which manages the state of steps in a stepper component.\n */\nfunction createStepperState(): StepperState {\n return new StepperState();\n}\n\nexport type { StepperState };\nexport { createStepperState };\n"]}
|
|
@@ -13,7 +13,7 @@ import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, endKey, home
|
|
|
13
13
|
import { addSlotController, setSlots } from '../common/controllers/slot.js';
|
|
14
14
|
import { registerComponent } from '../common/definitions/register.js';
|
|
15
15
|
import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
|
|
16
|
-
import { addSafeEventListener,
|
|
16
|
+
import { addSafeEventListener, first, getElementFromPath, getRoot, isLTR, last, wrap, } from '../common/util.js';
|
|
17
17
|
import { STEPPER_CONTEXT } from './common/context.js';
|
|
18
18
|
import { createStepperState } from './common/state.js';
|
|
19
19
|
import IgcStepComponent from './step.js';
|
|
@@ -96,7 +96,7 @@ export default class IgcStepperComponent extends EventEmitterMixin(LitElement) {
|
|
|
96
96
|
super.update(properties);
|
|
97
97
|
}
|
|
98
98
|
_skipKeyboard(_, event) {
|
|
99
|
-
return !
|
|
99
|
+
return !getElementFromPath('[data-step-header]', event);
|
|
100
100
|
}
|
|
101
101
|
_handleHomeKey() {
|
|
102
102
|
this._getStepHeader(first(this._state.accessibleSteps))?.focus();
|
|
@@ -139,7 +139,7 @@ export default class IgcStepperComponent extends EventEmitterMixin(LitElement) {
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
_handleInteraction(event) {
|
|
142
|
-
const step =
|
|
142
|
+
const step = getElementFromPath(IgcStepComponent.tagName, event);
|
|
143
143
|
if (step && this._state.isAccessible(step)) {
|
|
144
144
|
this._activateStep(step);
|
|
145
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../../src/components/stepper/stepper.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,EACP,MAAM,EACN,OAAO,GACR,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,GACL,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAMvD,OAAO,gBAAgB,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,uBAAuB,GAAkC;IAC7D,aAAa;IACb,UAAU;IACV,YAAY;IACZ,mBAAmB;IACnB,qBAAqB;IACrB,mBAAmB;IACnB,eAAe;CAChB,CAAC;AAoDF,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,iBAAiB,CAGhE,UAAU,CAAC;aACY,YAAO,GAAG,aAAa,AAAhB,CAAiB;aACjC,WAAM,GAAG,MAAM,AAAT,CAAU;IAGvB,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAC3D,CAAC;IAyBD,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC;IAC3C,CAAC;IAOD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAmFD;QACE,KAAK,EAAE,CAAC;QApHO,WAAM,GAAG,kBAAkB,EAAE,CAAC;QAE9B,qBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE;YAC5D,OAAO,EAAE,eAAe;YACxB,YAAY,EAAE;gBACZ,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI,CAAC,MAAM;aACnB;SACF,CAAC,CAAC;QAEc,eAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE;YACzD,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;aAChB;SACF,CAAC,CAAC;QAEc,WAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE;YAChD,KAAK,EAAE,QAAQ,EAAE;YACjB,QAAQ,EAAE,IAAI,CAAC,iBAAiB;SACjC,CAAC,CAAC;QAsBI,gBAAW,GAAuB,YAAY,CAAC;QAS/C,aAAQ,GAAoB,MAAM,CAAC;QAYnC,WAAM,GAAG,KAAK,CAAC;QASf,eAAU,GAAG,KAAK,CAAC;QASnB,sBAAiB,GAA6B,MAAM,CAAC;QASrD,wBAAmB,GAAkC,OAAO,CAAC;QAS7D,sBAAiB,GAAG,GAAG,CAAC;QAaxB,kBAAa,GAAyB,MAAM,CAAC;QAOlD,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE7D,oBAAoB,CAAC,IAAI,EAAE;YACzB,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;YACpC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;SACpC,CAAC,CAAC;QAEH,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,IAAI,CAAC,aAAa;SACzB,CAAC;aACC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;aACjC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC;aACrC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC;aACrC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC;aACvC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;aACjC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC;aAC/B,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAIkB,MAAM,CAAC,UAAgC;QACxD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAMO,aAAa,CAAC,CAAU,EAAE,KAAoB;QACpD,OAAO,CAAC,wBAAwB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACnE,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAE5C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAE5C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAMO,kBAAkB,CAAC,KAAY;QACrC,MAAM,IAAI,GAAG,wBAAwB,CACnC,gBAAgB,CAAC,OAAO,EACxB,KAAK,CACN,CAAC;QAEF,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE;YAC3C,QAAQ,EAAE,gBAAgB,CAAC,OAAO;SACnC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAMO,sBAAsB,CAAC,UAAgC;QAC7D,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,QAA0B,EAC1B,WAA6B;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAEzD,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YAEN,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC7C,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,IAAoC;QACxD,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE;YAC7C,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,IAAmC;QACtD,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE;YACrC,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,IAAsB,EAAE,UAAU,GAAG,IAAI;QAC7D,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAExD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEO,eAAe,CAAC,IAAI,GAAG,IAAI;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,IAAsB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAEO,gBAAgB,CAAC,IAAsB;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEpE,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAEO,uBAAuB;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QAC3C,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAEO,cAAc,CAAC,IAAuB;QAC5C,OAAO,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;IACtE,CAAC;IAOM,UAAU,CAAC,KAAa;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAGM,IAAI;QACT,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAGM,IAAI;QACT,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAQM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAIkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAjVM;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDAC0B;AAS/C;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;qDACV;AAYnC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACrB;AASf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;uDAC3C;AASnB;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;8DACc;AASrD;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;gEACoB;AAS7D;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;8DAC7B;AAaxB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;0DACN","sourcesContent":["import { ContextProvider } from '@lit/context';\nimport { html, LitElement, type PropertyValues } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport { addSlotController, setSlots } from '../common/controllers/slot.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport {\n addSafeEventListener,\n findElementFromEventPath,\n first,\n getRoot,\n isLTR,\n last,\n wrap,\n} from '../common/util.js';\nimport type {\n HorizontalTransitionAnimation,\n StepperOrientation,\n StepperStepType,\n StepperTitlePosition,\n StepperVerticalAnimation,\n} from '../types.js';\nimport { STEPPER_CONTEXT } from './common/context.js';\nimport { createStepperState } from './common/state.js';\nimport type {\n IgcActiveStepChangedEventArgs,\n IgcActiveStepChangingEventArgs,\n IgcStepperComponentEventMap,\n} from './common/types.js';\nimport IgcStepComponent from './step.js';\nimport { styles } from './themes/stepper/stepper.base.css.js';\nimport { styles as bootstrap } from './themes/stepper/stepper.bootstrap.css.js';\nimport { styles as fluent } from './themes/stepper/stepper.fluent.css.js';\nimport { styles as indigo } from './themes/stepper/stepper.indigo.css.js';\n\nconst STEPPER_SYNC_PROPERTIES: (keyof IgcStepperComponent)[] = [\n 'orientation',\n 'stepType',\n 'contentTop',\n 'verticalAnimation',\n 'horizontalAnimation',\n 'animationDuration',\n 'titlePosition',\n];\n\n/**\n * A stepper component that provides a wizard-like workflow by dividing content into logical steps.\n *\n * @remarks\n * The stepper component allows the user to navigate between multiple `igc-step` elements.\n * It supports horizontal and vertical orientation, linear and non-linear navigation,\n * keyboard navigation, and provides API methods to control the active step.\n *\n * In linear mode, the user can only advance to the next step if the current step is valid\n * (not marked as `invalid`).\n *\n * @element igc-stepper\n *\n * @slot - Renders `igc-step` components inside the default slot.\n *\n * @fires igcActiveStepChanging - Emitted when the active step is about to change. Cancelable.\n * @fires igcActiveStepChanged - Emitted after the active step has changed.\n *\n * @example\n * ```html\n * <igc-stepper>\n * <igc-step>\n * <span slot=\"title\">Step 1</span>\n * <p>Step 1 content</p>\n * </igc-step>\n * <igc-step>\n * <span slot=\"title\">Step 2</span>\n * <p>Step 2 content</p>\n * </igc-step>\n * </igc-stepper>\n * ```\n *\n * @example Linear stepper with vertical orientation\n * ```html\n * <igc-stepper orientation=\"vertical\" linear>\n * <igc-step complete>\n * <span slot=\"title\">Completed step</span>\n * <p>This step is already complete.</p>\n * </igc-step>\n * <igc-step active>\n * <span slot=\"title\">Current step</span>\n * <p>Fill in the details to proceed.</p>\n * </igc-step>\n * <igc-step>\n * <span slot=\"title\">Next step</span>\n * <p>Upcoming content.</p>\n * </igc-step>\n * </igc-stepper>\n * ```\n */\nexport default class IgcStepperComponent extends EventEmitterMixin<\n IgcStepperComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-stepper';\n public static styles = styles;\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcStepperComponent, IgcStepComponent);\n }\n\n //#region Internal state and properties\n\n private readonly _state = createStepperState();\n\n private readonly _contextProvider = new ContextProvider(this, {\n context: STEPPER_CONTEXT,\n initialValue: {\n stepper: this,\n state: this._state,\n },\n });\n\n private readonly _internals = addInternalsController(this, {\n initialARIA: {\n role: 'tablist',\n },\n });\n\n private readonly _slots = addSlotController(this, {\n slots: setSlots(),\n onChange: this._handleSlotChange,\n });\n\n private get _isHorizontal(): boolean {\n return this.orientation === 'horizontal';\n }\n\n //#endregion\n\n //#region Public attributes and properties\n\n /** Returns all of the stepper's steps. */\n public get steps(): readonly IgcStepComponent[] {\n return this._state.steps;\n }\n\n /**\n * The orientation of the stepper.\n *\n * @attr orientation\n * @default 'horizontal'\n */\n @property({ reflect: true })\n public orientation: StepperOrientation = 'horizontal';\n\n /**\n * The visual type of the steps.\n *\n * @attr step-type\n * @default 'full'\n */\n @property({ reflect: true, attribute: 'step-type' })\n public stepType: StepperStepType = 'full';\n\n /**\n * Whether the stepper is linear.\n *\n * @remarks\n * If the stepper is in linear mode and if the active step is valid only then the user is able to move forward.\n *\n * @attr linear\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public linear = false;\n\n /**\n * Whether the content is displayed above the steps.\n *\n * @attr content-top\n * @default false\n */\n @property({ type: Boolean, reflect: true, attribute: 'content-top' })\n public contentTop = false;\n\n /**\n * The animation type when in vertical mode.\n *\n * @attr vertical-animation\n * @default 'grow'\n */\n @property({ attribute: 'vertical-animation' })\n public verticalAnimation: StepperVerticalAnimation = 'grow';\n\n /**\n * The animation type when in horizontal mode.\n *\n * @attr horizontal-animation\n * @default 'slide'\n */\n @property({ attribute: 'horizontal-animation' })\n public horizontalAnimation: HorizontalTransitionAnimation = 'slide';\n\n /**\n * The animation duration in either vertical or horizontal mode in milliseconds.\n *\n * @attr animation-duration\n * @default 320\n */\n @property({ type: Number, attribute: 'animation-duration' })\n public animationDuration = 320;\n\n /**\n * The position of the steps title.\n *\n * @remarks\n * When the stepper is horizontally orientated the title is positioned below the indicator.\n * When the stepper is vertically orientated the title is positioned on the right side of the indicator.\n *\n * @attr title-position\n * @default 'auto'\n */\n @property({ reflect: false, attribute: 'title-position' })\n public titlePosition: StepperTitlePosition = 'auto';\n\n //#endregion\n\n constructor() {\n super();\n\n addSafeEventListener(this, 'click', this._handleInteraction);\n\n addThemingController(this, {\n light: { bootstrap, fluent, indigo },\n dark: { bootstrap, fluent, indigo },\n });\n\n addKeybindings(this, {\n skip: this._skipKeyboard,\n })\n .set(arrowUp, this._handleArrowUp)\n .set(arrowDown, this._handleArrowDown)\n .set(arrowLeft, this._handleArrowLeft)\n .set(arrowRight, this._handleArrowRight)\n .set(homeKey, this._handleHomeKey)\n .set(endKey, this._handleEndKey)\n .setActivateHandler(this._handleInteraction);\n }\n\n //#region Lifecycle hooks\n\n protected override update(properties: PropertyValues<this>): void {\n this._syncStepperAttributes(properties);\n\n if (properties.has('orientation')) {\n this._internals.setARIA({ ariaOrientation: this.orientation });\n }\n\n if (properties.has('linear')) {\n this._state.setVisitedState(this.linear);\n }\n\n super.update(properties);\n }\n\n //#endregion\n\n //#region Keyboard navigation handlers\n\n private _skipKeyboard(_: Element, event: KeyboardEvent): boolean {\n return !findElementFromEventPath('[data-step-header]', event);\n }\n\n private _handleHomeKey(): void {\n this._getStepHeader(first(this._state.accessibleSteps))?.focus();\n }\n\n private _handleEndKey(): void {\n this._getStepHeader(last(this._state.accessibleSteps))?.focus();\n }\n\n private _handleArrowDown(): void {\n if (!this._isHorizontal) {\n const step = this._getActiveStepComponent();\n\n if (step) {\n this._getStepHeader(this._getNextStep(step))?.focus();\n }\n }\n }\n\n private _handleArrowUp(): void {\n if (!this._isHorizontal) {\n const step = this._getActiveStepComponent();\n\n if (step) {\n this._getStepHeader(this._getPreviousStep(step))?.focus();\n }\n }\n }\n\n private _handleArrowLeft(): void {\n const step = this._getActiveStepComponent();\n\n if (step) {\n const next = isLTR(this)\n ? this._getPreviousStep(step)\n : this._getNextStep(step);\n\n this._getStepHeader(next)?.focus();\n }\n }\n\n private _handleArrowRight(): void {\n const step = this._getActiveStepComponent();\n\n if (step) {\n const next = isLTR(this)\n ? this._getNextStep(step)\n : this._getPreviousStep(step);\n\n this._getStepHeader(next)?.focus();\n }\n }\n\n //#endregion\n\n //#region Event handlers\n\n private _handleInteraction(event: Event): void {\n const step = findElementFromEventPath<IgcStepComponent>(\n IgcStepComponent.tagName,\n event\n );\n\n if (step && this._state.isAccessible(step)) {\n this._activateStep(step);\n }\n }\n\n private _handleSlotChange(): void {\n this._state.setSteps(\n this._slots.getAssignedElements('[default]', {\n selector: IgcStepComponent.tagName,\n })\n );\n\n this._state.stepsChanged();\n this.style.setProperty('--steps-count', this.steps.length.toString());\n }\n\n //#endregion\n\n //#region Internal methods\n\n private _syncStepperAttributes(properties: PropertyValues<this>): void {\n if (STEPPER_SYNC_PROPERTIES.some((p) => properties.has(p))) {\n this._contextProvider.updateObservers();\n }\n }\n\n private _animateSteps(\n nextStep: IgcStepComponent,\n currentStep: IgcStepComponent\n ): void {\n const steps = this._state.steps;\n\n if (steps.indexOf(nextStep) > steps.indexOf(currentStep)) {\n // Animate steps in ascending/next direction\n currentStep.toggleAnimation('out');\n nextStep.toggleAnimation('in');\n } else {\n // Animate steps in descending/previous direction\n currentStep.toggleAnimation('in', 'reverse');\n nextStep.toggleAnimation('out', 'reverse');\n }\n }\n\n private _emitChanging(args: IgcActiveStepChangingEventArgs): boolean {\n return this.emitEvent('igcActiveStepChanging', {\n detail: args,\n cancelable: true,\n });\n }\n\n private _emitChanged(args: IgcActiveStepChangedEventArgs): void {\n this.emitEvent('igcActiveStepChanged', {\n detail: args,\n });\n }\n\n private _activateStep(step: IgcStepComponent, shouldEmit = true): void {\n if (step === this._state.activeStep) {\n return;\n }\n\n if (!shouldEmit) {\n this._state.changeActiveStep(step);\n return;\n }\n\n const steps = this._state.steps;\n const activeIndex = steps.indexOf(this._state.activeStep!);\n const index = steps.indexOf(step);\n\n const args = { oldIndex: activeIndex, newIndex: index };\n\n if (!this._emitChanging(args)) {\n return;\n }\n\n if (this._state.activeStep) {\n this._animateSteps(step, this._state.activeStep);\n }\n\n this._state.changeActiveStep(step);\n this._emitChanged({ index });\n }\n\n private _moveToNextStep(next = true): void {\n const step = this._state.getAdjacentStep(next);\n\n if (step) {\n if (this._state.activeStep) {\n this._animateSteps(step, this._state.activeStep);\n }\n this._state.changeActiveStep(step);\n }\n }\n\n private _getNextStep(step: IgcStepComponent): IgcStepComponent {\n const steps = this._state.accessibleSteps;\n const next = wrap(0, steps.length - 1, steps.indexOf(step) + 1);\n\n return steps[next];\n }\n\n private _getPreviousStep(step: IgcStepComponent): IgcStepComponent {\n const steps = this._state.accessibleSteps;\n const previous = wrap(0, steps.length - 1, steps.indexOf(step) - 1);\n\n return steps[previous];\n }\n\n private _getActiveStepComponent(): IgcStepComponent | null {\n const active = getRoot(this).activeElement;\n return active ? active.closest(IgcStepComponent.tagName) : null;\n }\n\n private _getStepHeader(step?: IgcStepComponent): HTMLElement | null {\n return step?.renderRoot.querySelector('[data-step-header]') ?? null;\n }\n\n //#endregion\n\n //#region Public API\n\n /** Activates the step at a given index. */\n public navigateTo(index: number): void {\n const step = this._state.steps[index];\n\n if (step) {\n this._activateStep(step, false);\n }\n }\n\n /** Activates the next enabled step. */\n public next(): void {\n this._moveToNextStep();\n }\n\n /** Activates the previous enabled step. */\n public prev(): void {\n this._moveToNextStep(false);\n }\n\n /**\n * Resets the stepper to its initial state i.e. activates the first step.\n *\n * @remarks\n * The steps' content will not be automatically reset.\n */\n public reset(): void {\n this._state.reset();\n }\n\n //#endregion\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-stepper': IgcStepperComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../../src/components/stepper/stepper.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,EACP,MAAM,EACN,OAAO,GACR,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,KAAK,EACL,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,GACL,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAMvD,OAAO,gBAAgB,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,uBAAuB,GAAkC;IAC7D,aAAa;IACb,UAAU;IACV,YAAY;IACZ,mBAAmB;IACnB,qBAAqB;IACrB,mBAAmB;IACnB,eAAe;CAChB,CAAC;AAoDF,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,iBAAiB,CAGhE,UAAU,CAAC;aACY,YAAO,GAAG,aAAa,AAAhB,CAAiB;aACjC,WAAM,GAAG,MAAM,AAAT,CAAU;IAGvB,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAC3D,CAAC;IAyBD,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC;IAC3C,CAAC;IAOD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAmFD;QACE,KAAK,EAAE,CAAC;QApHO,WAAM,GAAG,kBAAkB,EAAE,CAAC;QAE9B,qBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE;YAC5D,OAAO,EAAE,eAAe;YACxB,YAAY,EAAE;gBACZ,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI,CAAC,MAAM;aACnB;SACF,CAAC,CAAC;QAEc,eAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE;YACzD,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;aAChB;SACF,CAAC,CAAC;QAEc,WAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE;YAChD,KAAK,EAAE,QAAQ,EAAE;YACjB,QAAQ,EAAE,IAAI,CAAC,iBAAiB;SACjC,CAAC,CAAC;QAsBI,gBAAW,GAAuB,YAAY,CAAC;QAS/C,aAAQ,GAAoB,MAAM,CAAC;QAYnC,WAAM,GAAG,KAAK,CAAC;QASf,eAAU,GAAG,KAAK,CAAC;QASnB,sBAAiB,GAA6B,MAAM,CAAC;QASrD,wBAAmB,GAAkC,OAAO,CAAC;QAS7D,sBAAiB,GAAG,GAAG,CAAC;QAaxB,kBAAa,GAAyB,MAAM,CAAC;QAOlD,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE7D,oBAAoB,CAAC,IAAI,EAAE;YACzB,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;YACpC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;SACpC,CAAC,CAAC;QAEH,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,IAAI,CAAC,aAAa;SACzB,CAAC;aACC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;aACjC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC;aACrC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC;aACrC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC;aACvC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;aACjC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC;aAC/B,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAIkB,MAAM,CAAC,UAAgC;QACxD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAMO,aAAa,CAAC,CAAU,EAAE,KAAoB;QACpD,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACnE,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAE5C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAE5C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAMO,kBAAkB,CAAC,KAAY;QACrC,MAAM,IAAI,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEjE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE;YAC3C,QAAQ,EAAE,gBAAgB,CAAC,OAAO;SACnC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAMO,sBAAsB,CAAC,UAAgC;QAC7D,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,QAA0B,EAC1B,WAA6B;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAEzD,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YAEN,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC7C,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,IAAoC;QACxD,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE;YAC7C,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,IAAmC;QACtD,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE;YACrC,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,IAAsB,EAAE,UAAU,GAAG,IAAI;QAC7D,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAExD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEO,eAAe,CAAC,IAAI,GAAG,IAAI;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,IAAsB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAEO,gBAAgB,CAAC,IAAsB;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEpE,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAEO,uBAAuB;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QAC3C,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAEO,cAAc,CAAC,IAAuB;QAC5C,OAAO,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;IACtE,CAAC;IAOM,UAAU,CAAC,KAAa;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAGM,IAAI;QACT,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAGM,IAAI;QACT,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAQM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAIkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AA9UM;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDAC0B;AAS/C;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;qDACV;AAYnC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACrB;AASf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;uDAC3C;AASnB;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;8DACc;AASrD;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;gEACoB;AAS7D;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;8DAC7B;AAaxB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;0DACN","sourcesContent":["import { ContextProvider } from '@lit/context';\nimport { html, LitElement, type PropertyValues } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport { addSlotController, setSlots } from '../common/controllers/slot.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport {\n addSafeEventListener,\n first,\n getElementFromPath,\n getRoot,\n isLTR,\n last,\n wrap,\n} from '../common/util.js';\nimport type {\n HorizontalTransitionAnimation,\n StepperOrientation,\n StepperStepType,\n StepperTitlePosition,\n StepperVerticalAnimation,\n} from '../types.js';\nimport { STEPPER_CONTEXT } from './common/context.js';\nimport { createStepperState } from './common/state.js';\nimport type {\n IgcActiveStepChangedEventArgs,\n IgcActiveStepChangingEventArgs,\n IgcStepperComponentEventMap,\n} from './common/types.js';\nimport IgcStepComponent from './step.js';\nimport { styles } from './themes/stepper/stepper.base.css.js';\nimport { styles as bootstrap } from './themes/stepper/stepper.bootstrap.css.js';\nimport { styles as fluent } from './themes/stepper/stepper.fluent.css.js';\nimport { styles as indigo } from './themes/stepper/stepper.indigo.css.js';\n\nconst STEPPER_SYNC_PROPERTIES: (keyof IgcStepperComponent)[] = [\n 'orientation',\n 'stepType',\n 'contentTop',\n 'verticalAnimation',\n 'horizontalAnimation',\n 'animationDuration',\n 'titlePosition',\n];\n\n/**\n * A stepper component that provides a wizard-like workflow by dividing content into logical steps.\n *\n * @remarks\n * The stepper component allows the user to navigate between multiple `igc-step` elements.\n * It supports horizontal and vertical orientation, linear and non-linear navigation,\n * keyboard navigation, and provides API methods to control the active step.\n *\n * In linear mode, the user can only advance to the next step if the current step is valid\n * (not marked as `invalid`).\n *\n * @element igc-stepper\n *\n * @slot - Renders `igc-step` components inside the default slot.\n *\n * @fires igcActiveStepChanging - Emitted when the active step is about to change. Cancelable.\n * @fires igcActiveStepChanged - Emitted after the active step has changed.\n *\n * @example\n * ```html\n * <igc-stepper>\n * <igc-step>\n * <span slot=\"title\">Step 1</span>\n * <p>Step 1 content</p>\n * </igc-step>\n * <igc-step>\n * <span slot=\"title\">Step 2</span>\n * <p>Step 2 content</p>\n * </igc-step>\n * </igc-stepper>\n * ```\n *\n * @example Linear stepper with vertical orientation\n * ```html\n * <igc-stepper orientation=\"vertical\" linear>\n * <igc-step complete>\n * <span slot=\"title\">Completed step</span>\n * <p>This step is already complete.</p>\n * </igc-step>\n * <igc-step active>\n * <span slot=\"title\">Current step</span>\n * <p>Fill in the details to proceed.</p>\n * </igc-step>\n * <igc-step>\n * <span slot=\"title\">Next step</span>\n * <p>Upcoming content.</p>\n * </igc-step>\n * </igc-stepper>\n * ```\n */\nexport default class IgcStepperComponent extends EventEmitterMixin<\n IgcStepperComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-stepper';\n public static styles = styles;\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcStepperComponent, IgcStepComponent);\n }\n\n //#region Internal state and properties\n\n private readonly _state = createStepperState();\n\n private readonly _contextProvider = new ContextProvider(this, {\n context: STEPPER_CONTEXT,\n initialValue: {\n stepper: this,\n state: this._state,\n },\n });\n\n private readonly _internals = addInternalsController(this, {\n initialARIA: {\n role: 'tablist',\n },\n });\n\n private readonly _slots = addSlotController(this, {\n slots: setSlots(),\n onChange: this._handleSlotChange,\n });\n\n private get _isHorizontal(): boolean {\n return this.orientation === 'horizontal';\n }\n\n //#endregion\n\n //#region Public attributes and properties\n\n /** Returns all of the stepper's steps. */\n public get steps(): readonly IgcStepComponent[] {\n return this._state.steps;\n }\n\n /**\n * The orientation of the stepper.\n *\n * @attr orientation\n * @default 'horizontal'\n */\n @property({ reflect: true })\n public orientation: StepperOrientation = 'horizontal';\n\n /**\n * The visual type of the steps.\n *\n * @attr step-type\n * @default 'full'\n */\n @property({ reflect: true, attribute: 'step-type' })\n public stepType: StepperStepType = 'full';\n\n /**\n * Whether the stepper is linear.\n *\n * @remarks\n * If the stepper is in linear mode and if the active step is valid only then the user is able to move forward.\n *\n * @attr linear\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public linear = false;\n\n /**\n * Whether the content is displayed above the steps.\n *\n * @attr content-top\n * @default false\n */\n @property({ type: Boolean, reflect: true, attribute: 'content-top' })\n public contentTop = false;\n\n /**\n * The animation type when in vertical mode.\n *\n * @attr vertical-animation\n * @default 'grow'\n */\n @property({ attribute: 'vertical-animation' })\n public verticalAnimation: StepperVerticalAnimation = 'grow';\n\n /**\n * The animation type when in horizontal mode.\n *\n * @attr horizontal-animation\n * @default 'slide'\n */\n @property({ attribute: 'horizontal-animation' })\n public horizontalAnimation: HorizontalTransitionAnimation = 'slide';\n\n /**\n * The animation duration in either vertical or horizontal mode in milliseconds.\n *\n * @attr animation-duration\n * @default 320\n */\n @property({ type: Number, attribute: 'animation-duration' })\n public animationDuration = 320;\n\n /**\n * The position of the steps title.\n *\n * @remarks\n * When the stepper is horizontally orientated the title is positioned below the indicator.\n * When the stepper is vertically orientated the title is positioned on the right side of the indicator.\n *\n * @attr title-position\n * @default 'auto'\n */\n @property({ reflect: false, attribute: 'title-position' })\n public titlePosition: StepperTitlePosition = 'auto';\n\n //#endregion\n\n constructor() {\n super();\n\n addSafeEventListener(this, 'click', this._handleInteraction);\n\n addThemingController(this, {\n light: { bootstrap, fluent, indigo },\n dark: { bootstrap, fluent, indigo },\n });\n\n addKeybindings(this, {\n skip: this._skipKeyboard,\n })\n .set(arrowUp, this._handleArrowUp)\n .set(arrowDown, this._handleArrowDown)\n .set(arrowLeft, this._handleArrowLeft)\n .set(arrowRight, this._handleArrowRight)\n .set(homeKey, this._handleHomeKey)\n .set(endKey, this._handleEndKey)\n .setActivateHandler(this._handleInteraction);\n }\n\n //#region Lifecycle hooks\n\n protected override update(properties: PropertyValues<this>): void {\n this._syncStepperAttributes(properties);\n\n if (properties.has('orientation')) {\n this._internals.setARIA({ ariaOrientation: this.orientation });\n }\n\n if (properties.has('linear')) {\n this._state.setVisitedState(this.linear);\n }\n\n super.update(properties);\n }\n\n //#endregion\n\n //#region Keyboard navigation handlers\n\n private _skipKeyboard(_: Element, event: KeyboardEvent): boolean {\n return !getElementFromPath('[data-step-header]', event);\n }\n\n private _handleHomeKey(): void {\n this._getStepHeader(first(this._state.accessibleSteps))?.focus();\n }\n\n private _handleEndKey(): void {\n this._getStepHeader(last(this._state.accessibleSteps))?.focus();\n }\n\n private _handleArrowDown(): void {\n if (!this._isHorizontal) {\n const step = this._getActiveStepComponent();\n\n if (step) {\n this._getStepHeader(this._getNextStep(step))?.focus();\n }\n }\n }\n\n private _handleArrowUp(): void {\n if (!this._isHorizontal) {\n const step = this._getActiveStepComponent();\n\n if (step) {\n this._getStepHeader(this._getPreviousStep(step))?.focus();\n }\n }\n }\n\n private _handleArrowLeft(): void {\n const step = this._getActiveStepComponent();\n\n if (step) {\n const next = isLTR(this)\n ? this._getPreviousStep(step)\n : this._getNextStep(step);\n\n this._getStepHeader(next)?.focus();\n }\n }\n\n private _handleArrowRight(): void {\n const step = this._getActiveStepComponent();\n\n if (step) {\n const next = isLTR(this)\n ? this._getNextStep(step)\n : this._getPreviousStep(step);\n\n this._getStepHeader(next)?.focus();\n }\n }\n\n //#endregion\n\n //#region Event handlers\n\n private _handleInteraction(event: Event): void {\n const step = getElementFromPath(IgcStepComponent.tagName, event);\n\n if (step && this._state.isAccessible(step)) {\n this._activateStep(step);\n }\n }\n\n private _handleSlotChange(): void {\n this._state.setSteps(\n this._slots.getAssignedElements('[default]', {\n selector: IgcStepComponent.tagName,\n })\n );\n\n this._state.stepsChanged();\n this.style.setProperty('--steps-count', this.steps.length.toString());\n }\n\n //#endregion\n\n //#region Internal methods\n\n private _syncStepperAttributes(properties: PropertyValues<this>): void {\n if (STEPPER_SYNC_PROPERTIES.some((p) => properties.has(p))) {\n this._contextProvider.updateObservers();\n }\n }\n\n private _animateSteps(\n nextStep: IgcStepComponent,\n currentStep: IgcStepComponent\n ): void {\n const steps = this._state.steps;\n\n if (steps.indexOf(nextStep) > steps.indexOf(currentStep)) {\n // Animate steps in ascending/next direction\n currentStep.toggleAnimation('out');\n nextStep.toggleAnimation('in');\n } else {\n // Animate steps in descending/previous direction\n currentStep.toggleAnimation('in', 'reverse');\n nextStep.toggleAnimation('out', 'reverse');\n }\n }\n\n private _emitChanging(args: IgcActiveStepChangingEventArgs): boolean {\n return this.emitEvent('igcActiveStepChanging', {\n detail: args,\n cancelable: true,\n });\n }\n\n private _emitChanged(args: IgcActiveStepChangedEventArgs): void {\n this.emitEvent('igcActiveStepChanged', {\n detail: args,\n });\n }\n\n private _activateStep(step: IgcStepComponent, shouldEmit = true): void {\n if (step === this._state.activeStep) {\n return;\n }\n\n if (!shouldEmit) {\n this._state.changeActiveStep(step);\n return;\n }\n\n const steps = this._state.steps;\n const activeIndex = steps.indexOf(this._state.activeStep!);\n const index = steps.indexOf(step);\n\n const args = { oldIndex: activeIndex, newIndex: index };\n\n if (!this._emitChanging(args)) {\n return;\n }\n\n if (this._state.activeStep) {\n this._animateSteps(step, this._state.activeStep);\n }\n\n this._state.changeActiveStep(step);\n this._emitChanged({ index });\n }\n\n private _moveToNextStep(next = true): void {\n const step = this._state.getAdjacentStep(next);\n\n if (step) {\n if (this._state.activeStep) {\n this._animateSteps(step, this._state.activeStep);\n }\n this._state.changeActiveStep(step);\n }\n }\n\n private _getNextStep(step: IgcStepComponent): IgcStepComponent {\n const steps = this._state.accessibleSteps;\n const next = wrap(0, steps.length - 1, steps.indexOf(step) + 1);\n\n return steps[next];\n }\n\n private _getPreviousStep(step: IgcStepComponent): IgcStepComponent {\n const steps = this._state.accessibleSteps;\n const previous = wrap(0, steps.length - 1, steps.indexOf(step) - 1);\n\n return steps[previous];\n }\n\n private _getActiveStepComponent(): IgcStepComponent | null {\n const active = getRoot(this).activeElement;\n return active ? active.closest(IgcStepComponent.tagName) : null;\n }\n\n private _getStepHeader(step?: IgcStepComponent): HTMLElement | null {\n return step?.renderRoot.querySelector('[data-step-header]') ?? null;\n }\n\n //#endregion\n\n //#region Public API\n\n /** Activates the step at a given index. */\n public navigateTo(index: number): void {\n const step = this._state.steps[index];\n\n if (step) {\n this._activateStep(step, false);\n }\n }\n\n /** Activates the next enabled step. */\n public next(): void {\n this._moveToNextStep();\n }\n\n /** Activates the previous enabled step. */\n public prev(): void {\n this._moveToNextStep(false);\n }\n\n /**\n * Resets the stepper to its initial state i.e. activates the first step.\n *\n * @remarks\n * The steps' content will not be automatically reset.\n */\n public reset(): void {\n this._state.reset();\n }\n\n //#endregion\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-stepper': IgcStepperComponent;\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--content-foreground: var(--ig-stepper-content-foreground, var(--ig-gray-900));--step-background: var(--ig-stepper-step-background, transparent);--indicator-background: var(--ig-stepper-indicator-background, transparent);--indicator-outline: var(--ig-stepper-indicator-outline, var(--ig-gray-400));--title-color: var(--ig-stepper-title-color, var(--ig-gray-900));--title-hover-color: var(--ig-stepper-title-hover-color, var(--ig-gray-900));--title-focus-color: var(--ig-stepper-title-focus-color, var(--ig-gray-900));--subtitle-color: var(--ig-stepper-subtitle-color, var(--ig-gray-700));--subtitle-hover-color: var(--ig-stepper-subtitle-hover-color, var(--ig-gray-700));--subtitle-focus-color: var(--ig-stepper-subtitle-focus-color, var(--ig-gray-700));--complete-step-background: var(--ig-stepper-complete-step-background, transparent);--complete-title-color: var(--ig-stepper-complete-title-color, var(--ig-gray-900));--complete-title-hover-color: var(--ig-stepper-complete-title-hover-color, var(--ig-gray-900));--complete-title-focus-color: var(--ig-stepper-complete-title-focus-color, var(--ig-gray-900));--complete-subtitle-color: var(--ig-stepper-complete-subtitle-color, var(--ig-gray-700));--complete-subtitle-hover-color: var(--ig-stepper-complete-subtitle-hover-color, var(--ig-gray-700));--complete-subtitle-focus-color: var(--ig-stepper-complete-subtitle-focus-color, var(--ig-gray-700));--current-step-background: var(--ig-stepper-current-step-background, transparent);--current-indicator-background: var(--ig-stepper-current-indicator-background, var(--ig-primary-500));--current-indicator-outline: var(--ig-stepper-current-indicator-outline, var(--ig-primary-500));--current-title-color: var(--ig-stepper-current-title-color, var(--ig-gray-900));--current-title-hover-color: var(--ig-stepper-current-title-hover-color, var(--ig-gray-900));--current-title-focus-color: var(--ig-stepper-current-title-focus-color, var(--ig-gray-900));--current-subtitle-color: var(--ig-stepper-current-subtitle-color, var(--ig-gray-700));--current-subtitle-hover-color: var(--ig-stepper-current-subtitle-hover-color, var(--ig-gray-700));--current-subtitle-focus-color: var(--ig-stepper-current-subtitle-focus-color, var(--ig-gray-700));--invalid-step-background: var(--ig-stepper-invalid-step-background, transparent);--invalid-indicator-background: var(--ig-stepper-invalid-indicator-background, var(--ig-error-500));--invalid-indicator-outline: var(--ig-stepper-invalid-indicator-outline, var(--ig-error-500));--invalid-title-color: var(--ig-stepper-invalid-title-color, var(--ig-error-400));--invalid-title-hover-color: var(--ig-stepper-invalid-title-hover-color, var(--ig-error-400));--invalid-title-focus-color: var(--ig-stepper-invalid-title-focus-color, var(--ig-error-300));--invalid-subtitle-color: var(--ig-stepper-invalid-subtitle-color, var(--ig-error-400));--invalid-subtitle-hover-color: var(--ig-stepper-invalid-subtitle-hover-color, var(--ig-error-400));--invalid-subtitle-focus-color: var(--ig-stepper-invalid-subtitle-focus-color, var(--ig-error-300));--disabled-indicator-color: var(--ig-stepper-disabled-indicator-color, var(--ig-gray-500));--disabled-indicator-background: var(--ig-stepper-disabled-indicator-background, transparent);--disabled-indicator-outline: var(--ig-stepper-disabled-indicator-outline, var(--ig-gray-300));--disabled-title-color: var(--ig-stepper-disabled-title-color, var(--ig-gray-500));--disabled-subtitle-color: var(--ig-stepper-disabled-subtitle-color, var(--ig-gray-500));--step-separator-color: var(--ig-stepper-step-separator-color, var(--ig-gray-100));--complete-step-separator-color: var(--ig-stepper-complete-step-separator-color, var(--ig-primary-500));--step-separator-style: var(--ig-stepper-step-separator-style, solid);--complete-step-separator-style: var(--ig-stepper-complete-step-separator-style, solid);--border-radius-indicator: var(--ig-stepper-border-radius-indicator, clamp(0rem, calc(var(--ig-radius-factor, 0.02) * 6.25rem), 6.25rem));--border-radius-step-header: var(--ig-stepper-border-radius-step-header, clamp(0rem, calc(var(--ig-radius-factor, 0.02) * 6.25rem), 6.25rem));--indicator-color: var(--ig-stepper-indicator-color, var(--ig-primary-300));--complete-indicator-background: var(--ig-stepper-complete-indicator-background, var(--ig-gray-400));--complete-indicator-outline: var(--ig-stepper-complete-indicator-outline, var(--ig-gray-400));--complete-indicator-color: var(--ig-stepper-complete-indicator-color, var(--ig-gray-300-contrast));--ig-theme: bootstrap;--ig-theme-variant: dark}`;
|
|
2
|
+
export const styles = css `:host{--content-foreground: var(--ig-stepper-content-foreground, var(--ig-gray-900));--step-background: var(--ig-stepper-step-background, transparent);--indicator-background: var(--ig-stepper-indicator-background, transparent);--indicator-outline: var(--ig-stepper-indicator-outline, var(--ig-gray-400));--title-color: var(--ig-stepper-title-color, var(--ig-gray-900));--title-hover-color: var(--ig-stepper-title-hover-color, var(--ig-gray-900));--title-focus-color: var(--ig-stepper-title-focus-color, var(--ig-gray-900));--subtitle-color: var(--ig-stepper-subtitle-color, var(--ig-gray-700));--subtitle-hover-color: var(--ig-stepper-subtitle-hover-color, var(--ig-gray-700));--subtitle-focus-color: var(--ig-stepper-subtitle-focus-color, var(--ig-gray-700));--complete-step-background: var(--ig-stepper-complete-step-background, transparent);--complete-title-color: var(--ig-stepper-complete-title-color, var(--ig-gray-900));--complete-title-hover-color: var(--ig-stepper-complete-title-hover-color, var(--ig-gray-900));--complete-title-focus-color: var(--ig-stepper-complete-title-focus-color, var(--ig-gray-900));--complete-subtitle-color: var(--ig-stepper-complete-subtitle-color, var(--ig-gray-700));--complete-subtitle-hover-color: var(--ig-stepper-complete-subtitle-hover-color, var(--ig-gray-700));--complete-subtitle-focus-color: var(--ig-stepper-complete-subtitle-focus-color, var(--ig-gray-700));--current-step-background: var(--ig-stepper-current-step-background, transparent);--current-indicator-background: var(--ig-stepper-current-indicator-background, var(--ig-primary-500));--current-indicator-outline: var(--ig-stepper-current-indicator-outline, var(--ig-primary-500));--current-title-color: var(--ig-stepper-current-title-color, var(--ig-gray-900));--current-title-hover-color: var(--ig-stepper-current-title-hover-color, var(--ig-gray-900));--current-title-focus-color: var(--ig-stepper-current-title-focus-color, var(--ig-gray-900));--current-subtitle-color: var(--ig-stepper-current-subtitle-color, var(--ig-gray-700));--current-subtitle-hover-color: var(--ig-stepper-current-subtitle-hover-color, var(--ig-gray-700));--current-subtitle-focus-color: var(--ig-stepper-current-subtitle-focus-color, var(--ig-gray-700));--invalid-step-background: var(--ig-stepper-invalid-step-background, transparent);--invalid-indicator-background: var(--ig-stepper-invalid-indicator-background, var(--ig-error-500));--invalid-indicator-outline: var(--ig-stepper-invalid-indicator-outline, var(--ig-error-500));--invalid-indicator-color: var(--ig-stepper-invalid-indicator-color, var(--ig-gray-900-contrast));--invalid-title-color: var(--ig-stepper-invalid-title-color, var(--ig-error-400));--invalid-title-hover-color: var(--ig-stepper-invalid-title-hover-color, var(--ig-error-400));--invalid-title-focus-color: var(--ig-stepper-invalid-title-focus-color, var(--ig-error-300));--invalid-subtitle-color: var(--ig-stepper-invalid-subtitle-color, var(--ig-error-400));--invalid-subtitle-hover-color: var(--ig-stepper-invalid-subtitle-hover-color, var(--ig-error-400));--invalid-subtitle-focus-color: var(--ig-stepper-invalid-subtitle-focus-color, var(--ig-error-300));--disabled-indicator-color: var(--ig-stepper-disabled-indicator-color, var(--ig-gray-500));--disabled-indicator-background: var(--ig-stepper-disabled-indicator-background, transparent);--disabled-indicator-outline: var(--ig-stepper-disabled-indicator-outline, var(--ig-gray-300));--disabled-title-color: var(--ig-stepper-disabled-title-color, var(--ig-gray-500));--disabled-subtitle-color: var(--ig-stepper-disabled-subtitle-color, var(--ig-gray-500));--step-separator-color: var(--ig-stepper-step-separator-color, var(--ig-gray-100));--complete-step-separator-color: var(--ig-stepper-complete-step-separator-color, var(--ig-primary-500));--step-separator-style: var(--ig-stepper-step-separator-style, solid);--complete-step-separator-style: var(--ig-stepper-complete-step-separator-style, solid);--border-radius-indicator: var(--ig-stepper-border-radius-indicator, clamp(0rem, calc(var(--ig-radius-factor, 0.02) * 6.25rem), 6.25rem));--border-radius-step-header: var(--ig-stepper-border-radius-step-header, clamp(0rem, calc(var(--ig-radius-factor, 0.02) * 6.25rem), 6.25rem));--indicator-color: var(--ig-stepper-indicator-color, var(--ig-primary-300));--complete-indicator-background: var(--ig-stepper-complete-indicator-background, var(--ig-gray-400));--complete-indicator-outline: var(--ig-stepper-complete-indicator-outline, var(--ig-gray-400));--complete-indicator-color: var(--ig-stepper-complete-indicator-color, var(--ig-gray-300-contrast));--ig-theme: bootstrap;--ig-theme-variant: dark}`;
|
|
3
3
|
//# sourceMappingURL=step.bootstrap.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/stepper/themes/step/dark/step.bootstrap.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"step.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/stepper/themes/step/dark/step.bootstrap.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,8jJAA8jJ,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--content-foreground: var(--ig-stepper-content-foreground, var(--ig-gray-900));--step-background: var(--ig-stepper-step-background, transparent);--indicator-background: var(--ig-stepper-indicator-background, transparent);--indicator-outline: var(--ig-stepper-indicator-outline, var(--ig-gray-400));--title-color: var(--ig-stepper-title-color, var(--ig-gray-900));--title-hover-color: var(--ig-stepper-title-hover-color, var(--ig-gray-900));--title-focus-color: var(--ig-stepper-title-focus-color, var(--ig-gray-900));--subtitle-color: var(--ig-stepper-subtitle-color, var(--ig-gray-700));--subtitle-hover-color: var(--ig-stepper-subtitle-hover-color, var(--ig-gray-700));--subtitle-focus-color: var(--ig-stepper-subtitle-focus-color, var(--ig-gray-700));--complete-step-background: var(--ig-stepper-complete-step-background, transparent);--complete-title-color: var(--ig-stepper-complete-title-color, var(--ig-gray-900));--complete-title-hover-color: var(--ig-stepper-complete-title-hover-color, var(--ig-gray-900));--complete-title-focus-color: var(--ig-stepper-complete-title-focus-color, var(--ig-gray-900));--complete-subtitle-color: var(--ig-stepper-complete-subtitle-color, var(--ig-gray-700));--complete-subtitle-hover-color: var(--ig-stepper-complete-subtitle-hover-color, var(--ig-gray-700));--complete-subtitle-focus-color: var(--ig-stepper-complete-subtitle-focus-color, var(--ig-gray-700));--current-step-background: var(--ig-stepper-current-step-background, transparent);--current-indicator-background: var(--ig-stepper-current-indicator-background, var(--ig-primary-500));--current-indicator-outline: var(--ig-stepper-current-indicator-outline, var(--ig-primary-500));--current-title-color: var(--ig-stepper-current-title-color, var(--ig-gray-900));--current-title-hover-color: var(--ig-stepper-current-title-hover-color, var(--ig-gray-900));--current-title-focus-color: var(--ig-stepper-current-title-focus-color, var(--ig-gray-900));--current-subtitle-color: var(--ig-stepper-current-subtitle-color, var(--ig-gray-700));--current-subtitle-hover-color: var(--ig-stepper-current-subtitle-hover-color, var(--ig-gray-700));--current-subtitle-focus-color: var(--ig-stepper-current-subtitle-focus-color, var(--ig-gray-700));--invalid-step-background: var(--ig-stepper-invalid-step-background, transparent);--invalid-indicator-background: var(--ig-stepper-invalid-indicator-background, var(--ig-error-500));--invalid-indicator-outline: var(--ig-stepper-invalid-indicator-outline, var(--ig-error-500));--invalid-indicator-color: var(--ig-stepper-invalid-indicator-color, var(--ig-gray-900-contrast));--invalid-title-color: var(--ig-stepper-invalid-title-color, var(--ig-error-400));--invalid-title-hover-color: var(--ig-stepper-invalid-title-hover-color, var(--ig-error-400));--invalid-title-focus-color: var(--ig-stepper-invalid-title-focus-color, var(--ig-error-300));--invalid-subtitle-color: var(--ig-stepper-invalid-subtitle-color, var(--ig-error-400));--invalid-subtitle-hover-color: var(--ig-stepper-invalid-subtitle-hover-color, var(--ig-error-400));--invalid-subtitle-focus-color: var(--ig-stepper-invalid-subtitle-focus-color, var(--ig-error-300));--disabled-indicator-color: var(--ig-stepper-disabled-indicator-color, var(--ig-gray-500));--disabled-indicator-background: var(--ig-stepper-disabled-indicator-background, transparent);--disabled-indicator-outline: var(--ig-stepper-disabled-indicator-outline, var(--ig-gray-300));--disabled-title-color: var(--ig-stepper-disabled-title-color, var(--ig-gray-500));--disabled-subtitle-color: var(--ig-stepper-disabled-subtitle-color, var(--ig-gray-500));--step-separator-color: var(--ig-stepper-step-separator-color, var(--ig-gray-100));--complete-step-separator-color: var(--ig-stepper-complete-step-separator-color, var(--ig-primary-500));--step-separator-style: var(--ig-stepper-step-separator-style, solid);--complete-step-separator-style: var(--ig-stepper-complete-step-separator-style, solid);--border-radius-indicator: var(--ig-stepper-border-radius-indicator, clamp(0rem, calc(var(--ig-radius-factor, 0.02) * 6.25rem), 6.25rem));--border-radius-step-header: var(--ig-stepper-border-radius-step-header, clamp(0rem, calc(var(--ig-radius-factor, 0.02) * 6.25rem), 6.25rem));--indicator-color: var(--ig-stepper-indicator-color, var(--ig-primary-300));--complete-indicator-background: var(--ig-stepper-complete-indicator-background, var(--ig-gray-400));--complete-indicator-outline: var(--ig-stepper-complete-indicator-outline, var(--ig-gray-400));--complete-indicator-color: var(--ig-stepper-complete-indicator-color, var(--ig-gray-300-contrast));--ig-theme: bootstrap;--ig-theme-variant: dark}`;\n "]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--content-foreground: var(--ig-stepper-content-foreground, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--step-background: var(--ig-stepper-step-background, transparent);--indicator-background: var(--ig-stepper-indicator-background, hsl(from var(--ig-gray-50-contrast) h s l/0.15));--indicator-outline: var(--ig-stepper-indicator-outline, transparent);--title-color: var(--ig-stepper-title-color, var(--ig-gray-50-contrast));--title-hover-color: var(--ig-stepper-title-hover-color, var(--ig-gray-50-contrast));--title-focus-color: var(--ig-stepper-title-focus-color, var(--ig-gray-50-contrast));--subtitle-color: var(--ig-stepper-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--subtitle-hover-color: var(--ig-stepper-subtitle-hover-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--subtitle-focus-color: var(--ig-stepper-subtitle-focus-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--complete-step-background: var(--ig-stepper-complete-step-background, transparent);--complete-title-color: var(--ig-stepper-complete-title-color, var(--ig-gray-50-contrast));--complete-title-hover-color: var(--ig-stepper-complete-title-hover-color, var(--ig-gray-50-contrast));--complete-title-focus-color: var(--ig-stepper-complete-title-focus-color, var(--ig-gray-50-contrast));--complete-subtitle-color: var(--ig-stepper-complete-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--complete-subtitle-hover-color: var(--ig-stepper-complete-subtitle-hover-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--complete-subtitle-focus-color: var(--ig-stepper-complete-subtitle-focus-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--current-step-background: var(--ig-stepper-current-step-background, transparent);--current-indicator-background: var(--ig-stepper-current-indicator-background, var(--ig-primary-500));--current-indicator-outline: var(--ig-stepper-current-indicator-outline, transparent);--current-title-color: var(--ig-stepper-current-title-color, var(--ig-gray-50-contrast));--current-title-hover-color: var(--ig-stepper-current-title-hover-color, var(--ig-gray-50-contrast));--current-title-focus-color: var(--ig-stepper-current-title-focus-color, var(--ig-gray-50-contrast));--current-subtitle-color: var(--ig-stepper-current-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--current-subtitle-hover-color: var(--ig-stepper-current-subtitle-hover-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--current-subtitle-focus-color: var(--ig-stepper-current-subtitle-focus-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--invalid-step-background: var(--ig-stepper-invalid-step-background, transparent);--invalid-indicator-background: var(--ig-stepper-invalid-indicator-background, var(--ig-error-500));--invalid-indicator-outline: var(--ig-stepper-invalid-indicator-outline, transparent);--invalid-title-color: var(--ig-stepper-invalid-title-color, var(--ig-gray-50-contrast));--invalid-title-hover-color: var(--ig-stepper-invalid-title-hover-color, var(--ig-gray-50-contrast));--invalid-title-focus-color: var(--ig-stepper-invalid-title-focus-color, var(--ig-gray-50-contrast));--invalid-subtitle-color: var(--ig-stepper-invalid-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--invalid-subtitle-hover-color: var(--ig-stepper-invalid-subtitle-hover-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--invalid-subtitle-focus-color: var(--ig-stepper-invalid-subtitle-focus-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--disabled-indicator-color: var(--ig-stepper-disabled-indicator-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--disabled-indicator-background: var(--ig-stepper-disabled-indicator-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--disabled-indicator-outline: var(--ig-stepper-disabled-indicator-outline, transparent);--disabled-title-color: var(--ig-stepper-disabled-title-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--disabled-subtitle-color: var(--ig-stepper-disabled-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--step-separator-color: var(--ig-stepper-step-separator-color, hsl(from var(--ig-gray-50-contrast) h s l/0.3));--complete-step-separator-color: var(--ig-stepper-complete-step-separator-color, hsl(from var(--ig-gray-50-contrast) h s l/0.3));--step-separator-style: var(--ig-stepper-step-separator-style, dashed);--complete-step-separator-style: var(--ig-stepper-complete-step-separator-style, solid);--border-radius-indicator: var(--ig-stepper-border-radius-indicator, clamp(0rem, calc(var(--ig-radius-factor, 1) * 6.25rem), 6.25rem));--border-radius-step-header: var(--ig-stepper-border-radius-step-header, 0.25rem);--complete-indicator-background: var(--ig-stepper-complete-indicator-background, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--complete-indicator-outline: var(--ig-stepper-complete-indicator-outline, transparent);--complete-indicator-color: var(--ig-stepper-complete-indicator-color, var(--ig-gray-50));--indicator-color: var(--ig-stepper-indicator-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--step-hover-background: var(--ig-stepper-step-hover-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--step-focus-background: var(--ig-stepper-step-focus-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--current-step-hover-background: var(--ig-stepper-current-step-hover-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--current-step-focus-background: var(--ig-stepper-current-step-focus-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--complete-step-hover-background: var(--ig-stepper-complete-step-hover-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--complete-step-focus-background: var(--ig-stepper-complete-step-focus-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--invalid-step-hover-background: var(--ig-stepper-invalid-step-hover-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--invalid-step-focus-background: var(--ig-stepper-invalid-step-focus-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--ig-theme: indigo;--ig-theme-variant: dark}`;
|
|
2
|
+
export const styles = css `:host{--content-foreground: var(--ig-stepper-content-foreground, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--step-background: var(--ig-stepper-step-background, transparent);--indicator-background: var(--ig-stepper-indicator-background, hsl(from var(--ig-gray-50-contrast) h s l/0.15));--indicator-outline: var(--ig-stepper-indicator-outline, transparent);--title-color: var(--ig-stepper-title-color, var(--ig-gray-50-contrast));--title-hover-color: var(--ig-stepper-title-hover-color, var(--ig-gray-50-contrast));--title-focus-color: var(--ig-stepper-title-focus-color, var(--ig-gray-50-contrast));--subtitle-color: var(--ig-stepper-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--subtitle-hover-color: var(--ig-stepper-subtitle-hover-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--subtitle-focus-color: var(--ig-stepper-subtitle-focus-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--complete-step-background: var(--ig-stepper-complete-step-background, transparent);--complete-title-color: var(--ig-stepper-complete-title-color, var(--ig-gray-50-contrast));--complete-title-hover-color: var(--ig-stepper-complete-title-hover-color, var(--ig-gray-50-contrast));--complete-title-focus-color: var(--ig-stepper-complete-title-focus-color, var(--ig-gray-50-contrast));--complete-subtitle-color: var(--ig-stepper-complete-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--complete-subtitle-hover-color: var(--ig-stepper-complete-subtitle-hover-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--complete-subtitle-focus-color: var(--ig-stepper-complete-subtitle-focus-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--current-step-background: var(--ig-stepper-current-step-background, transparent);--current-indicator-background: var(--ig-stepper-current-indicator-background, var(--ig-primary-500));--current-indicator-outline: var(--ig-stepper-current-indicator-outline, transparent);--current-indicator-color: var(--ig-stepper-current-indicator-color, var(--ig-gray-50-contrast));--current-title-color: var(--ig-stepper-current-title-color, var(--ig-gray-50-contrast));--current-title-hover-color: var(--ig-stepper-current-title-hover-color, var(--ig-gray-50-contrast));--current-title-focus-color: var(--ig-stepper-current-title-focus-color, var(--ig-gray-50-contrast));--current-subtitle-color: var(--ig-stepper-current-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--current-subtitle-hover-color: var(--ig-stepper-current-subtitle-hover-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--current-subtitle-focus-color: var(--ig-stepper-current-subtitle-focus-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--invalid-step-background: var(--ig-stepper-invalid-step-background, transparent);--invalid-indicator-background: var(--ig-stepper-invalid-indicator-background, var(--ig-error-500));--invalid-indicator-outline: var(--ig-stepper-invalid-indicator-outline, transparent);--invalid-indicator-color: var(--ig-stepper-invalid-indicator-color, var(--ig-gray-50-contrast));--invalid-title-color: var(--ig-stepper-invalid-title-color, var(--ig-gray-50-contrast));--invalid-title-hover-color: var(--ig-stepper-invalid-title-hover-color, var(--ig-gray-50-contrast));--invalid-title-focus-color: var(--ig-stepper-invalid-title-focus-color, var(--ig-gray-50-contrast));--invalid-subtitle-color: var(--ig-stepper-invalid-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--invalid-subtitle-hover-color: var(--ig-stepper-invalid-subtitle-hover-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--invalid-subtitle-focus-color: var(--ig-stepper-invalid-subtitle-focus-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--disabled-indicator-color: var(--ig-stepper-disabled-indicator-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--disabled-indicator-background: var(--ig-stepper-disabled-indicator-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--disabled-indicator-outline: var(--ig-stepper-disabled-indicator-outline, transparent);--disabled-title-color: var(--ig-stepper-disabled-title-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--disabled-subtitle-color: var(--ig-stepper-disabled-subtitle-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--step-separator-color: var(--ig-stepper-step-separator-color, hsl(from var(--ig-gray-50-contrast) h s l/0.3));--complete-step-separator-color: var(--ig-stepper-complete-step-separator-color, hsl(from var(--ig-gray-50-contrast) h s l/0.3));--step-separator-style: var(--ig-stepper-step-separator-style, dashed);--complete-step-separator-style: var(--ig-stepper-complete-step-separator-style, solid);--border-radius-indicator: var(--ig-stepper-border-radius-indicator, clamp(0rem, calc(var(--ig-radius-factor, 1) * 6.25rem), 6.25rem));--border-radius-step-header: var(--ig-stepper-border-radius-step-header, 0.25rem);--complete-indicator-background: var(--ig-stepper-complete-indicator-background, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--complete-indicator-outline: var(--ig-stepper-complete-indicator-outline, transparent);--complete-indicator-color: var(--ig-stepper-complete-indicator-color, var(--ig-gray-50));--indicator-color: var(--ig-stepper-indicator-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--step-hover-background: var(--ig-stepper-step-hover-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--step-focus-background: var(--ig-stepper-step-focus-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--current-step-hover-background: var(--ig-stepper-current-step-hover-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--current-step-focus-background: var(--ig-stepper-current-step-focus-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--complete-step-hover-background: var(--ig-stepper-complete-step-hover-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--complete-step-focus-background: var(--ig-stepper-complete-step-focus-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--invalid-step-hover-background: var(--ig-stepper-invalid-step-hover-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--invalid-step-focus-background: var(--ig-stepper-invalid-step-focus-background, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--ig-theme: indigo;--ig-theme-variant: dark}`;
|
|
3
3
|
//# sourceMappingURL=step.indigo.css.js.map
|