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

bug: Collapsible Title not tall enough to contain accented capital #27966

Closed
3 tasks done
Ericlm opened this issue Aug 10, 2023 · 4 comments · Fixed by #27969
Closed
3 tasks done

bug: Collapsible Title not tall enough to contain accented capital #27966

Ericlm opened this issue Aug 10, 2023 · 4 comments · Fixed by #27969
Labels
package: core @ionic/core package type: bug a confirmed bug report

Comments

@Ericlm
Copy link
Contributor

Ericlm commented Aug 10, 2023

Prerequisites

Ionic Framework Version

v7.x

Current Behavior

When setting a Collapsible title that contains an accented capital, the large title is cropped (on iOS), like what you can see under.

Important: the issue only occurs on a real device ; in Firefox with adaptative mode, it looks fine.

IMG_3316

Expected Behavior

The large collapsible title should display fine whatever is his text. Or adapt his height, or its z-index.

Steps to Reproduce

  1. Create a new Ionic-vue project
  2. Inside Tab1Page, set a lot of text into the content.
  3. In the same component, set something like Hello Ô for the large title
  4. Run it on a real iOS device to see the issue : the large title will be cropped at the top

The template of Tab1Page is like follow:

<template>
  <ion-page>
    <ion-header>
      <ion-toolbar>
        <ion-title>Hello Ô</ion-title>
      </ion-toolbar>
    </ion-header>
    <ion-content :fullscreen="true">
      <ion-header collapse="condense">
        <ion-toolbar>
          <ion-title size="large">Hello Ô</ion-title>
        </ion-toolbar>
      </ion-header>

      <!-- <ExploreContainer name="Tab 1 page" /> -->
      <span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Natus explicabo illo ipsum pariatur inventore est quod dolorum quibusdam, maxime voluptatum vel odio nulla temporibus unde dolorem cumque perspiciatis numquam! Itaque quibusdam, dicta ab explicabo rerum repellendus aspernatur exercitationem distinctio eligendi ut iusto recusandae qui est suscipit sit, eveniet repellat unde porro amet facilis consequuntur. Porro, eos. Esse tempore repellendus optio expedita ab blanditiis eveniet necessitatibus maiores sint illum mollitia maxime minus deserunt debitis in quidem, id ut dolores nostrum. Reprehenderit nihil quia iusto molestiae porro in adipisci, voluptatibus eaque aspernatur aut doloremque nesciunt hic maxime, voluptatum harum ipsum nisi vero. Vero quas ad quidem distinctio. Officia repudiandae nihil consequatur distinctio error praesentium odit? Inventore, eaque, quam deserunt ipsa mollitia cum id repellendus nihil in ullam ex, asperiores voluptates consequuntur. Accusantium sint molestias in recusandae ad laborum, vitae facere ipsum temporibus repellat, repudiandae pariatur eum eveniet iusto cum illo ipsa omnis doloribus enim nobis veniam laboriosam incidunt ea. Odio laborum itaque quod modi temporibus perferendis a aspernatur molestias ipsam neque ducimus repudiandae quo expedita nulla necessitatibus veniam dignissimos, sed fugiat facilis porro blanditiis unde accusamus? Commodi ex laudantium incidunt provident, ipsam sit non rem ullam in quis dignissimos. Praesentium quidem maiores soluta architecto et similique, beatae reprehenderit sapiente alias nihil ad temporibus veritatis eos animi laborum neque voluptatibus esse numquam. A reiciendis, dolore corporis sunt rerum, minima maxime ipsum aliquam vero perferendis necessitatibus debitis. Fuga ea nisi facere minus adipisci sunt fugiat, sapiente at, alias est aliquid tempore sit soluta. Veniam quo minus nisi iusto repudiandae iure a repellat exercitationem asperiores nostrum, voluptatem, cum vitae doloribus dolore id voluptates. Minus exercitationem obcaecati adipisci! Sequi repellat hic dolor ad vel veritatis illo quis beatae, sunt voluptatem voluptates cum. Voluptates sit totam omnis quos ipsam aperiam deleniti, quasi ducimus cumque, possimus quis neque repudiandae consequatur rem fugit inventore ullam tempora explicabo vel nulla autem. Sint totam quis, consequuntur deleniti blanditiis non quia, nisi suscipit enim, sit voluptatum cumque maiores eius rerum omnis ipsam expedita tempora iure quasi voluptatibus aspernatur eum distinctio? Dolorum, magnam exercitationem. Cumque error reprehenderit laudantium maxime tempora provident esse laborum, sint, quibusdam aspernatur quam nihil qui dolores similique sed praesentium aperiam dicta non consequuntur a eligendi quidem ex autem eos! Inventore beatae illum dolore odio? Pariatur, modi nostrum doloremque libero natus aliquid aspernatur impedit vel ea perferendis unde, non, at illum qui animi corporis eum iusto tempore. Consequatur culpa dolorum asperiores quam facere nihil magnam provident, voluptatum corporis, vitae, exercitationem repellat! Neque culpa quibusdam quae dolorem optio. Ipsam eveniet nemo debitis accusantium tenetur error incidunt minima necessitatibus at neque consequuntur, et officiis vel expedita dignissimos distinctio accusamus, natus laborum magnam reiciendis, fugit quia ratione ipsum? Earum minima pariatur quidem ducimus labore aliquid eaque laboriosam exercitationem aliquam harum praesentium similique deleniti, placeat architecto. Fugiat, repudiandae. Ad magni eveniet accusamus est fuga error? Corporis blanditiis aliquid mollitia pariatur aut. Sapiente ratione delectus facilis adipisci cum. Porro facilis eos, doloremque eaque, eveniet fuga sit pariatur mollitia repudiandae consequuntur tempora voluptatum. Fugit quis eligendi nihil at rem itaque non molestias, repellendus, nam deserunt quas quidem voluptate placeat nobis ipsam soluta quod iusto ipsum voluptatem vel ducimus! Perferendis ea ducimus in reiciendis soluta, doloremque aperiam rerum eum possimus accusantium debitis illo explicabo nihil ut quidem reprehenderit? Sit doloremque veritatis nobis, atque mollitia quaerat quod impedit accusantium, assumenda aperiam sequi accusamus! Alias dolorem repellendus perspiciatis quae fugiat aperiam reprehenderit placeat error beatae inventore quis aut sapiente nobis molestias saepe itaque dolorum eveniet, iusto a excepturi modi quos quasi adipisci explicabo? Magnam dignissimos corrupti veritatis, voluptas ex illum nihil. Dolores assumenda expedita eaque tempore incidunt fugiat sit? Animi incidunt ratione et aperiam voluptas deleniti id eum recusandae ipsa tempore delectus placeat facilis soluta provident nam ut saepe inventore quaerat, sed sapiente assumenda consequuntur! Numquam eum dolores magnam, voluptates delectus officia porro recusandae cum? Accusamus dolor enim laudantium, veniam laboriosam est voluptatibus incidunt mollitia quas in nostrum reiciendis. Quo molestiae vero inventore nihil maiores natus, odit eos accusantium pariatur! Impedit quo, aliquid laudantium minus explicabo ea omnis a culpa perspiciatis voluptatibus temporibus rem? Temporibus iste tempora quas alias sequi, suscipit unde nostrum incidunt odio repellendus. Totam laborum rem obcaecati repellendus, ea, debitis impedit dicta at atque delectus ipsum repudiandae doloremque quia vel! Tenetur dolor odio non possimus, atque alias dicta molestias quia ullam? Nemo mollitia consequuntur sunt perspiciatis repudiandae explicabo similique nihil reprehenderit nostrum pariatur reiciendis, iure illum adipisci voluptate ut eveniet, vel ad cum soluta? Ipsum autem dolorum error consequuntur ratione architecto quo fugiat nam? Laudantium, quidem similique corrupti eaque molestiae doloribus id odit eos? Dolores velit ipsum placeat temporibus accusamus minus eligendi consequuntur ex aut sequi maiores error porro nihil dicta quia accusantium nesciunt reprehenderit unde facilis, repellendus sed eum. Reiciendis ipsa, dolor maxime eum sint quod. Nisi provident laudantium cum ut excepturi quasi, animi vel voluptatem obcaecati earum dignissimos debitis cupiditate itaque ab quo velit illum, voluptate nihil pariatur nam repellendus quas? Quidem, delectus recusandae ipsa quos tempora odit enim autem, neque, hic quisquam voluptate similique perferendis tempore quasi sed? Libero dolorem voluptatibus, quam eaque itaque atque quia in omnis vitae pariatur necessitatibus nobis modi, officia rerum iure molestiae laboriosam. Ab possimus et, hic necessitatibus ipsum, pariatur adipisci beatae doloribus, ratione quam velit qui eveniet sequi eligendi commodi ducimus dolorum dolore? Tenetur expedita vel facilis mollitia, cupiditate iure, enim placeat dignissimos autem suscipit fuga et reprehenderit quis nesciunt cumque similique eum rem voluptates amet assumenda? Omnis, praesentium quas? Eveniet eos rerum sapiente quae? Accusamus illum magnam odit, autem commodi velit consequatur, atque doloribus exercitationem dolorem quam quae esse excepturi placeat quod reprehenderit impedit. Quos dolor nostrum impedit corrupti, debitis unde doloremque hic consequuntur qui ducimus illum a deserunt. Dolores ex veritatis suscipit pariatur perspiciatis sit consequuntur odit vel recusandae quod culpa nostrum nemo in, aspernatur reiciendis placeat libero aperiam voluptatem? Officia, commodi dicta atque reprehenderit fugiat nostrum animi tenetur inventore repellat, velit tempore numquam rerum molestias consectetur quae. Reiciendis corporis iusto amet aliquam totam ducimus optio voluptatibus dolor iste vel. Error dignissimos enim velit. Praesentium.</span>
    </ion-content>
  </ion-page>
</template>

<script setup lang="ts">
import { IonPage, IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/vue';
// import ExploreContainer from '@/components/ExploreContainer.vue';
</script>

Code Reproduction URL

https://github.com/Ericlm/test-collapsible-title

Ionic Info

[WARN] Error loading @capacitor/android package.json: Error: Cannot find module '@capacitor/android/package.json'
       
       Require stack:
       - /Users/ericlemaitre/.asdf/installs/nodejs/18.14.0/lib/node_modules/@ionic/cli/lib/project/index.js
       - /Users/ericlemaitre/.asdf/installs/nodejs/18.14.0/lib/node_modules/@ionic/cli/lib/index.js
       - /Users/ericlemaitre/.asdf/installs/nodejs/18.14.0/lib/node_modules/@ionic/cli/index.js
       - /Users/ericlemaitre/.asdf/installs/nodejs/18.14.0/lib/node_modules/@ionic/cli/bin/ionic

Ionic:

   Ionic CLI       : 7.1.1 (/Users/ericlemaitre/.asdf/installs/nodejs/18.14.0/lib/node_modules/@ionic/cli)
   Ionic Framework : @ionic/vue 7.2.3

Capacitor:

   Capacitor CLI      : 5.2.2
   @capacitor/android : not installed
   @capacitor/core    : 5.2.2
   @capacitor/ios     : 5.2.2

Utility:

   cordova-res : not installed globally
   native-run  : 1.7.2

System:

   NodeJS : v18.14.0 (/Users/ericlemaitre/.asdf/installs/nodejs/18.14.0/bin/node)
   npm    : 9.8.1
   OS     : macOS Unknown

=> not using android in this test project, so the warning is normal :)

Additional Information

Key informations :

  • Only occurs on real device, does not occur on Firefox adaptative mode (whatever iOS device is selected)
  • Needs quite big title, like accented capital, but can be seen with other tall characters
@ionitron-bot ionitron-bot bot added the triage label Aug 10, 2023
@liamdebeasi liamdebeasi self-assigned this Aug 10, 2023
@liamdebeasi liamdebeasi added package: core @ionic/core package type: bug a confirmed bug report labels Aug 10, 2023
@ionitron-bot ionitron-bot bot removed the triage label Aug 10, 2023
@liamdebeasi
Copy link
Contributor

liamdebeasi commented Aug 10, 2023

Thanks for the report. Here is a dev build with a proposed fix if you are interested in testing:

npm install @ionic/[email protected] @ionic/[email protected]

@Ericlm
Copy link
Contributor Author

Ericlm commented Aug 11, 2023

It works ! Thank you, I tested it on iPhone 13, and it works perfectly fine 😃

github-merge-queue bot pushed a commit that referenced this issue Aug 14, 2023
Issue number: resolves #27966

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The large title on iOS added bottom padding to create space between the
title and the main content. However, this caused tall text to be cut off
on the top.

During development I also noticed that the padding value we were using
does not match the iOS spec.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- The padding is now applied to the toolbar that contains the large
title. The title itself is positioned absolutely so adding
padding/margin to it never actually had the desired effect. What we want
is space between the title and any content in sibling toolbars. All the
padding on the title did was shift content within the title up to give
the impression of space between the title and other content.
- Adjusted the actual padding values to align with the iOS spec

Note: The screenshot diffs here are correct. By adding padding to the
toolbar we are increasing the height of the toolbar by 6px. As noted
above, we never truly had spacing between the large title and the
content since the text inside of the title was just being shifted by 6px
to give the impression of spacing.

Additionally, the padding values were further adjusted to match the iOS
spec:

| native | ionic | diff |
| - | - | - |
|
![native](https://github.com/ionic-team/ionic-framework/assets/2721089/10c51b1c-c52c-4871-add4-5af42cfda106)
|
![ionic](https://github.com/ionic-team/ionic-framework/assets/2721089/a1062dbf-4a3e-4022-97a1-dcae8b19725d)
|
![diff](https://github.com/ionic-team/ionic-framework/assets/2721089/c9506f5d-c21f-4d74-93c5-6d1a64ff4023)
|

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev build: `7.2.4-dev.11691683954.1b6ed4bb`

---------

Co-authored-by: ionitron <[email protected]>
@liamdebeasi
Copy link
Contributor

Thanks for the issue. This has been resolved via #27969, and a fix will be available in an upcoming release of Ionic Framework.

@liamdebeasi liamdebeasi removed their assignment Aug 14, 2023
@ionitron-bot
Copy link

ionitron-bot bot commented Sep 13, 2023

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.

@ionitron-bot ionitron-bot bot locked and limited conversation to collaborators Sep 13, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
package: core @ionic/core package type: bug a confirmed bug report
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants