From 8b5da7f0359889c447ae3768bdf66e2801aabff8 Mon Sep 17 00:00:00 2001 From: Christopher Holt <=> Date: Tue, 16 Apr 2024 10:57:23 -0700 Subject: [PATCH 1/4] fix(web-components): refactor exports to remove most barrel exports for components --- ...-b79350c6-45b4-4047-b3cb-bdd2f3913561.json | 7 + .../src/accordion-item/index.ts | 4 +- .../web-components/src/accordion/index.ts | 3 +- .../web-components/src/anchor-button/index.ts | 10 +- packages/web-components/src/avatar/index.ts | 11 +- packages/web-components/src/badge/index.ts | 4 +- packages/web-components/src/button/index.ts | 4 +- packages/web-components/src/checkbox/index.ts | 4 +- .../src/compound-button/index.ts | 4 +- .../web-components/src/counter-badge/index.ts | 9 +- packages/web-components/src/dialog/index.ts | 3 +- packages/web-components/src/divider/index.ts | 4 +- packages/web-components/src/image/index.ts | 4 +- packages/web-components/src/index.ts | 259 +++++++++++++++--- packages/web-components/src/label/index.ts | 3 +- .../web-components/src/menu-button/index.ts | 4 +- .../src/menu-button/menu-button.options.ts | 2 +- .../web-components/src/menu-item/index.ts | 3 +- .../web-components/src/menu-list/index.ts | 2 +- packages/web-components/src/menu/index.ts | 2 +- .../web-components/src/progress-bar/index.ts | 9 +- .../progress-ring/progress-ring.options.ts | 10 - .../src/progress-ring/progress-ring.ts | 15 - .../web-components/src/radio-group/index.ts | 3 +- packages/web-components/src/radio/index.ts | 2 +- packages/web-components/src/slider/index.ts | 4 +- packages/web-components/src/spinner/index.ts | 4 +- .../web-components/src/spinner/spinner.ts | 4 +- packages/web-components/src/switch/index.ts | 4 +- .../web-components/src/tab-panel/index.ts | 2 +- packages/web-components/src/tab/index.ts | 2 +- packages/web-components/src/tabs/index.ts | 4 +- .../web-components/src/text-input/index.ts | 4 +- .../src/text-input/text-input.options.ts | 14 +- .../src/text-input/text-input.ts | 8 +- packages/web-components/src/text/index.ts | 4 +- .../web-components/src/toggle-button/index.ts | 9 +- 37 files changed, 326 insertions(+), 122 deletions(-) create mode 100644 change/@fluentui-web-components-b79350c6-45b4-4047-b3cb-bdd2f3913561.json delete mode 100644 packages/web-components/src/progress-ring/progress-ring.options.ts delete mode 100644 packages/web-components/src/progress-ring/progress-ring.ts diff --git a/change/@fluentui-web-components-b79350c6-45b4-4047-b3cb-bdd2f3913561.json b/change/@fluentui-web-components-b79350c6-45b4-4047-b3cb-bdd2f3913561.json new file mode 100644 index 00000000000000..3ae947b76d1f1d --- /dev/null +++ b/change/@fluentui-web-components-b79350c6-45b4-4047-b3cb-bdd2f3913561.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "fix(web-components): remove all barrell exports with exception of design tokens", + "packageName": "@fluentui/web-components", + "email": "=", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/accordion-item/index.ts b/packages/web-components/src/accordion-item/index.ts index 14613c95835a65..0ece099782f068 100644 --- a/packages/web-components/src/accordion-item/index.ts +++ b/packages/web-components/src/accordion-item/index.ts @@ -1,5 +1,5 @@ -export * from './accordion-item.js'; -export * from './accordion-item.options.js'; +export { AccordionItem, AccordionItemOptions } from './accordion-item.js'; +export { AccordionItemSize, AccordionItemExpandIconPosition } from './accordion-item.options.js'; export { styles as accordionItemStyles } from './accordion-item.styles.js'; export { definition as accordionItemDefinition } from './accordion-item.definition.js'; export { template as accordionItemTemplate } from './accordion-item.template.js'; diff --git a/packages/web-components/src/accordion/index.ts b/packages/web-components/src/accordion/index.ts index c6b994bfc7c025..a78691556e3028 100644 --- a/packages/web-components/src/accordion/index.ts +++ b/packages/web-components/src/accordion/index.ts @@ -1,4 +1,5 @@ -export * from './accordion.js'; +export { Accordion } from './accordion.js'; +export { AccordionExpandMode } from './accordion.options.js'; export { template as accordionTemplate } from './accordion.template.js'; export { styles as accordionStyles } from './accordion.styles.js'; export { definition as accordionDefinition } from './accordion.definition.js'; diff --git a/packages/web-components/src/anchor-button/index.ts b/packages/web-components/src/anchor-button/index.ts index 0623781e9ad729..5b17e7dcaae22b 100644 --- a/packages/web-components/src/anchor-button/index.ts +++ b/packages/web-components/src/anchor-button/index.ts @@ -1,4 +1,10 @@ -export * from './anchor-button.js'; -export * from './anchor-button.options.js'; +export { AnchorButton } from './anchor-button.js'; +export { + AnchorButtonOptions, + AnchorButtonAppearance, + AnchorButtonShape, + AnchorButtonSize, + AnchorTarget, +} from './anchor-button.options.js'; export { template as AnchorButtonTemplate } from './anchor-button.template.js'; export { definition as AnchorButtonDefinition } from './anchor-button.definition.js'; diff --git a/packages/web-components/src/avatar/index.ts b/packages/web-components/src/avatar/index.ts index 8bb35aee4dc2a3..94ffd5f6b086f6 100644 --- a/packages/web-components/src/avatar/index.ts +++ b/packages/web-components/src/avatar/index.ts @@ -1,5 +1,12 @@ -export * from './avatar.js'; -export * from './avatar.options.js'; +export { Avatar } from './avatar.js'; +export { + AvatarActive, + AvatarAppearance, + AvatarColor, + AvatarNamedColor, + AvatarShape, + AvatarSize, +} from './avatar.options.js'; export { template as AvatarTemplate } from './avatar.template.js'; export { styles as AvatarStyles } from './avatar.styles.js'; export { definition as AvatarDefinition } from './avatar.definition.js'; diff --git a/packages/web-components/src/badge/index.ts b/packages/web-components/src/badge/index.ts index 92e3fdcd872146..1213fe39812bf6 100644 --- a/packages/web-components/src/badge/index.ts +++ b/packages/web-components/src/badge/index.ts @@ -1,5 +1,5 @@ -export * from './badge.js'; -export * from './badge.options.js'; +export { Badge } from './badge.js'; +export { BadgeAppearance, BadgeColor, BadgeShape, BadgeSize } from './badge.options.js'; export { template as BadgeTemplate } from './badge.template.js'; export { styles as BadgeStyles } from './badge.styles.js'; export { definition as BadgeDefinition } from './badge.definition.js'; diff --git a/packages/web-components/src/button/index.ts b/packages/web-components/src/button/index.ts index 37df4b2a8eddad..b1115c6ca44bc7 100644 --- a/packages/web-components/src/button/index.ts +++ b/packages/web-components/src/button/index.ts @@ -1,5 +1,5 @@ -export * from './button.js'; -export * from './button.options.js'; +export { Button } from './button.js'; +export { ButtonAppearance, ButtonShape, ButtonSize, ButtonType, ButtonOptions } from './button.options.js'; export { template as ButtonTemplate } from './button.template.js'; export { styles as ButtonStyles } from './button.styles.js'; export { definition as ButtonDefinition } from './button.definition.js'; diff --git a/packages/web-components/src/checkbox/index.ts b/packages/web-components/src/checkbox/index.ts index 2bba4c13d942c4..44778771bed54b 100644 --- a/packages/web-components/src/checkbox/index.ts +++ b/packages/web-components/src/checkbox/index.ts @@ -1,5 +1,5 @@ -export * from './checkbox.js'; -export * from './checkbox.options.js'; +export { Checkbox, CheckboxOptions } from './checkbox.js'; +export { CheckboxLabelPosition, CheckboxShape, CheckboxSize } from './checkbox.options.js'; export { definition as CheckboxDefinition } from './checkbox.definition.js'; export { template as CheckboxTemplate } from './checkbox.template.js'; export { styles as CheckboxStyles } from './checkbox.styles.js'; diff --git a/packages/web-components/src/compound-button/index.ts b/packages/web-components/src/compound-button/index.ts index e4e0bc601f76e0..4628532108a5e0 100644 --- a/packages/web-components/src/compound-button/index.ts +++ b/packages/web-components/src/compound-button/index.ts @@ -1,5 +1,5 @@ -export * from './compound-button.js'; -export * from './compound-button.options.js'; +export { CompoundButton } from './compound-button.js'; +export { CompoundButtonAppearance, CompoundButtonShape, CompoundButtonSize } from './compound-button.options.js'; export { template as CompoundButtonTemplate } from './compound-button.template.js'; export { styles as CompoundButtonStyles } from './compound-button.styles.js'; export { definition as CompoundButtonDefinition } from './compound-button.definition.js'; diff --git a/packages/web-components/src/counter-badge/index.ts b/packages/web-components/src/counter-badge/index.ts index 159c31d2e2f94e..b13de0fa61286a 100644 --- a/packages/web-components/src/counter-badge/index.ts +++ b/packages/web-components/src/counter-badge/index.ts @@ -1,5 +1,10 @@ -export * from './counter-badge.js'; -export * from './counter-badge.options.js'; +export { CounterBadge } from './counter-badge.js'; +export { + CounterBadgeAppearance, + CounterBadgeColor, + CounterBadgeShape, + CounterBadgeSize, +} from './counter-badge.options.js'; export { template as CounterBadgeTemplate } from './counter-badge.template.js'; export { styles as CounterBadgeStyles } from './counter-badge.styles.js'; export { definition as CounterBadgeDefinition } from './counter-badge.definition.js'; diff --git a/packages/web-components/src/dialog/index.ts b/packages/web-components/src/dialog/index.ts index 12f8a223acb9b5..cd49aa25da03b7 100644 --- a/packages/web-components/src/dialog/index.ts +++ b/packages/web-components/src/dialog/index.ts @@ -1,4 +1,5 @@ -export * from './dialog.js'; +export { Dialog } from './dialog.js'; +export { DialogModalType } from './dialog.options.js'; export { definition as DialogDefinition } from './dialog.definition.js'; export { template as DialogTemplate } from './dialog.template.js'; export { styles as DialogStyles } from './dialog.styles.js'; diff --git a/packages/web-components/src/divider/index.ts b/packages/web-components/src/divider/index.ts index 5ee2dd0fcaf33e..c5d945cfa38d03 100644 --- a/packages/web-components/src/divider/index.ts +++ b/packages/web-components/src/divider/index.ts @@ -1,5 +1,5 @@ -export * from './divider.js'; -export * from './divider.options.js'; +export { Divider } from './divider.js'; +export { DividerAlignContent, DividerAppearance, DividerOrientation, DividerRole } from './divider.options.js'; export { definition as DividerDefinition } from './divider.definition.js'; export { template as DividerTemplate } from './divider.template.js'; export { styles as DividerStyles } from './divider.styles.js'; diff --git a/packages/web-components/src/image/index.ts b/packages/web-components/src/image/index.ts index 29839a12488658..6ba3fcb6dc11f2 100644 --- a/packages/web-components/src/image/index.ts +++ b/packages/web-components/src/image/index.ts @@ -1,5 +1,5 @@ -export * from './image.js'; -export * from './image.options.js'; +export { Image } from './image.js'; +export { ImageFit, ImageShape } from './image.options.js'; export { definition as ImageDefinition } from './image.definition.js'; export { template as ImageTemplate } from './image.template.js'; export { styles as ImageStyles } from './image.styles.js'; diff --git a/packages/web-components/src/index.ts b/packages/web-components/src/index.ts index 22f633130be87b..45ba11c214f72d 100644 --- a/packages/web-components/src/index.ts +++ b/packages/web-components/src/index.ts @@ -1,35 +1,213 @@ -export * from './accordion/index.js'; -export * from './accordion-item/index.js'; -export * from './anchor-button/index.js'; -export * from './avatar/index.js'; -export * from './badge/index.js'; -export * from './button/index.js'; -export * from './checkbox/index.js'; -export * from './compound-button/index.js'; -export * from './counter-badge/index.js'; -export * from './dialog/index.js'; -export * from './divider/index.js'; -export * from './image/index.js'; -export * from './label/index.js'; -export * from './menu/index.js'; -export * from './menu-button/index.js'; -export * from './menu-item/index.js'; -export * from './menu-list/index.js'; -export * from './progress-bar/index.js'; -export * from './radio/index.js'; -export * from './radio-group/index.js'; -export * from './slider/index.js'; -export * from './spinner/index.js'; -export * from './switch/index.js'; -export * from './tabs/index.js'; -export * from './tab/index.js'; -export * from './tab-panel/index.js'; -export * from './text/index.js'; -export * from './text-input/index.js'; -export * from './toggle-button/index.js'; - -export * from './fluent-design-system.js'; -export * from './theme/index.js'; +export { + Accordion, + AccordionExpandMode, + accordionTemplate, + accordionStyles, + accordionDefinition, +} from './accordion/index.js'; +export { + AccordionItem, + AccordionItemOptions, + AccordionItemSize, + AccordionItemExpandIconPosition, + accordionItemTemplate, + accordionItemStyles, + accordionItemDefinition, +} from './accordion-item/index.js'; +export { + AnchorButton, + AnchorButtonOptions, + AnchorButtonAppearance, + AnchorButtonShape, + AnchorButtonSize, + AnchorTarget, + AnchorButtonTemplate, + AnchorButtonDefinition, +} from './anchor-button/index.js'; +export { + Avatar, + AvatarActive, + AvatarAppearance, + AvatarColor, + AvatarNamedColor, + AvatarShape, + AvatarSize, + AvatarTemplate, + AvatarStyles, + AvatarDefinition, +} from './avatar/index.js'; +export { + Badge, + BadgeAppearance, + BadgeColor, + BadgeShape, + BadgeSize, + BadgeTemplate, + BadgeStyles, + BadgeDefinition, +} from './badge/index.js'; +export { + Button, + ButtonAppearance, + ButtonShape, + ButtonSize, + ButtonType, + ButtonOptions, + ButtonTemplate, + ButtonStyles, + ButtonDefinition, +} from './button/index.js'; +export { + Checkbox, + CheckboxOptions, + CheckboxLabelPosition, + CheckboxShape, + CheckboxSize, + CheckboxDefinition, + CheckboxTemplate, + CheckboxStyles, +} from './checkbox/index.js'; +export { + CompoundButton, + CompoundButtonAppearance, + CompoundButtonShape, + CompoundButtonSize, + CompoundButtonTemplate, + CompoundButtonStyles, + CompoundButtonDefinition, +} from './compound-button/index.js'; +export { + CounterBadge, + CounterBadgeAppearance, + CounterBadgeColor, + CounterBadgeShape, + CounterBadgeSize, + CounterBadgeTemplate, + CounterBadgeStyles, + CounterBadgeDefinition, +} from './counter-badge/index.js'; +export { Dialog, DialogModalType, DialogDefinition, DialogTemplate, DialogStyles } from './dialog/index.js'; +export { + Divider, + DividerAlignContent, + DividerAppearance, + DividerOrientation, + DividerRole, + DividerDefinition, + DividerTemplate, + DividerStyles, +} from './divider/index.js'; +export { Image, ImageFit, ImageShape, ImageDefinition, ImageTemplate, ImageStyles } from './image/index.js'; +export { Label, LabelSize, LabelWeight, LabelDefinition, LabelStyles, LabelTemplate } from './label/index.js'; +export { Menu, MenuTemplate, MenuStyles, MenuDefinition } from './menu/index.js'; +export { + MenuButton, + MenuButtonAppearance, + MenuButtonShape, + MenuButtonSize, + MenuButtonOptions, + MenuButtonTemplate, + MenuButtonStyles, + MenuButtonDefinition, +} from './menu-button/index.js'; +export { + MenuItem, + MenuItemColumnCount, + MenuItemOptions, + MenuItemRole, + roleForMenuItem, + MenuItemTemplate, + MenuItemStyles, + MenuItemDefinition, +} from './menu-item/index.js'; +export { MenuList, MenuListTemplate, MenuListStyles, MenuListDefinition } from './menu-list/index.js'; +export { + ProgressBar, + ProgressOptions, + ProgressBarShape, + ProgressBarThickness, + ProgressBarValidationState, + ProgressBarDefinition, + ProgressBarStyles, + ProgressBarTemplate, +} from './progress-bar/index.js'; +export { Radio, RadioControl, RadioOptions, RadioDefinition, RadioStyles, RadioTemplate } from './radio/index.js'; +export { + RadioGroup, + RadioGroupOrientation, + RadioGroupDefinition, + RadioGroupStyles, + RadioGroupTemplate, +} from './radio-group/index.js'; +export { + Slider, + SliderConfiguration, + SliderMode, + SliderOptions, + SliderOrientation, + SliderSize, + SliderDefinition, + SliderStyles, + SliderTemplate, +} from './slider/index.js'; +export { + Spinner, + SpinnerAppearance, + SpinnerSize, + SpinnerTemplate, + SpinnerStyles, + SpinnerDefinition, +} from './spinner/index.js'; +export { + Switch, + SwitchOptions, + SwitchLabelPosition, + SwitchDefinition, + SwitchStyles, + SwitchTemplate, +} from './switch/index.js'; +export { Tab, TabOptions, TabTemplate, TabStyles, TabDefinition } from './tab/index.js'; +export { TabPanel, TabPanelTemplate, TabPanelStyles, TabPanelDefinition } from './tab-panel/index.js'; +export { + Tabs, + TabsAppearance, + TabsOptions, + TabsOrientation, + TabsSize, + TabsTemplate, + TabsStyles, + TabsDefinition, +} from './tabs/index.js'; +export { + Text, + TextAlign, + TextFont, + TextSize, + TextWeight, + TextTemplate, + TextStyles, + TextDefinition, +} from './text/index.js'; +export { + TextInputOptions, + TextInput, + TextInputType, + TextInputAppearance, + TextInputControlSize, + TextInputTemplate, + TextInputStyles, + TextInputDefinition, +} from './text-input/index.js'; +export { + ToggleButton, + ToggleButtonAppearance, + ToggleButtonOptions, + ToggleButtonShape, + ToggleButtonSize, + ToggleButtonTemplate, + ToggleButtonStyles, + ToggleButtonDefinition, +} from './toggle-button/index.js'; export { typographyBody1Styles, @@ -51,6 +229,17 @@ export { typographyTitle3Styles, } from './styles/partials/typography.partials.js'; -export * from './utils/direction.js'; -export * from './utils/display.js'; -export * from './utils/behaviors/match-media-stylesheet-behavior.js'; +export { getDirection } from './utils/direction.js'; +export { display } from './utils/display.js'; +export { + forcedColorsStylesheetBehavior, + MatchMediaBehavior, + MatchMediaStyleSheetBehavior, + MediaQueryListListener, + darkModeStylesheetBehavior, + lightModeStylesheetBehavior, +} from './utils/behaviors/match-media-stylesheet-behavior.js'; + +export { FluentDesignSystem } from './fluent-design-system.js'; +export { setTheme, setThemeFor } from './theme/index.js'; +export * as tokens from './theme/design-tokens.js'; diff --git a/packages/web-components/src/label/index.ts b/packages/web-components/src/label/index.ts index 0e5f0190ff1610..fb926d1220351a 100644 --- a/packages/web-components/src/label/index.ts +++ b/packages/web-components/src/label/index.ts @@ -1,4 +1,5 @@ -export * from './label.js'; +export { Label } from './label.js'; +export { LabelSize, LabelWeight } from './label.options.js'; export { definition as LabelDefinition } from './label.definition.js'; export { styles as LabelStyles } from './label.styles.js'; export { template as LabelTemplate } from './label.template.js'; diff --git a/packages/web-components/src/menu-button/index.ts b/packages/web-components/src/menu-button/index.ts index cf17a408fbe991..e3abeee7c48d75 100644 --- a/packages/web-components/src/menu-button/index.ts +++ b/packages/web-components/src/menu-button/index.ts @@ -1,5 +1,5 @@ -export * from './menu-button.js'; -export * from './menu-button.options.js'; +export { MenuButton } from './menu-button.js'; +export { MenuButtonAppearance, MenuButtonShape, MenuButtonSize, MenuButtonOptions } from './menu-button.options.js'; export { template as MenuButtonTemplate } from './menu-button.template.js'; export { styles as MenuButtonStyles } from '../button/button.styles.js'; export { definition as MenuButtonDefinition } from './menu-button.definition.js'; diff --git a/packages/web-components/src/menu-button/menu-button.options.ts b/packages/web-components/src/menu-button/menu-button.options.ts index 802a107e6f5d0f..b4036a3e4fd72b 100644 --- a/packages/web-components/src/menu-button/menu-button.options.ts +++ b/packages/web-components/src/menu-button/menu-button.options.ts @@ -1,4 +1,4 @@ -import type { ButtonOptions } from '../button/index.js'; +import type { ButtonOptions } from '../button/button.options.js'; import { ButtonAppearance, ButtonShape, ButtonSize } from '../button/button.options.js'; import type { ValuesOf } from '../utils/index.js'; diff --git a/packages/web-components/src/menu-item/index.ts b/packages/web-components/src/menu-item/index.ts index 9e578159286126..df2b2eb4c6e33f 100644 --- a/packages/web-components/src/menu-item/index.ts +++ b/packages/web-components/src/menu-item/index.ts @@ -1,4 +1,5 @@ -export * from './menu-item.js'; +export { MenuItem, MenuItemColumnCount, MenuItemOptions } from './menu-item.js'; +export { MenuItemRole, roleForMenuItem } from './menu-item.options.js'; export { template as MenuItemTemplate } from './menu-item.template.js'; export { styles as MenuItemStyles } from './menu-item.styles.js'; export { definition as MenuItemDefinition } from './menu-item.definition.js'; diff --git a/packages/web-components/src/menu-list/index.ts b/packages/web-components/src/menu-list/index.ts index 3448cf03ccf197..8bf3024cfbae4d 100644 --- a/packages/web-components/src/menu-list/index.ts +++ b/packages/web-components/src/menu-list/index.ts @@ -1,4 +1,4 @@ -export * from './menu-list.js'; +export { MenuList } from './menu-list.js'; export { template as MenuListTemplate } from './menu-list.template.js'; export { styles as MenuListStyles } from './menu-list.styles.js'; export { definition as MenuListDefinition } from './menu-list.definition.js'; diff --git a/packages/web-components/src/menu/index.ts b/packages/web-components/src/menu/index.ts index ed356e7171a09f..d237bd53b6824f 100644 --- a/packages/web-components/src/menu/index.ts +++ b/packages/web-components/src/menu/index.ts @@ -1,4 +1,4 @@ -export * from './menu.js'; +export { Menu } from './menu.js'; export { template as MenuTemplate } from './menu.template.js'; export { styles as MenuStyles } from './menu.styles.js'; export { definition as MenuDefinition } from './menu.definition.js'; diff --git a/packages/web-components/src/progress-bar/index.ts b/packages/web-components/src/progress-bar/index.ts index 8689e08b832e30..922619fc0c3e23 100644 --- a/packages/web-components/src/progress-bar/index.ts +++ b/packages/web-components/src/progress-bar/index.ts @@ -1,5 +1,10 @@ -export * from './progress-bar.js'; -export * from './progress-bar.options.js'; +export { ProgressBar } from './progress-bar.js'; +export { + ProgressOptions, + ProgressBarShape, + ProgressBarThickness, + ProgressBarValidationState, +} from './progress-bar.options.js'; export { definition as ProgressBarDefinition } from './progress-bar.definition.js'; export { styles as ProgressBarStyles } from './progress-bar.styles.js'; export { template as ProgressBarTemplate } from './progress-bar.template.js'; diff --git a/packages/web-components/src/progress-ring/progress-ring.options.ts b/packages/web-components/src/progress-ring/progress-ring.options.ts deleted file mode 100644 index 7f70d78e914b88..00000000000000 --- a/packages/web-components/src/progress-ring/progress-ring.options.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { StaticallyComposableHTML } from '../utils/template-helpers.js'; -import type { ProgressRing } from './progress-ring.js'; - -/** - * ProgressRing configuration options - * @public - */ -export type ProgressRingOptions = { - indeterminateIndicator?: StaticallyComposableHTML; -}; diff --git a/packages/web-components/src/progress-ring/progress-ring.ts b/packages/web-components/src/progress-ring/progress-ring.ts deleted file mode 100644 index 67b3ff5dc2dde7..00000000000000 --- a/packages/web-components/src/progress-ring/progress-ring.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { BaseProgress } from '../progress-bar/base-progress.js'; - -/** - * An circular Progress HTML Element. - * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#progressbar | ARIA progressbar }. - * - * @slot indeterminate - The slot for a custom indeterminate indicator - * @slot determinate - The slot for a custom determinate indicator - * @csspart progress - Represents the progress element - * @csspart determinate - The determinate indicator - * @csspart background - The background - * - * @public - */ -export class ProgressRing extends BaseProgress {} diff --git a/packages/web-components/src/radio-group/index.ts b/packages/web-components/src/radio-group/index.ts index 967f498a393fbf..9862557adab432 100644 --- a/packages/web-components/src/radio-group/index.ts +++ b/packages/web-components/src/radio-group/index.ts @@ -1,4 +1,5 @@ -export * from './radio-group.js'; +export { RadioGroup } from './radio-group.js'; +export { RadioGroupOrientation } from './radio-group.options.js'; export { definition as RadioGroupDefinition } from './radio-group.definition.js'; export { styles as RadioGroupStyles } from './radio-group.styles.js'; export { template as RadioGroupTemplate } from './radio-group.template.js'; diff --git a/packages/web-components/src/radio/index.ts b/packages/web-components/src/radio/index.ts index e1af0f69389a11..25f52027363fba 100644 --- a/packages/web-components/src/radio/index.ts +++ b/packages/web-components/src/radio/index.ts @@ -1,4 +1,4 @@ -export * from './radio.js'; +export { Radio, RadioControl, RadioOptions } from './radio.js'; export { definition as RadioDefinition } from './radio.definition.js'; export { styles as RadioStyles } from './radio.styles.js'; export { template as RadioTemplate } from './radio.template.js'; diff --git a/packages/web-components/src/slider/index.ts b/packages/web-components/src/slider/index.ts index f48135c8b62643..6d227167c77fc0 100644 --- a/packages/web-components/src/slider/index.ts +++ b/packages/web-components/src/slider/index.ts @@ -1,5 +1,5 @@ -export * from './slider.js'; -export * from './slider.options.js'; +export { Slider } from './slider.js'; +export { SliderConfiguration, SliderMode, SliderOptions, SliderOrientation, SliderSize } from './slider.options.js'; export { definition as SliderDefinition } from './slider.definition.js'; export { styles as SliderStyles } from './slider.styles.js'; export { template as SliderTemplate } from './slider.template.js'; diff --git a/packages/web-components/src/spinner/index.ts b/packages/web-components/src/spinner/index.ts index 2a6c2db892f33c..af6b25e2892ebf 100644 --- a/packages/web-components/src/spinner/index.ts +++ b/packages/web-components/src/spinner/index.ts @@ -1,5 +1,5 @@ -export * from './spinner.js'; -export * from './spinner.options.js'; +export { Spinner } from './spinner.js'; +export { SpinnerAppearance, SpinnerSize } from './spinner.options.js'; export { template as SpinnerTemplate } from './spinner.template.js'; export { styles as SpinnerStyles } from './spinner.styles.js'; export { definition as SpinnerDefinition } from './spinner.definition.js'; diff --git a/packages/web-components/src/spinner/spinner.ts b/packages/web-components/src/spinner/spinner.ts index 05a6fe7633c477..39a88689ae3d00 100644 --- a/packages/web-components/src/spinner/spinner.ts +++ b/packages/web-components/src/spinner/spinner.ts @@ -1,12 +1,12 @@ import { attr } from '@microsoft/fast-element'; -import { ProgressRing } from '../progress-ring/progress-ring.js'; +import { BaseProgress } from '../progress-bar/base-progress.js'; import type { SpinnerAppearance, SpinnerSize } from './spinner.options.js'; /** * The base class used for constructing a fluent-spinner custom element * @public */ -export class Spinner extends ProgressRing { +export class Spinner extends BaseProgress { /** * The size of the spinner * diff --git a/packages/web-components/src/switch/index.ts b/packages/web-components/src/switch/index.ts index 4f1e312e631225..1db8bc64b2dc8e 100644 --- a/packages/web-components/src/switch/index.ts +++ b/packages/web-components/src/switch/index.ts @@ -1,5 +1,5 @@ -export * from './switch.js'; -export * from './switch.options.js'; +export { Switch, SwitchOptions } from './switch.js'; +export { SwitchLabelPosition } from './switch.options.js'; export { definition as SwitchDefinition } from './switch.definition.js'; export { styles as SwitchStyles } from './switch.styles.js'; export { template as SwitchTemplate } from './switch.template.js'; diff --git a/packages/web-components/src/tab-panel/index.ts b/packages/web-components/src/tab-panel/index.ts index a207477eac76dd..ae9dc3fd1028fb 100644 --- a/packages/web-components/src/tab-panel/index.ts +++ b/packages/web-components/src/tab-panel/index.ts @@ -1,4 +1,4 @@ -export * from './tab-panel.js'; +export { TabPanel } from './tab-panel.js'; export { template as TabPanelTemplate } from './tab-panel.template.js'; export { styles as TabPanelStyles } from './tab-panel.styles.js'; export { definition as TabPanelDefinition } from './tab-panel.definition.js'; diff --git a/packages/web-components/src/tab/index.ts b/packages/web-components/src/tab/index.ts index 08f46e1c8d896c..ca2b080e332a06 100644 --- a/packages/web-components/src/tab/index.ts +++ b/packages/web-components/src/tab/index.ts @@ -1,4 +1,4 @@ -export * from './tab.js'; +export { Tab, TabOptions } from './tab.js'; export { template as TabTemplate } from './tab.template.js'; export { styles as TabStyles } from './tab.styles.js'; export { definition as TabDefinition } from './tab.definition.js'; diff --git a/packages/web-components/src/tabs/index.ts b/packages/web-components/src/tabs/index.ts index 14c0fbd3d95507..47086ab80ad214 100644 --- a/packages/web-components/src/tabs/index.ts +++ b/packages/web-components/src/tabs/index.ts @@ -1,5 +1,5 @@ -export * from './tabs.js'; -export * from './tabs.options.js'; +export { Tabs } from './tabs.js'; +export { TabsAppearance, TabsOptions, TabsOrientation, TabsSize } from './tabs.options.js'; export { template as TabsTemplate } from './tabs.template.js'; export { styles as TabsStyles } from './tabs.styles.js'; export { definition as TabsDefinition } from './tabs.definition.js'; diff --git a/packages/web-components/src/text-input/index.ts b/packages/web-components/src/text-input/index.ts index f6c3255d59653f..12da2cc5f2777b 100644 --- a/packages/web-components/src/text-input/index.ts +++ b/packages/web-components/src/text-input/index.ts @@ -1,5 +1,5 @@ -export * from './text-input.js'; -export * from './text-input.options.js'; +export { TextInputOptions, TextInput } from './text-input.js'; +export { TextInputType, TextInputAppearance, TextInputControlSize } from './text-input.options.js'; export { template as TextInputTemplate } from './text-input.template.js'; export { styles as TextInputStyles } from './text-input.styles.js'; export { definition as TextInputDefinition } from './text-input.definition.js'; diff --git a/packages/web-components/src/text-input/text-input.options.ts b/packages/web-components/src/text-input/text-input.options.ts index 0a161029c31191..9e9de9cbe7a211 100644 --- a/packages/web-components/src/text-input/text-input.options.ts +++ b/packages/web-components/src/text-input/text-input.options.ts @@ -37,29 +37,29 @@ export type TextInputAppearance = ValuesOf; * Text field sub-types * @public */ -export const TextFieldType = { +export const TextInputType = { /** - * An email TextField + * An email TextInput */ email: 'email', /** - * A password TextField + * A password TextInput */ password: 'password', /** - * A telephone TextField + * A telephone TextInput */ tel: 'tel', /** - * A text TextField + * A text TextInput */ text: 'text', /** - * A URL TextField + * A URL TextInput */ url: 'url', } as const; @@ -68,4 +68,4 @@ export const TextFieldType = { * Types for the text field sub-types * @public */ -export type TextFieldType = ValuesOf; +export type TextInputType = ValuesOf; diff --git a/packages/web-components/src/text-input/text-input.ts b/packages/web-components/src/text-input/text-input.ts index db25c013c0661a..2a41bfbb8cdfa9 100644 --- a/packages/web-components/src/text-input/text-input.ts +++ b/packages/web-components/src/text-input/text-input.ts @@ -2,12 +2,12 @@ import { attr, nullableNumberConverter, observable, Updates } from '@microsoft/f import { ARIAGlobalStatesAndProperties, StartEnd, StartEndOptions } from '../patterns/index.js'; import { applyMixins } from '../utils/apply-mixins.js'; import { TextInputAppearance, TextInputControlSize } from './text-input.options.js'; -import { TextFieldType } from './text-input.options.js'; +import { TextInputType } from './text-input.options.js'; import { FormAssociatedTextField } from './text-field.form-associated.js'; -export { TextFieldType }; +export { TextInputType }; -export type TextFieldOptions = StartEndOptions; +export type TextInputOptions = StartEndOptions; export class TextInput extends FormAssociatedTextField { /** @@ -84,7 +84,7 @@ export class TextInput extends FormAssociatedTextField { * HTML Attribute: type */ @attr - public type: TextFieldType = TextFieldType.text; + public type: TextInputType = TextInputType.text; private typeChanged(): void { if (this.proxy instanceof HTMLInputElement) { this.proxy.type = this.type; diff --git a/packages/web-components/src/text/index.ts b/packages/web-components/src/text/index.ts index 663cf3ebbf645e..72ba6d87272b8b 100644 --- a/packages/web-components/src/text/index.ts +++ b/packages/web-components/src/text/index.ts @@ -1,5 +1,5 @@ -export * from './text.js'; -export * from './text.options.js'; +export { Text } from './text.js'; +export { TextAlign, TextFont, TextSize, TextWeight } from './text.options.js'; export { template as TextTemplate } from './text.template.js'; export { styles as TextStyles } from './text.styles.js'; export { definition as TextDefinition } from './text.definition.js'; diff --git a/packages/web-components/src/toggle-button/index.ts b/packages/web-components/src/toggle-button/index.ts index 004c061cfd624c..5ed2bfa2367d42 100644 --- a/packages/web-components/src/toggle-button/index.ts +++ b/packages/web-components/src/toggle-button/index.ts @@ -1,5 +1,10 @@ -export * from './toggle-button.js'; -export * from './toggle-button.options.js'; +export { ToggleButton } from './toggle-button.js'; +export { + ToggleButtonAppearance, + ToggleButtonOptions, + ToggleButtonShape, + ToggleButtonSize, +} from './toggle-button.options.js'; export { template as ToggleButtonTemplate } from './toggle-button.template.js'; export { styles as ToggleButtonStyles } from './toggle-button.styles.js'; export { definition as ToggleButtonDefinition } from './toggle-button.definition.js'; From 8bc1ddb7781572ac3c1fc558f1e88fbbc454a655 Mon Sep 17 00:00:00 2001 From: Christopher Holt <=> Date: Tue, 16 Apr 2024 16:27:05 -0700 Subject: [PATCH 2/4] update index rollup and export for api-extractor --- packages/web-components/docs/api-report.md | 1316 +++++++++++------ packages/web-components/src/index-rollup.ts | 205 ++- packages/web-components/src/index.ts | 5 +- packages/web-components/src/spinner/index.ts | 2 +- .../src/spinner/spinner.template.ts | 5 +- .../web-components/src/spinner/spinner.ts | 9 + .../src/text-input/text-input.template.ts | 4 +- 7 files changed, 1081 insertions(+), 465 deletions(-) diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md index 0c01414777db97..06ac3a8f1bfa7e 100644 --- a/packages/web-components/docs/api-report.md +++ b/packages/web-components/docs/api-report.md @@ -21,7 +21,6 @@ import type { Theme } from '@fluentui/tokens'; export class Accordion extends FASTElement { // (undocumented) protected accordionItems: Element[]; - // Warning: (ae-forgotten-export) The symbol "AccordionExpandMode" needs to be exported by the entry point index.d.ts expandmode: AccordionExpandMode; // (undocumented) expandmodeChanged(prev: AccordionExpandMode, next: AccordionExpandMode): void; @@ -36,6 +35,17 @@ export class Accordion extends FASTElement { // @public (undocumented) export const accordionDefinition: FASTElementDefinition; +// @public +export const AccordionExpandMode: { + readonly single: "single"; + readonly multi: "multi"; +}; + +// Warning: (ae-forgotten-export) The symbol "ValuesOf" needs to be exported by the entry point index.d.ts +// +// @public +export type AccordionExpandMode = ValuesOf; + // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "AccordionItem" because one of its declarations is marked as @internal // // @public @@ -68,8 +78,6 @@ export const AccordionItemExpandIconPosition: { readonly end: "end"; }; -// Warning: (ae-forgotten-export) The symbol "ValuesOf" needs to be exported by the entry point index.d.ts -// // @public export type AccordionItemExpandIconPosition = ValuesOf; @@ -135,6 +143,8 @@ export class AnchorButton extends FASTElement { type: string; } +// Warning: (ae-forgotten-export) The symbol "DelegatesARIALink" needs to be exported by the entry point index.d.ts +// // @internal export interface AnchorButton extends StartEnd, DelegatesARIALink { } @@ -154,6 +164,9 @@ export type AnchorButtonAppearance = ValuesOf; // @public (undocumented) export const AnchorButtonDefinition: FASTElementDefinition; +// @public +export type AnchorButtonOptions = StartEndOptions; + // @public export const AnchorButtonShape: { readonly circular: "circular"; @@ -177,11 +190,6 @@ export type AnchorButtonSize = ValuesOf; // @public export const AnchorButtonTemplate: ElementViewTemplate; -// @public -type AnchorOptions = StartEndOptions; -export { AnchorOptions as AnchorButtonOptions } -export { AnchorOptions } - // @public export const AnchorTarget: { readonly _self: "_self"; @@ -388,13 +396,6 @@ export type BadgeColor = ValuesOf; // @public (undocumented) export const BadgeDefinition: FASTElementDefinition; -// Warning: (ae-internal-missing-underscore) The name "BadgeOptions" should be prefixed with an underscore because the declaration is marked as @internal -// -// @internal -export type BadgeOptions = StartEndOptions & { - defaultContent?: StaticallyComposableHTML; -}; - // @public export const BadgeShape: { readonly circular: "circular"; @@ -424,46 +425,23 @@ export const BadgeStyles: ElementStyles; // @public (undocumented) export const BadgeTemplate: ElementViewTemplate; -// @public -export class BaseTabs extends FASTElement { - activeid: string; - // @internal (undocumented) - activeidChanged(oldValue: string, newValue: string): void; - activetab: HTMLElement; - adjust(adjustment: number): void; - // @internal (undocumented) - connectedCallback(): void; - orientation: TabsOrientation; - // @internal (undocumented) - orientationChanged(): void; - protected setTabs(): void; - // @internal (undocumented) - tabpanels: HTMLElement[]; - // @internal (undocumented) - tabpanelsChanged(): void; - // @internal (undocumented) - tabs: HTMLElement[]; - // @internal (undocumented) - tabsChanged(): void; -} - // @public (undocumented) -export const borderRadiusCircular = "var(--borderRadiusCircular)"; +const borderRadiusCircular = "var(--borderRadiusCircular)"; // @public (undocumented) -export const borderRadiusLarge = "var(--borderRadiusLarge)"; +const borderRadiusLarge = "var(--borderRadiusLarge)"; // @public (undocumented) -export const borderRadiusMedium = "var(--borderRadiusMedium)"; +const borderRadiusMedium = "var(--borderRadiusMedium)"; // @public (undocumented) -export const borderRadiusNone = "var(--borderRadiusNone)"; +const borderRadiusNone = "var(--borderRadiusNone)"; // @public (undocumented) -export const borderRadiusSmall = "var(--borderRadiusSmall)"; +const borderRadiusSmall = "var(--borderRadiusSmall)"; // @public (undocumented) -export const borderRadiusXLarge = "var(--borderRadiusXLarge)"; +const borderRadiusXLarge = "var(--borderRadiusXLarge)"; // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "Button" because one of its declarations is marked as @internal // @@ -540,7 +518,6 @@ export type ButtonFormTarget = ValuesOf; // @public type ButtonOptions = StartEndOptions