var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/selectors/index.ts
var index_exports = {};
__export(index_exports, {
  FExpandableParagraphSelectors: () => FExpandableParagraphSelectors,
  FListSelectors: () => FListSelectors,
  FPaginatorSelectors: () => FPaginatorSelectors
});
module.exports = __toCommonJS(index_exports);

// src/selectors/FList.selectors.ts
function FListSelectors(selector = ".list") {
  return Object.freeze({
    /**
     * The base selector for the component.
     *
     * This is the same selector that the consumer provided.
     *
     * @public
     * @since v6.42.0
     * @returns The root selector for the component.
     */
    get selector() {
      return selector;
    },
    /**
     * Get all list items.
     *
     * @public
     * @since v6.42.0
     * @returns A selector for all of the list items.
     */
    listItems() {
      return `${selector} > .list__item:not(.list__item--empty) > .list__item__itempane`;
    },
    /**
     * Get the list item with the given index.
     *
     * @public
     * @since v6.42.0
     * @param index - The index of the item (0-based).
     * @returns A selector for the list item with the given index.
     */
    listItemByIndex(index) {
      return `${selector} > .list__item:nth-child(${index + 1}):not(.list__item--empty)`;
    },
    /**
     * Get the element displaying the empty message when the list is empty.
     *
     * @public
     * @since v6.42.0
     * @returns A selector for the element with empty text.
     */
    emptyMessage() {
      return `${selector} > .list__item.list__item--empty`;
    }
  });
}

// src/selectors/FPaginator.selectors.ts
function FPaginatorSelectors(selector = ".paginator") {
  return Object.freeze({
    /**
     * The base selector for the component.
     *
     * This is the same selector that the consumer provided.
     *
     * @public
     * @since v6.34.0
     * @returns The root selector for the component.
     */
    get selector() {
      return selector;
    },
    /**
     * Get the button for the current page.
     *
     * @public
     * @since v6.34.0
     * @returns A selector for the currently active page button.
     */
    currentPageButton() {
      return `${selector} .paginator__page--active`;
    },
    /**
     * Get the button for the first page.
     *
     * @public
     * @since v6.34.0
     * @returns A selector for the button that navigates to the first
     * page.
     */
    firstPageButton() {
      return `${selector} [data-page~="first"]`;
    },
    /**
     * Get the button for the last page.
     *
     * @public
     * @since v6.34.0
     * @returns A selector for the button that navigates to the last
     * page.
     */
    lastPageButton() {
      return `${selector} [data-page~="last"]`;
    },
    /**
     * Get the button for navigating to the next page.
     *
     * @public
     * @since v6.34.0
     * @returns A selector for the button that navigates to the next
     * page.
     */
    nextPageButton() {
      return `${selector} .paginator__next`;
    },
    /**
     * Get the button for a specific page by displayed text.
     *
     * This returns the button that displays the given text.
     *
     * @public
     * @since v6.34.0
     * @param text - The text displayed on the requested button. If a
     * numeric value is provided, it is converted to a string.
     * @returns A selector for the specified page button.
     */
    pageButtonByText(text) {
      return `${selector} > [data-page~="${text}"]`;
    },
    /**
     * Get the button for a specific page by index.
     *
     * The index starts at zero for the first button. A negative index
     * selects buttons from the end, e.g. `-1` selects the last button.
     *
     * @public
     * @since v6.34.0
     * @param index - The zero-based page index, or a negative index to
     * select from the end (e.g. `-1` selects the last button).
     * @returns A selector for the specified page button.
     */
    pageButtonByIndex(index) {
      return `${selector} > [data-index~="${index}"]`;
    },
    /**
     * Get the buttons for all pages shown.
     *
     * @public
     * @since v6.34.0
     * @returns A selector for all displayed page buttons.
     */
    pageButtons() {
      return `${selector} .paginator__page`;
    },
    /**
     * Get the page counter element.
     *
     * The counter replaces the page buttons in compact mode on mobile
     * devices.
     *
     * @public
     * @since v6.34.0
     * @returns A selector for the page counter element.
     */
    pageCounter() {
      return `${selector} .paginator__page-counter`;
    },
    /**
     * Get the button for navigating to the previous page.
     *
     * @public
     * @since v6.34.0
     * @returns A selector for the button that navigates to the previous
     * page.
     */
    previousPageButton() {
      return `${selector} .paginator__previous`;
    }
  });
}

// src/selectors/FExpandableParagraph.selectors.ts
function FExpandableParagraphSelectors(selector = ".expandable-paragraph") {
  return Object.freeze({
    /**
     * The base selector for the component.
     *
     * This is the same selector that the consumer provided.
     *
     * @public
     * @since v6.43.0
     * @returns The root selector for the component.
     */
    get selector() {
      return selector;
    },
    /**
     * Get the expand/collapse icon.
     *
     * @public
     * @since v6.43.0
     * @returns The expand/collapse icon.
     */
    expandCollapseIcon() {
      return `${selector} .expandable-paragraph__icon`;
    },
    /**
     * Get the header.
     *
     * @public
     * @since v6.43.0
     * @returns The header.
     */
    header() {
      return `${selector} .expandable-paragraph__heading .expandable-paragraph__button`;
    },
    /**
     * Get the body.
     *
     * @public
     * @since v6.43.0
     * @returns The body.
     */
    body() {
      return `${selector} .expandable-paragraph__content`;
    },
    /**
     * Get the related info.
     *
     * @public
     * @since v6.43.0
     * @returns The related info.
     */
    relatedInfo() {
      return `${selector} .expandable-paragraph__related-information`;
    }
  });
}
//# sourceMappingURL=selectors.cjs.js.map
