Skip to content
11 changes: 0 additions & 11 deletions core/src/components/select/select.common.scss
Original file line number Diff line number Diff line change
Expand Up @@ -236,21 +236,12 @@ button {
// ----------------------------------------------------------------

.select-bottom {
/**
* The bottom content should take on the start and end
* padding so it is always aligned with either the label
* or the start of the text select.
*/
@include mixins.padding(5px, var(--padding-end), 0, var(--padding-start));

display: flex;

justify-content: space-between;

border-top: var(--border-width) var(--border-style) var(--border-color);

font-size: dynamic-font(12px);

white-space: normal;
}

Expand Down Expand Up @@ -285,8 +276,6 @@ button {

.select-bottom .helper-text {
display: block;

color: $text-color-step-300;
}

:host(.ion-touched.ion-invalid) .select-bottom .error-text {
Expand Down
7 changes: 7 additions & 0 deletions core/src/components/select/select.ionic.outline.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@
--border-color: #{globals.current-color(base)};
}

// Select Bottom Content
// ----------------------------------------------------------------

:host(.select-fill-outline) .select-bottom {
border-top: none;
}

// Select Label
// ----------------------------------------------------------------

Expand Down
12 changes: 12 additions & 0 deletions core/src/components/select/select.ionic.scss
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,18 @@
--highlight-color-invalid: #{globals.$ion-semantics-danger-800};
}

// Select Hint Text
// ----------------------------------------------------------------

.select-bottom {
@include globals.padding(globals.$ion-space-100, null, null, null);
@include globals.typography(globals.$ion-body-sm-medium);
}

.select-bottom .helper-text {
color: globals.$ion-primitives-neutral-800;
}

// Select Label
// ----------------------------------------------------------------

Expand Down
21 changes: 21 additions & 0 deletions core/src/components/select/select.native.scss
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,27 @@
@include border-radius(var(--border-radius));
}

// Select Bottom Content
// ----------------------------------------------------------------

.select-bottom {
/**
* The bottom content should take on the start and end
* padding so it is always aligned with either the label
* or the start of the text select.
*/
@include padding(5px, var(--padding-end), 0, var(--padding-start));

font-size: dynamic-font(12px);
}

// Select Hint Text
// ----------------------------------------------------------------

.select-bottom .helper-text {
color: $text-color-step-300;
}

// Select Label Placement - Start
// ----------------------------------------------------------------

Expand Down
27 changes: 26 additions & 1 deletion core/src/components/select/test/bottom-content/select.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
/**
* Rendering is different across modes
*/
configs({ modes: ['ios', 'md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
configs({ modes: ['ios', 'md', 'ionic-md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
test.describe(title('select: helper text rendering'), () => {
test('should not have visual regressions when rendering helper text', async ({ page }) => {
await page.setContent(`<ion-select label="Label" helper-text="Helper text"></ion-select>`, config);
Expand Down Expand Up @@ -213,3 +213,28 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co
});
});
});

configs({ directions: ['ltr'], modes: ['ionic-md'] }).forEach(({ title, screenshot, config }) => {
test.describe(title('select: bottom content'), () => {
test('entire select component should render correctly with no fill', async ({ page }) => {
await page.setContent(
`
<ion-select label="Label" label-placement="stacked" helper-text="Helper text"></ion-select>
`,
config
);
const select = page.locator('ion-select');
await expect(select).toHaveScreenshot(screenshot(`select-full-bottom-no-fill`));
});
test('entire select component should render correctly with outline fill', async ({ page }) => {
await page.setContent(
`
<ion-select fill="outline" label="Label" label-placement="stacked" helper-text="Helper text"></ion-select>
`,
config
);
const select = page.locator('ion-select');
await expect(select).toHaveScreenshot(screenshot(`select-full-bottom-outline`));
});
});
});
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading