ux4g-components-web 1.2.2 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,6 +10,8 @@ const VARIANT_CLASS_MAP = {
10
10
  'outline-danger': 'ux4g-btn-outline-danger',
11
11
  'text-danger': 'ux4g-btn-text-danger',
12
12
  'tonal-danger': 'ux4g-btn-tonal-danger',
13
+ 'outline-neutral': 'ux4g-btn-outline-neutral',
14
+ 'text-neutral': 'ux4g-btn-text-neutral',
13
15
  };
14
16
  // Maps size → CSS class
15
17
  const SIZE_CLASS_MAP = {
@@ -522,6 +524,34 @@ function buildResultListRowClasses(variation, extra) {
522
524
  parts.push(extra);
523
525
  return parts.join(' ');
524
526
  }
527
+ // ── Mega Menu ─────────────────────────────────────────────────────────────────
528
+ /** Returns the CSS class string for the mega-menu root element.
529
+ * Base class: `ux4g-mega-menu` (always present)
530
+ * Dropdown: `ux4g-mega-menu--dropdown` (when dropdown is true)
531
+ * Right: `ux4g-mega-menu--dropdown-right` (only when BOTH dropdown AND dropdownRight are true)
532
+ */
533
+ function buildMegaMenuClasses(dropdown, dropdownRight, extra) {
534
+ const parts = ['ux4g-mega-menu'];
535
+ if (dropdown)
536
+ parts.push('ux4g-mega-menu--dropdown');
537
+ if (dropdown && dropdownRight)
538
+ parts.push('ux4g-mega-menu--dropdown-right');
539
+ if (extra)
540
+ parts.push(extra);
541
+ return parts.join(' ');
542
+ }
543
+ /** Returns the CSS class string for the mega-menu wrapper element (dropdown positioning context).
544
+ * Base class: `ux4g-mega-menu-wrapper` (always present)
545
+ * Active: `ux4g-mega-menu-wrapper--active` (when active is true)
546
+ */
547
+ function buildMegaMenuWrapperClasses(active, extra) {
548
+ const parts = ['ux4g-mega-menu-wrapper'];
549
+ if (active)
550
+ parts.push('ux4g-mega-menu-wrapper--active');
551
+ if (extra)
552
+ parts.push(extra);
553
+ return parts.join(' ');
554
+ }
525
555
 
526
556
  exports.SIZE_CLASS_MAP = SIZE_CLASS_MAP;
527
557
  exports.SPINNER_SIZE_CLASS_PART = SPINNER_SIZE_CLASS_PART;
@@ -559,6 +589,8 @@ exports.buildInputContainerClasses = buildInputContainerClasses;
559
589
  exports.buildJourneyTimelineClasses = buildJourneyTimelineClasses;
560
590
  exports.buildLinkClasses = buildLinkClasses;
561
591
  exports.buildListClasses = buildListClasses;
592
+ exports.buildMegaMenuClasses = buildMegaMenuClasses;
593
+ exports.buildMegaMenuWrapperClasses = buildMegaMenuWrapperClasses;
562
594
  exports.buildModalBackdropClasses = buildModalBackdropClasses;
563
595
  exports.buildModalBoxClasses = buildModalBoxClasses;
564
596
  exports.buildNavbarClasses = buildNavbarClasses;
@@ -1,4 +1,4 @@
1
- export type ButtonVariant = 'primary' | 'outline-primary' | 'text-primary' | 'tonal-primary' | 'danger' | 'outline-danger' | 'text-danger' | 'tonal-danger';
1
+ export type ButtonVariant = 'primary' | 'outline-primary' | 'text-primary' | 'tonal-primary' | 'danger' | 'outline-danger' | 'text-danger' | 'tonal-danger' | 'outline-neutral' | 'text-neutral';
2
2
  export type ButtonSize = 'xl' | 'lg' | 'md' | 'sm' | 'xs';
3
3
  export type ButtonShape = 'rectangle' | 'pill';
4
4
  export declare const VARIANT_CLASS_MAP: Record<ButtonVariant, string>;
@@ -142,3 +142,14 @@ export type FooterTheme = 'default' | 'primary' | 'dark';
142
142
  export declare function buildFooterClasses(theme?: FooterTheme, extra?: string): string;
143
143
  export type ResultListRowVariation = 'default' | 'v1' | 'v2' | 'v3' | 'v4' | 'v5';
144
144
  export declare function buildResultListRowClasses(variation?: ResultListRowVariation, extra?: string): string;
145
+ /** Returns the CSS class string for the mega-menu root element.
146
+ * Base class: `ux4g-mega-menu` (always present)
147
+ * Dropdown: `ux4g-mega-menu--dropdown` (when dropdown is true)
148
+ * Right: `ux4g-mega-menu--dropdown-right` (only when BOTH dropdown AND dropdownRight are true)
149
+ */
150
+ export declare function buildMegaMenuClasses(dropdown?: boolean, dropdownRight?: boolean, extra?: string): string;
151
+ /** Returns the CSS class string for the mega-menu wrapper element (dropdown positioning context).
152
+ * Base class: `ux4g-mega-menu-wrapper` (always present)
153
+ * Active: `ux4g-mega-menu-wrapper--active` (when active is true)
154
+ */
155
+ export declare function buildMegaMenuWrapperClasses(active?: boolean, extra?: string): string;
@@ -8,6 +8,8 @@ const VARIANT_CLASS_MAP = {
8
8
  'outline-danger': 'ux4g-btn-outline-danger',
9
9
  'text-danger': 'ux4g-btn-text-danger',
10
10
  'tonal-danger': 'ux4g-btn-tonal-danger',
11
+ 'outline-neutral': 'ux4g-btn-outline-neutral',
12
+ 'text-neutral': 'ux4g-btn-text-neutral',
11
13
  };
12
14
  // Maps size → CSS class
13
15
  const SIZE_CLASS_MAP = {
@@ -520,5 +522,33 @@ function buildResultListRowClasses(variation, extra) {
520
522
  parts.push(extra);
521
523
  return parts.join(' ');
522
524
  }
525
+ // ── Mega Menu ─────────────────────────────────────────────────────────────────
526
+ /** Returns the CSS class string for the mega-menu root element.
527
+ * Base class: `ux4g-mega-menu` (always present)
528
+ * Dropdown: `ux4g-mega-menu--dropdown` (when dropdown is true)
529
+ * Right: `ux4g-mega-menu--dropdown-right` (only when BOTH dropdown AND dropdownRight are true)
530
+ */
531
+ function buildMegaMenuClasses(dropdown, dropdownRight, extra) {
532
+ const parts = ['ux4g-mega-menu'];
533
+ if (dropdown)
534
+ parts.push('ux4g-mega-menu--dropdown');
535
+ if (dropdown && dropdownRight)
536
+ parts.push('ux4g-mega-menu--dropdown-right');
537
+ if (extra)
538
+ parts.push(extra);
539
+ return parts.join(' ');
540
+ }
541
+ /** Returns the CSS class string for the mega-menu wrapper element (dropdown positioning context).
542
+ * Base class: `ux4g-mega-menu-wrapper` (always present)
543
+ * Active: `ux4g-mega-menu-wrapper--active` (when active is true)
544
+ */
545
+ function buildMegaMenuWrapperClasses(active, extra) {
546
+ const parts = ['ux4g-mega-menu-wrapper'];
547
+ if (active)
548
+ parts.push('ux4g-mega-menu-wrapper--active');
549
+ if (extra)
550
+ parts.push(extra);
551
+ return parts.join(' ');
552
+ }
523
553
 
524
- export { SIZE_CLASS_MAP, SPINNER_SIZE_CLASS_PART, SPINNER_TYPE_CLASS_PART, SPINNER_VARIANT_CLASS_PART, VARIANT_CLASS_MAP, buildAccessibilityBarClasses, buildAccordionClasses, buildAlertClasses, buildAlertContainerClasses, buildAvatarClasses, buildBadgeClasses, buildBreadcrumbClasses, buildButtonClasses, buildCardClasses, buildCarouselClasses, buildCheckboxClasses, buildChipClasses, buildChipGroupClasses, buildComboboxClasses, buildContextAlertClasses, buildDateTimePickerClasses, buildDividerClasses, buildDraftStatusBannerClasses, buildDrawerClasses, buildDropdownClasses, buildEmptyStateClasses, buildFeedbackClasses, buildFileUploadClasses, buildFooterClasses, buildFormFieldGroupClasses, buildIconButtonClasses, buildImageContainerClasses, buildInputContainerClasses, buildJourneyTimelineClasses, buildLinkClasses, buildListClasses, buildModalBackdropClasses, buildModalBoxClasses, buildNavbarClasses, buildOtpInputClasses, buildPaginationClasses, buildPopoverClasses, buildProgressIndicatorClasses, buildRadioClasses, buildResultListRowClasses, buildSearchContainerClasses, buildSlaProgressIndicatorClasses, buildSliderFieldClasses, buildSlotGridClasses, buildSocialLinksClasses, buildSpinnerClasses, buildStatusPipelineClasses, buildStepperClasses, buildSwitchClasses, buildTabClasses, buildTableClasses, buildTagClasses, buildTooltipClasses };
554
+ export { SIZE_CLASS_MAP, SPINNER_SIZE_CLASS_PART, SPINNER_TYPE_CLASS_PART, SPINNER_VARIANT_CLASS_PART, VARIANT_CLASS_MAP, buildAccessibilityBarClasses, buildAccordionClasses, buildAlertClasses, buildAlertContainerClasses, buildAvatarClasses, buildBadgeClasses, buildBreadcrumbClasses, buildButtonClasses, buildCardClasses, buildCarouselClasses, buildCheckboxClasses, buildChipClasses, buildChipGroupClasses, buildComboboxClasses, buildContextAlertClasses, buildDateTimePickerClasses, buildDividerClasses, buildDraftStatusBannerClasses, buildDrawerClasses, buildDropdownClasses, buildEmptyStateClasses, buildFeedbackClasses, buildFileUploadClasses, buildFooterClasses, buildFormFieldGroupClasses, buildIconButtonClasses, buildImageContainerClasses, buildInputContainerClasses, buildJourneyTimelineClasses, buildLinkClasses, buildListClasses, buildMegaMenuClasses, buildMegaMenuWrapperClasses, buildModalBackdropClasses, buildModalBoxClasses, buildNavbarClasses, buildOtpInputClasses, buildPaginationClasses, buildPopoverClasses, buildProgressIndicatorClasses, buildRadioClasses, buildResultListRowClasses, buildSearchContainerClasses, buildSlaProgressIndicatorClasses, buildSliderFieldClasses, buildSlotGridClasses, buildSocialLinksClasses, buildSpinnerClasses, buildStatusPipelineClasses, buildStepperClasses, buildSwitchClasses, buildTabClasses, buildTableClasses, buildTagClasses, buildTooltipClasses };
@@ -1,4 +1,4 @@
1
- export type ButtonVariant = 'primary' | 'outline-primary' | 'text-primary' | 'tonal-primary' | 'danger' | 'outline-danger' | 'text-danger' | 'tonal-danger';
1
+ export type ButtonVariant = 'primary' | 'outline-primary' | 'text-primary' | 'tonal-primary' | 'danger' | 'outline-danger' | 'text-danger' | 'tonal-danger' | 'outline-neutral' | 'text-neutral';
2
2
  export type ButtonSize = 'xl' | 'lg' | 'md' | 'sm' | 'xs';
3
3
  export type ButtonShape = 'rectangle' | 'pill';
4
4
  export declare const VARIANT_CLASS_MAP: Record<ButtonVariant, string>;
@@ -142,3 +142,14 @@ export type FooterTheme = 'default' | 'primary' | 'dark';
142
142
  export declare function buildFooterClasses(theme?: FooterTheme, extra?: string): string;
143
143
  export type ResultListRowVariation = 'default' | 'v1' | 'v2' | 'v3' | 'v4' | 'v5';
144
144
  export declare function buildResultListRowClasses(variation?: ResultListRowVariation, extra?: string): string;
145
+ /** Returns the CSS class string for the mega-menu root element.
146
+ * Base class: `ux4g-mega-menu` (always present)
147
+ * Dropdown: `ux4g-mega-menu--dropdown` (when dropdown is true)
148
+ * Right: `ux4g-mega-menu--dropdown-right` (only when BOTH dropdown AND dropdownRight are true)
149
+ */
150
+ export declare function buildMegaMenuClasses(dropdown?: boolean, dropdownRight?: boolean, extra?: string): string;
151
+ /** Returns the CSS class string for the mega-menu wrapper element (dropdown positioning context).
152
+ * Base class: `ux4g-mega-menu-wrapper` (always present)
153
+ * Active: `ux4g-mega-menu-wrapper--active` (when active is true)
154
+ */
155
+ export declare function buildMegaMenuWrapperClasses(active?: boolean, extra?: string): string;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "ux4g-components-web",
3
- "version": "1.2.2",
3
+ "version": "1.3.1",
4
4
  "type": "module",
5
5
  "description": "UX4G Design System — CSS bundle, design tokens, utilities, and shared Class_Builder types",
6
6
  "scripts": {
7
7
  "build:css": "node scripts/build-css.mjs",
8
8
  "build:types": "rollup -c rollup.config.mjs",
9
9
  "build": "npm run build:css && npm run build:types",
10
- "prepublishOnly": "npm run build:types",
10
+ "prepublishOnly": "npm run build",
11
11
  "test": "jest"
12
12
  },
13
13
  "exports": {