primefaces / sakai-ng

Free Angular Admin Template by PrimeNG
https://www.primefaces.org/sakai-ng
MIT License
554 stars 532 forks source link

PrimeNG 17.17.0 Stepper Component Support #48

Open ericaskari opened 4 months ago

ericaskari commented 4 months ago

Hello,

I just cloned the template and tried the Stepper component and the functionality works but feels like it's missing some styling.

I am quite new to the libraries wanted to make sure if i am missing something or this component is not supported yet.

Link to the component documentation: https://primeng.org/stepper

Here is my code: https://github.com/ericaskari/sakai-ng-primeng-stepper And the commit: https://github.com/ericaskari/sakai-ng-primeng-stepper/commit/704755cb945a92c28fb7dbd8bd1ff85b1d391215

Few pictures of how it looks like:

Screenshot 2024-05-22 at 12 55 29 Screenshot 2024-05-22 at 12 55 57

And how it should look like:

Screenshot 2024-05-22 at 12 56 32

Thank you.

swapnil0545 commented 4 months ago

Was about to raise the same issue. Need to raise a PR. If someone has already got this then good. otherwise I will try to work on this.

Mashudu commented 2 months ago

Anyone who got a solution to this issue ?

siva-geddada commented 1 month ago

Anyone who got a solution to this issue ?

Actually primeNG team haven't updated the latest css file in Sakai Template. Just you need to copy the css code from the latest theme from then installed node_modules as below steps

Go to node_modules> PrimeNg>resources>thems Based on the requirement, let say for example i am taking ex: as lara-light-indigo in ngSakai. open same theme in node_modules and copy the below css and paste it in your assets> theme> lara-light-indigo>theme.css. Same method for rest of themes ..

image

.p-stepper .p-stepper-nav {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style-type: none;
    overflow-x: auto;
  }

  .p-stepper-vertical .p-stepper-nav {
    flex-direction: column;
  }

  .p-stepper-header {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
  }
  .p-stepper-header:last-of-type {
    flex: initial;
  }

  .p-stepper-header .p-stepper-action {
    border: 0 none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
  }
  .p-stepper-header .p-stepper-action:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #C7D2FE;
  }

  .p-stepper.p-stepper-readonly .p-stepper-header {
    cursor: auto;
  }

  .p-stepper-header.p-highlight .p-stepper-action {
    cursor: default;
  }

  .p-stepper-title {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }

  .p-stepper-number {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .p-stepper-separator {
    flex: 1 1 0;
  }

  .p-stepper .p-stepper-nav {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .p-stepper .p-stepper-header {
    padding: 0.5rem;
  }
  .p-stepper .p-stepper-header .p-stepper-action {
    transition: box-shadow 0.2s;
    border-radius: 6px;
    background: #ffffff;
    outline-color: transparent;
  }
  .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number {
    color: #4b5563;
    border: 1px solid #f3f4f6;
    border-width: 2px;
    background: #ffffff;
    min-width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 1.143rem;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-stepper .p-stepper-header .p-stepper-action .p-stepper-title {
    margin-left: 0.5rem;
    color: #6b7280;
    font-weight: 700;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-stepper .p-stepper-header .p-stepper-action:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #C7D2FE;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-number {
    background: #EEF2FF;
    color: #4338CA;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-title {
    color: #4b5563;
  }
  .p-stepper .p-stepper-header:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #C7D2FE;
  }
  .p-stepper .p-stepper-header:has(~ .p-highlight) .p-stepper-separator {
    background-color: #6366F1;
  }
  .p-stepper .p-stepper-panels {
    background: #ffffff;
    padding: 1.25rem;
    color: #4b5563;
  }
  .p-stepper .p-stepper-separator {
    background-color: #e5e7eb;
    width: 100%;
    height: 2px;
    margin-inline-start: 1rem;
    transition: box-shadow 0.2s;
  }
  .p-stepper.p-stepper-vertical {
    display: flex;
    flex-direction: column;
  }
  .p-stepper.p-stepper-vertical .p-stepper-toggleable-content {
    display: flex;
    flex: 1 1 auto;
    background: #ffffff;
    color: #4b5563;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel {
    display: flex;
    flex-direction: column;
    flex: initial;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel.p-stepper-panel-active {
    flex: 1 1 auto;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-header {
    flex: initial;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-content {
    width: 100%;
    padding-left: 1rem;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator {
    flex: 0 0 auto;
    width: 2px;
    height: auto;
    margin-inline-start: calc(1.75rem + 2px);
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel:has(~ .p-stepper-panel-active) .p-stepper-separator {
    background-color: #6366F1;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel:last-of-type .p-stepper-content {
    padding-left: 3rem;
  }
siva-geddada commented 1 month ago

Another solution is Copy all the lastest themes from node_modules>Primeng>resources>thems and replace it in your assets themes folder assets>layout>styles>themes