Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(checkbox): refactor checkbox component #409

Merged
merged 20 commits into from
Oct 31, 2023
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
101d223
feat(checkbox): rewrite checkbox without material dependency
samrichardsontylertech Oct 10, 2023
3b4c1fb
fix(checkbox): stylelint errors
samrichardsontylertech Oct 10, 2023
32606cc
fix(checkbox): stylelint error
samrichardsontylertech Oct 10, 2023
bffb8a1
feat(checkbox): enable slotted input
samrichardsontylertech Oct 12, 2023
805da66
Merge branch 'next' into checkbox-next
samrichardsontylertech Oct 12, 2023
903701d
test(checkbox): implement checkbox tests
samrichardsontylertech Oct 14, 2023
953cb7d
fix(checkbox): remove conflicting exports of forwarded attributes
samrichardsontylertech Oct 14, 2023
8f3a026
Merge branch 'next' into checkbox-next
DRiFTy17 Oct 23, 2023
7f0928d
refactor(checkbox): use border width token
samrichardsontylertech Oct 27, 2023
738fc96
Merge branch 'checkbox-next' of https://github.com/tyler-technologies…
samrichardsontylertech Oct 27, 2023
8c97129
Merge branch 'checkbox-next' of https://github.com/tyler-technologies…
samrichardsontylertech Oct 27, 2023
932ced5
Merge branch 'next' into checkbox-next
samrichardsontylertech Oct 27, 2023
ac1d9e2
fix(switch): onyl apply active styles when not disabled or readonly
samrichardsontylertech Oct 27, 2023
d425194
feat(checkbox): allow change event to be cancelled
samrichardsontylertech Oct 27, 2023
f882cfc
Merge branch 'next' into checkbox-next
samrichardsontylertech Oct 27, 2023
ab06c17
chore(checkbox): fix typography class
samrichardsontylertech Oct 27, 2023
faf0c71
chore(checkbox): address pr comments
samrichardsontylertech Oct 30, 2023
f02dc39
fix(checkbox): update component delegate to match new api
samrichardsontylertech Oct 30, 2023
07eb886
chore(checkbox): remove comments
samrichardsontylertech Oct 30, 2023
4b0bbd0
chore(checkbox): clean up code
samrichardsontylertech Oct 31, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/dev/pages/app-bar/app-bar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ appBarSearch.addEventListener('forge-app-bar-search-input', ({ detail }) => {
});

const useProfileCardBuilderToggle = document.querySelector('#app-bar-profile-card-builder-toggle') as ISwitchComponent;
useProfileCardBuilderToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
useProfileCardBuilderToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
appBarProfileButton.profileCardBuilder = selected ? profileCardBuilder : undefined;
});

Expand Down Expand Up @@ -113,7 +113,7 @@ function profileCardBuilder(): HTMLElement {
}

const appBarRaisedToggle = document.querySelector('#app-bar-raised-toggle') as ISwitchComponent;
appBarRaisedToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
appBarRaisedToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
appBar.raised = selected;
pageAppBar.raised = selected;
});
Expand All @@ -135,7 +135,7 @@ appBarThemeSelect.addEventListener('change', () => {
});

const showAppBarTabsToggle = document.querySelector('#app-bar-show-tabs-toggle') as ISwitchComponent;
showAppBarTabsToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
showAppBarTabsToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
if (selected) {
appBarTabs.style.removeProperty('display');
} else {
Expand Down
26 changes: 13 additions & 13 deletions src/dev/pages/autocomplete/autocomplete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ autocomplete.addEventListener('forge-autocomplete-select', ({ detail }) => {

// Options
const multipleToggle = document.querySelector('#autocomplete-multiple') as HTMLInputElement;
multipleToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
multipleToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.multiple = selected;
});

Expand All @@ -59,58 +59,58 @@ optionLimitInput.addEventListener('input', () => {
});

const filterOnFocusToggle = document.querySelector('#autocomplete-filter-on-focus') as HTMLInputElement;
filterOnFocusToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
filterOnFocusToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.filterOnFocus = selected;
});

const filterFocusFirstToggle = document.querySelector('#autocomplete-filter-focus-first') as HTMLInputElement;
filterFocusFirstToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
filterFocusFirstToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.filterFocusFirst = selected;
});

const itemBuilderToggle = document.querySelector('#autocomplete-item-builder') as HTMLInputElement;
itemBuilderToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
itemBuilderToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.optionBuilder = selected ? itemBuilder : undefined;
});

const allowUnmatchedToggle = document.querySelector('#autocomplete-allow-unmatched') as HTMLInputElement;
allowUnmatchedToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
allowUnmatchedToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.allowUnmatched = selected;
});

const selectedTextBuilderToggle = document.querySelector('#autocomplete-selected-text-builder') as HTMLInputElement;
selectedTextBuilderToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
selectedTextBuilderToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.selectedTextBuilder = selected ? selectedTextBuilder : undefined;
});

const scrollObserverToggle = document.querySelector('#autocomplete-scroll-observer') as HTMLInputElement;
scrollObserverToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
scrollObserverToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.observeScroll = selected;
});

const syncPopupWidthToggle = document.querySelector('#autocomplete-sync-popup-width') as HTMLInputElement;
syncPopupWidthToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
syncPopupWidthToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.syncPopupWidth = selected;
});

const headerBuilderToggle = document.querySelector('#autocomplete-header-builder') as HTMLInputElement;
headerBuilderToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
headerBuilderToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.popupHeaderBuilder = selected ? headerBuilderCallback : undefined;
});

const footerBuilderToggle = document.querySelector('#autocomplete-footer-builder') as HTMLInputElement;
footerBuilderToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
footerBuilderToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
autocomplete.popupFooterBuilder = selected ? footerBuilderCallback : undefined;
});

const simulateAsyncToggle = document.querySelector('#autocomplete-simulate-async') as HTMLInputElement;
simulateAsyncToggle.addEventListener('forge-switch-select', ({ detail: selected }) => asyncFilter = selected);
simulateAsyncToggle.addEventListener('forge-switch-change', ({ detail: selected }) => asyncFilter = selected);

const groupToggle = document.querySelector('#autocomplete-group') as HTMLInputElement;
groupToggle.addEventListener('forge-switch-select', ({ detail: selected }) => useGroupedData = selected);
groupToggle.addEventListener('forge-switch-change', ({ detail: selected }) => useGroupedData = selected);

const groupHeaderBuilderToggle = document.querySelector('#autocomplete-group-header-builder') as HTMLInputElement;
groupHeaderBuilderToggle.addEventListener('forge-switch-select', ({ detail: selected }) => useGroupHeaderBuilder = selected);
groupHeaderBuilderToggle.addEventListener('forge-switch-change', ({ detail: selected }) => useGroupHeaderBuilder = selected);


function itemBuilder(option: IListDropdownOption, filterText: string, _listItem: IListItemComponent): HTMLElement {
Expand Down
2 changes: 1 addition & 1 deletion src/dev/pages/avatar/avatar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ function getAvatarElements(): NodeListOf<AvatarComponent> {
}

const autoColorToggle = document.querySelector('#auto-color-checkbox') as ISwitchComponent;
autoColorToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
autoColorToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
const avatars = getAvatarElements();
avatars.forEach(avatar => avatar.autoColor = selected);
});
8 changes: 4 additions & 4 deletions src/dev/pages/banner/banner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,22 @@ themeSelect.addEventListener('change', ({ detail: theme }) => {
});

const dismissToggle = document.querySelector('#dismissed-toggle') as ISwitchComponent;
dismissToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
dismissToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
banner.dismissed = selected;
});

const showLeadingIconToggle = document.querySelector('#show-leading-icon-toggle') as ISwitchComponent;
showLeadingIconToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
showLeadingIconToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
leadingIcon.style.display = selected ? 'block' : 'none';
});

const showDismissToggle = document.querySelector('#show-dismiss-toggle') as ISwitchComponent;
showDismissToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
showDismissToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
banner.canDismiss = selected;
});

const useMoreTextToggle = document.querySelector('#use-more-text-toggle') as ISwitchComponent;
useMoreTextToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
useMoreTextToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
textEl.textContent = selected ?
'Lorem ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit explicabo labore soluta ex culpa, consectetur possimus quidem ullam voluptas est facilis quasi enim error doloribus omnis recusandae! Dolore, eaque ipsa!' :
'Lorem, ipsum dolor sit amet consectetur adipisicing elit.';
Expand Down
12 changes: 6 additions & 6 deletions src/dev/pages/button-toggle/button-toggle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,37 +30,37 @@ buttonToggleGroupStatic.addEventListener('forge-button-toggle-select', ({ detail
});

const multipleToggle = document.querySelector('#button-toggle-multiple') as ISwitchComponent;
multipleToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
multipleToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
buttonToggleGroupStatic.multiple = selected;
buttonToggleGroupDynamic.multiple = selected;
});

const mandatoryToggle = document.querySelector('#button-toggle-mandatory') as ISwitchComponent;
mandatoryToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
mandatoryToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
buttonToggleGroupStatic.mandatory = selected;
buttonToggleGroupDynamic.mandatory = selected;
});

const verticalToggle = document.querySelector('#button-toggle-vertical') as ISwitchComponent;
verticalToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
verticalToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
buttonToggleGroupStatic.vertical = selected;
buttonToggleGroupDynamic.vertical = selected;
});

const stretchToggle = document.querySelector('#button-toggle-stretch') as ISwitchComponent;
stretchToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
stretchToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
buttonToggleGroupStatic.stretch = selected;
buttonToggleGroupDynamic.stretch = selected;
});

const denseToggle = document.querySelector('#button-toggle-dense') as ISwitchComponent;
denseToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
denseToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
buttonToggleGroupStatic.dense = selected;
buttonToggleGroupDynamic.dense = selected;
});

const disabledToggle = document.querySelector('#button-toggle-disabled') as ISwitchComponent;
disabledToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
disabledToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
buttonToggleGroupStatic.disabled = selected;
buttonToggleGroupDynamic.disabled = selected;
});
4 changes: 2 additions & 2 deletions src/dev/pages/button/button.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ function getButtonElements(): NodeListOf<ButtonComponent> {
}

const disabledToggle = document.querySelector('#disabled-switch') as ISwitchComponent;
disabledToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
disabledToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
const buttons = getButtonElements();
buttons.forEach(forgeButton => {
const buttonEl = forgeButton.querySelector('button') as HTMLButtonElement;
Expand All @@ -31,7 +31,7 @@ disabledToggle.addEventListener('forge-switch-select', ({ detail: selected }) =>
});

const denseToggle = document.querySelector('#dense-switch') as ISwitchComponent;
denseToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
denseToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
const buttons = getButtonElements();
buttons.forEach(forgeButton => {
const isChecked = selected;
Expand Down
4 changes: 2 additions & 2 deletions src/dev/pages/calendar/calendar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ import type { ISelectComponent } from '@tylertech/forge/select';
const calendar = document.querySelector('forge-calendar') as ICalendarComponent;

const showTodayToggle = document.querySelector('#calendar-today') as ISwitchComponent;
showTodayToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
showTodayToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
calendar.showToday = selected;
});

const readonlyToggle = document.querySelector('#calendar-readonly') as ISwitchComponent;
readonlyToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
readonlyToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
calendar.readonly = selected;
});

Expand Down
2 changes: 1 addition & 1 deletion src/dev/pages/card/card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ import type { ICardComponent, ISwitchComponent } from '@tylertech/forge';
const card = document.querySelector('.demo-card') as ICardComponent;

const raisedToggle = document.querySelector('#opt-card-raised') as ISwitchComponent;
raisedToggle.addEventListener('forge-switch-select', ({ detail: selected }) => card.raised = selected);
raisedToggle.addEventListener('forge-switch-change', ({ detail: selected }) => card.raised = selected);

41 changes: 24 additions & 17 deletions src/dev/pages/checkbox/checkbox.ejs
Original file line number Diff line number Diff line change
@@ -1,34 +1,41 @@
<div class="vert">
<div class="vert" id="container">
<div>
<h3 class="forge-typography--subtitle1">Default</h3>
<forge-checkbox>
<input type="checkbox" id="default-checkbox" checked>
<label for="default-checkbox">Checkbox label</label>
<forge-checkbox>Default</forge-checkbox>
</div>

<div>
<h3 class="forge-typography--subtitle1">Exposed input</h3>
<forge-checkbox id="exposed-input-checkbox">
<span>Exposed input</span>
</forge-checkbox>
</div>

<div>
<h3 class="forge-typography--subtitle1">Dense</h3>
<forge-checkbox dense>
<input type="checkbox" id="dense-checkbox" checked>
<label for="dense-checkbox">Dense checkbox</label>
</forge-checkbox>
<forge-checkbox dense>Dense</forge-checkbox>
</div>

<div>
<h3 class="forge-typography--subtitle1">Indeterminate</h3>
<forge-checkbox >
<input type="checkbox" id="indeterminate-checkbox" checked>
<label for="indeterminate-checkbox">Indeterminate checkbox</label>
</forge-checkbox>
<h3 class="forge-typography--subtitle1">Readonly</h3>
<forge-checkbox readonly>Readonly</forge-checkbox>
</div>

<div>
<h3 class="forge-typography--subtitle1">Disabled</h3>
<forge-checkbox>
<input type="checkbox" id="disabled-checkbox" checked disabled>
<label for="disabled-checkbox">Disabled checkbox</label>
</forge-checkbox>
<forge-checkbox disabled>Disabled</forge-checkbox>
</div>

<div>
<h3 class="forge-typography--subtitle1">Start label</h3>
<forge-checkbox label-position="start">Start label</forge-checkbox>
</div>

<div>
<h3 class="forge-typography--subtitle1">Form associated</h3>
<form name="test-form">
<forge-checkbox name="test-checkbox">Form associated</forge-checkbox>
</form>
</div>
</div>

Expand Down
7 changes: 6 additions & 1 deletion src/dev/pages/checkbox/checkbox.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@
include('./src/partials/page.ejs', {
page: {
title: 'Checkbox',
includePath: './pages/checkbox/checkbox.ejs'
includePath: './pages/checkbox/checkbox.ejs',
options: [
{ type: 'switch', label: 'Checked', id: 'opt-checked' },
{ type: 'switch', label: 'Indeterminate', id: 'opt-indeterminate' },
{ type: 'switch', label: 'Expose input', id: 'opt-expose-input' }
]
}
})
%>
33 changes: 31 additions & 2 deletions src/dev/pages/checkbox/checkbox.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,35 @@
import '$src/shared';
import '@tylertech/forge/checkbox';
import './checkbox.scss';
import { ICheckboxComponent, ISwitchComponent } from '@tylertech/forge';

const indeterminateCheckbox = document.getElementById('indeterminate-checkbox') as HTMLInputElement;
indeterminateCheckbox.indeterminate = true;
const checkboxesCheckedToggle = document.getElementById('opt-checked') as ISwitchComponent;
const checkboxesIndeterminateToggle = document.getElementById('opt-indeterminate') as ISwitchComponent;
const exposeInputToggle = document.getElementById('opt-expose-input') as ISwitchComponent;

checkboxesCheckedToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
const checkboxes = document.querySelectorAll('forge-checkbox') as NodeListOf<ICheckboxComponent>;
checkboxes.forEach(checkbox => checkbox.checked = selected);
});

checkboxesIndeterminateToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
const checkboxes = document.querySelectorAll('forge-checkbox') as NodeListOf<ICheckboxComponent>;
checkboxes.forEach(checkbox => checkbox.indeterminate = selected);
});

exposeInputToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
const checkbox = document.getElementById('exposed-input-checkbox') as ICheckboxComponent;
if (selected) {
const input = document.createElement('input');
input.type = 'checkbox';
input.slot = 'input';
input.setAttribute('aria-labelledby', 'exposed-input-checkbox');
checkbox.append(input);
} else {
checkbox.querySelector('input')?.remove();
}
});

document.querySelectorAll('forge-checkbox').forEach(checkbox => {
checkbox.addEventListener('change', evt => console.log(evt));
});
8 changes: 4 additions & 4 deletions src/dev/pages/chip-field/chip-field.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ const denseToggle = document.querySelector('#opt-dense') as ISwitchComponent;
const populateButton = document.querySelector('#opt-btn-populate') as HTMLButtonElement;
const clearButton = document.querySelector('#opt-btn-clear') as HTMLButtonElement;

requiredToggle.addEventListener('forge-switch-select', updateRequiredState);
invalidToggle.addEventListener('forge-switch-select', updateInvalidState);
disabledToggle.addEventListener('forge-switch-select', updateDisabledState);
denseToggle.addEventListener('forge-switch-select', updateDenseState);
requiredToggle.addEventListener('forge-switch-change', updateRequiredState);
invalidToggle.addEventListener('forge-switch-change', updateInvalidState);
disabledToggle.addEventListener('forge-switch-change', updateDisabledState);
denseToggle.addEventListener('forge-switch-change', updateDenseState);
populateButton.addEventListener('click', () => populateMembers(45));
clearButton.addEventListener('click', removeAllMembers);

Expand Down
4 changes: 2 additions & 2 deletions src/dev/pages/chips/chips.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,15 @@ refreshButton.addEventListener('click', () => {
});

// Dense toggling
chipsDenseToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
chipsDenseToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
const chipSets = document.querySelectorAll('forge-chip-set') as NodeListOf<IChipSetComponent>;
for (const chipSet of chipSets) {
chipSet.dense = selected;
}
});

// Disabled toggling
chipsDisabledToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
chipsDisabledToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
const chipSets = document.querySelectorAll('forge-chip-set') as NodeListOf<IChipSetComponent>;
for (const chipSet of chipSets) {
chipSet.disabled = selected;
Expand Down
6 changes: 3 additions & 3 deletions src/dev/pages/circular-progress/circular-progress.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const circularProgress = document.querySelector('forge-circular-progress#circula
let determinateIntervalTimer: number | undefined;

const showTrackToggle = document.getElementById('opt-show-track') as ISwitchComponent;
showTrackToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
showTrackToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
if (selected) {
circularProgress.style.removeProperty('--forge-circular-progress-track-background');
} else {
Expand All @@ -16,7 +16,7 @@ showTrackToggle.addEventListener('forge-switch-select', ({ detail: selected }) =
});

const showPercentToggle = document.getElementById('opt-show-percent') as ISwitchComponent;
showPercentToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
showPercentToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
circularProgress.textContent = selected ? '0%' : '';
});

Expand All @@ -30,7 +30,7 @@ themeSelect.addEventListener('change', ({ detail }) => {
});

const determinateToggle = document.getElementById('opt-determinate') as ISwitchComponent;
determinateToggle.addEventListener('forge-switch-select', ({ detail: selected }) => {
determinateToggle.addEventListener('forge-switch-change', ({ detail: selected }) => {
circularProgress.determinate = selected;

showPercentToggle.disabled = !circularProgress.determinate;
Expand Down
Loading