@aquera/nile-elements 1.9.0 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +8 -0
  2. package/dist/{index-6faafdf4.cjs.js → index-2f006498.cjs.js} +2 -2
  3. package/dist/index-2f006498.cjs.js.map +1 -0
  4. package/dist/{index-9931b440.esm.js → index-646474e8.esm.js} +1 -1
  5. package/dist/index.cjs.js +1 -1
  6. package/dist/index.esm.js +1 -1
  7. package/dist/index.js +666 -552
  8. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  9. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  10. package/dist/nile-calendar/nile-calendar.css.esm.js +8 -0
  11. package/dist/nile-card/nile-card.cjs.js +1 -1
  12. package/dist/nile-card/nile-card.cjs.js.map +1 -1
  13. package/dist/nile-card/nile-card.css.cjs.js +1 -1
  14. package/dist/nile-card/nile-card.css.cjs.js.map +1 -1
  15. package/dist/nile-card/nile-card.css.esm.js +61 -2
  16. package/dist/nile-card/nile-card.esm.js +10 -4
  17. package/dist/nile-color-picker/index.cjs.js +1 -1
  18. package/dist/nile-color-picker/index.esm.js +1 -1
  19. package/dist/nile-color-picker/nile-color-picker.cjs.js +1 -1
  20. package/dist/nile-color-picker/nile-color-picker.cjs.js.map +1 -1
  21. package/dist/nile-color-picker/nile-color-picker.esm.js +1 -1
  22. package/dist/nile-combobox/index.cjs.js +1 -1
  23. package/dist/nile-combobox/index.esm.js +1 -1
  24. package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
  25. package/dist/nile-combobox/nile-combobox.esm.js +1 -1
  26. package/dist/nile-detail/index.cjs.js +1 -1
  27. package/dist/nile-detail/index.esm.js +1 -1
  28. package/dist/nile-detail/nile-detail.cjs.js +1 -1
  29. package/dist/nile-detail/nile-detail.esm.js +1 -1
  30. package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
  31. package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
  32. package/dist/nile-file-preview/nile-file-preview.css.esm.js +89 -89
  33. package/dist/nile-file-preview/nile-file-preview.template.cjs.js +1 -1
  34. package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -1
  35. package/dist/nile-file-preview/nile-file-preview.template.esm.js +42 -42
  36. package/dist/nile-file-upload/nile-file-upload.css.cjs.js +1 -1
  37. package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -1
  38. package/dist/nile-file-upload/nile-file-upload.css.esm.js +126 -105
  39. package/dist/nile-markdown-editor/index.cjs.js +1 -1
  40. package/dist/nile-markdown-editor/index.esm.js +1 -1
  41. package/dist/nile-markdown-editor/nile-markdown-editor.cjs.js +1 -1
  42. package/dist/nile-markdown-editor/nile-markdown-editor.cjs.js.map +1 -1
  43. package/dist/nile-markdown-editor/nile-markdown-editor.esm.js +1 -1
  44. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  45. package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
  46. package/dist/nile-menu/nile-menu.esm.js +1 -1
  47. package/dist/nile-menu-item/index.cjs.js +1 -1
  48. package/dist/nile-menu-item/index.esm.js +1 -1
  49. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  50. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  51. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  52. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  53. package/dist/nile-menu-item/nile-menu-item.css.esm.js +8 -0
  54. package/dist/nile-menu-item/nile-menu-item.esm.js +11 -2
  55. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  56. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  57. package/dist/nile-pagination/nile-pagination.esm.js +7 -4
  58. package/dist/src/nile-calendar/nile-calendar.css.js +8 -0
  59. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  60. package/dist/src/nile-card/nile-card.css.js +61 -2
  61. package/dist/src/nile-card/nile-card.css.js.map +1 -1
  62. package/dist/src/nile-card/nile-card.d.ts +17 -1
  63. package/dist/src/nile-card/nile-card.js +92 -4
  64. package/dist/src/nile-card/nile-card.js.map +1 -1
  65. package/dist/src/nile-file-preview/nile-file-preview.css.js +87 -87
  66. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  67. package/dist/src/nile-file-preview/nile-file-preview.template.js +4 -4
  68. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
  69. package/dist/src/nile-file-upload/nile-file-upload.css.js +124 -103
  70. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  71. package/dist/src/nile-menu/nile-menu.js +1 -1
  72. package/dist/src/nile-menu/nile-menu.js.map +1 -1
  73. package/dist/src/nile-menu-item/nile-menu-item.css.js +8 -0
  74. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  75. package/dist/src/nile-menu-item/nile-menu-item.d.ts +5 -2
  76. package/dist/src/nile-menu-item/nile-menu-item.js +25 -9
  77. package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
  78. package/dist/src/nile-pagination/nile-pagination.d.ts +1 -0
  79. package/dist/src/nile-pagination/nile-pagination.js +9 -2
  80. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  81. package/dist/src/version.js +1 -1
  82. package/dist/src/version.js.map +1 -1
  83. package/dist/tsconfig.tsbuildinfo +1 -1
  84. package/package.json +1 -1
  85. package/src/nile-calendar/nile-calendar.css.ts +8 -0
  86. package/src/nile-card/nile-card.css.ts +61 -2
  87. package/src/nile-card/nile-card.ts +87 -4
  88. package/src/nile-file-preview/nile-file-preview.css.ts +87 -87
  89. package/src/nile-file-preview/nile-file-preview.template.ts +4 -4
  90. package/src/nile-file-upload/nile-file-upload.css.ts +124 -103
  91. package/src/nile-menu/nile-menu.ts +1 -1
  92. package/src/nile-menu-item/nile-menu-item.css.ts +8 -0
  93. package/src/nile-menu-item/nile-menu-item.ts +26 -9
  94. package/src/nile-pagination/nile-pagination.ts +6 -2
  95. package/vscode-html-custom-data.json +32 -8
  96. package/dist/index-6faafdf4.cjs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nile-calendar.css.js","sourceRoot":"","sources":["../../../src/nile-calendar/nile-calendar.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAunBxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * DatePicker CSS\n */\nexport const styles = css`\n :host {\n display: inline-block;\n }\n \n .base {\n background-color: var(\n --nile-colors-white-base,\n var(--ng-colors-bg-primary)\n );\n border-radius: var(--nile-radius-radius-sm, var(--ng-radius-2xl));\n width: var(--nile-width-288px, var(--ng-width-312));\n border: 1px solid\n var(--nile-colors-neutral-400, var(--ng-colors-border-secondary-alt));\n box-shadow: var(\n --nile-box-shadow-15,\n 0px 20px 24px -4px var(--ng-colors-effects-shadow-xl-01)\n ); // Need to fix the token for this\n border: var(\n --nile-spacing-spacing-none,\n 1px solid var(--ng-colors-border-secondary-alt)\n );\n -webkit-font-smoothing: var(\n --nile-webkit-font-smoothing,\n var(--ng-webkit-font-smoothing)\n );\n -moz-osx-font-smoothing: var(\n --nile-moz-osx-font-smoothing,\n var(--ng-moz-osx-font-smoothing)\n );\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .calendar-container {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n width: 100%;\n height: auto;\n text-align: center;\n background: white;\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-2xl));\n }\n\n .calendar-wrapper {\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n display: flex;\n justify-content: space-between;\n width: 100%;\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-2xl));\n }\n\n .calendar-header {\n display: flex;\n justify-content: space-between;\n padding: var(--nile-spacing-22px, var(--ng-spacing-2xl))\n var(--nile-spacing-2xl, var(--ng-spacing-2xl));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semibold)\n );\n line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n }\n\n .calendar-header__month-navigation {\n cursor: pointer;\n }\n\n /* Date CSS_START */\n\n .days_container {\n display: grid;\n padding: var(--nile-spacing-none, var(--ng-spacing-none))\n var(--nile-spacing-lg, var(--ng-spacing-lg))\n var(--nile-spacing-lg, var(--ng-spacing-lg))\n var(--nile-spacing-lg, var(--ng-spacing-lg));\n grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;\n grid-row-gap: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n .day_date,\n .day_name {\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n font-style: normal;\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n line-height: var(--nile-line-height-20px, var(--ng-line-height-text-sm));\n text-align: center;\n width: 100%;\n height: var(--nile-width-32px, var(--ng-width-10));\n display: grid;\n place-items: center;\n }\n\n .day_name {\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semibold)\n );\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n }\n\n .day_date {\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n user-select: none;\n cursor: pointer;\n }\n\n .current__date__dot {\n background-color: var(\n --nile-colors-primary-600,\n var(--ng-colors-text-white)\n );\n position: absolute;\n border-radius: 50%;\n height: 5px;\n width: 5px;\n left: 25%;\n top: 90%;\n }\n\n .day_date:not(.range-start, .selected-date, .range-end) .current__date__dot {\n background-color: var(\n --nile-colors-primary-600,\n var(--ng-colors-bg-brand-solid)\n );\n }\n\n .day_date:hover {\n background-color: var(\n --nile-colors-neutral-100,\n var(--ng-colors-bg-secondary-hover)\n );\n }\n\n .filler {\n color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled));\n pointer-events: none;\n }\n\n .selected-date {\n color: white;\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs));\n background: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n }\n\n .selected-date:hover {\n background: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n }\n\n .selected-date,\n .range-start,\n .range-end {\n cursor: pointer;\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs));\n background: var(--nile-colors-blue-400, var(--ng-colors-bg-brand-solid));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-white));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-regular)\n );\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n .selected-date:hover,\n .range-start:hover,\n .range-end:hover,\n .day_date.in-range:hover {\n background: var(\n --nile-colors-blue-500,\n var(--ng-colors-bg-brand-solid-hover)\n );\n }\n\n .range-start.in-range {\n background: var(--nile-colors-blue-400, var(--ng-colors-bg-brand-solid));\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs))\n var(--nile-radius-radius-none, var(--ng-radius-none))\n var(--nile-radius-radius-none, var(--ng-radius-none))\n var(--nile-radius-radius-xs, var(--ng-radius-xs));\n color: var(--nile-colors-dark-900, var(--ng-colors-bg-primary));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-regular)\n );\n }\n\n .range-end {\n cursor: pointer;\n background: var(--nile-colors-blue-400, var(--ng-colors-bg-brand-solid));\n border-radius: var(--nile-radius-radius-none, var(--ng-radius-none))\n var(--nile-radius-radius-xs, var(--ng-radius-xs))\n var(--nile-radius-radius-xs, var(--ng-radius-xs))\n var(--nile-radius-radius-none, var(--ng-radius-none));\n color: var(--nile-colors-dark-900, var(--ng-colors-bg-primary));\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n letter-spacing: 0.2px;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-regular)\n );\n }\n\n .range-middle {\n background: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-none, var(--ng-radius-none));\n }\n\n .day_date.selected {\n background: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs));\n }\n\n .day_date.in-range:not(.range-start, .range-end, .selected-date) {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-active));\n }\n\n .selected-date {\n color: var(--nile-colors-dark-900, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs));\n background: var(--nile-colors-blue-400, var(--ng-colors-bg-brand-solid));\n }\n\n .not-allowed {\n color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled));\n pointer-events: none;\n }\n\n /* Date CSS_END */\n\n .calender-input {\n box-sizing: border-box;\n padding: var(--nile-spacing-none, var(--ng-spacing-none))\n var(--nile-spacing-xl, var(--ng-spacing-xl));\n width: 100%;\n justify-content: space-between;\n display: flex;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n flex-wrap: wrap;\n }\n\n .from {\n display: flex;\n justify-content: space-between;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n width: auto;\n align-items: flex-end;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n flex-wrap: nowrap;\n width: 100%;\n }\n\n .manual-input-label {\n color: var(--nile-colors-dark-500);\n font-family: Colfax-regular;\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n line-height: 12px;\n letter-spacing: 0.2px;\n }\n\n .button-container {\n width: 100%;\n display: flex;\n justify-content: end;\n gap: var(--nile-spacing-xl, var(--ng-spacing-lg));\n padding: var(--nile-spacing-xl, var(--ng-spacing-lg))\n var(--nile-spacing-spacing-xl, var(--ng-spacing-xl))\n var(--nile-spacing-spacing-xl, var(--ng-spacing-xl))\n var(--nile-spacing-spacing-xl, var(--ng-spacing-xl));\n box-sizing: border-box;\n }\n\n .calendar-config {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n nile-tab::part(base) {\n padding-bottom: 12px;\n justify-content: center;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semibold)\n );\n }\n\n .calendar-switcher {\n width: 100%;\n margin-top: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .units-wrapper {\n width: min-content;\n margin: auto;\n }\n\n .unit-container {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n :host([disabled]) .unit-container {\n user-select: none;\n -webkit-user-select: none;\n pointer-events: none;\n }\n\n .unit-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .duration-name {\n display: flex;\n align-items: center;\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semibold)\n );\n line-height: var(--nile-line-height-small, var(--ng-line-height-text-sm));\n }\n\n .duration-units {\n display: flex;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n line-height: var(--nile-line-height-small, var(--ng-line-height-text-sm));\n gap: 6px;\n }\n\n .duration__value {\n display: grid;\n place-items: center;\n width: var(--nile-width-32px, var(--ng-width-10));\n height: var(--nile-width-32px, var(--ng-width-10));\n cursor: pointer;\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-md));\n border: 1px solid\n var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n .duration__value:hover {\n background: var(--nile-colors-neutral-400, var(--ng-colors-bg-quaternary));\n }\n\n .duration__value--selected {\n background-color: var(\n --nile-colors-blue-400,\n var(--ng-colors-bg-brand-solid)\n );\n color: var(--nile-colors-dark-900, var(--ng-colors-text-white));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semi-bold)\n );\n border: 1px solid transparent;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n .duration__value--selected:hover {\n background: var(\n --nile-colors-blue-500,\n var(--ng-colors-bg-brand-solid-hover)\n );\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semi-bold)\n );\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n nile-input::part(input)::-webkit-inner-spin-button,\n nile-input::part(input)::-webkit-outer-spin-button {\n -webkit-appearance: none;\n }\n\n .hidden {\n display: none !important;\n }\n\n .unit-input-container {\n display: flex;\n line-height: 0;\n justify-content: space-between;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n padding: var(--nile-spacing-none, var(--ng-spacing-none))\n var(--nile-spacing-xl, var(--ng-spacing-xl))\n var(--nile-spacing-none, var(--ng-spacing-xl))\n var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .duration-input,\n .time-input,\n .manual-input {\n width: 125px;\n }\n\n /* New Styles */\n\n nile-dropdown[open] > span[slot='trigger'] .calendar-header__caret {\n transform: rotate(180deg);\n }\n\n .calendar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 14px;\n font-weight: 600;\n line-height: 14px;\n letter-spacing: 0.2px;\n font-feature-settings: 'liga' off, 'clig' off;\n }\n\n .calendar-header__center {\n display: flex;\n align-items: center;\n gap: 6px;\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n }\n\n .calendar-header__trigger {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n font-size: 14px;\n font-weight: 600;\n line-height: 1;\n background: transparent;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n }\n\n .calendar-header__caret {\n width: 16px;\n height: 16px;\n transition: transform 0.2s ease;\n transform-origin: center;\n }\n\n .calendar-menu {\n max-height: 194px;\n overflow-y: auto;\n width: 100px;\n }\n\n .month-scroll-wrapper {\n max-height: 196px;\n overflow-y: auto;\n width: 100px;\n overflow-x: hidden;\n }\n\n .month-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .year-scroll-wrapper {\n max-height: 196px;\n overflow-y: auto;\n width: 65px;\n overflow-x: hidden;\n }\n\n .year-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .month-dropdown nile-menu-item::part(base) {\n padding: 0px 12px;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n .year-dropdown nile-menu-item::part(base) {\n padding: 0px 12px;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n nile-menu-item[selected] {\n background: var(--nile-colors-primary-100);\n }\n\n nile-menu-item[selected]::part(base):hover {\n background: var(--nile-colors-primary-100);\n border-radius: 0px;\n }\n\n nile-icon[disabled] {\n opacity: 0.4;\n pointer-events: none;\n }\n\n .units-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xl, var(--ng-spacing-xl));\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n width: auto;\n }\n\n .calendar-input {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n padding: var(--nile-spacing-lg, var(--ng-spacing-xl)) var(--nile-spacing-xl, var(--ng-spacing-3xl))\n var(--nile-spacing-none, var(--ng-spacing-none)) var(--nile-spacing-xl, var(--ng-spacing-3xl));\n box-sizing: border-box;\n }\n\n .manual-input {\n flex: 1;\n min-width: 120px;\n }\n\n .date-input nile-input::part(base),\n .time-input nile-input::part(base) {\n width: 100%;\n }\n\n .manual-input-label {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n }\n\n .day_date.in-range:hover:not(.range-start):not(.range-end) {\n background-color: var(\n --nile-colors-neutral-400,\n var(--ng-colors-bg-quaternary)\n );\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n nile-input.date-input::part(base),\n .from-date {\n width: var(--nile-width-150px, var(--ng-width-164));\n }\n\n nile-input.time-input::part(base),\n .from-time {\n width: var(--nile-width-99px, var(--ng-width-108));\n }\n\n .month-dropdown, .year-dropdown {\n cursor: pointer;\n }\n\n\n\n:host([disabled]) .calendar-header__month-navigation,\n:host([disabled]) .calendar-header__trigger,\n:host([disabled]) .day_date {\n cursor: not-allowed;\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n\n\n:host([disabled]) .base {\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n cursor: not-allowed;\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n:host([disabled]) .calendar-container {\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n user-select: none;\n -webkit-user-select: none;\n}\n\n:host([disabled]) .day_name {\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n:host([disabled]) nile-input::part(form-control-label) {\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n:host([disabled]) nile-select::part(form-control-label) {\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n\n\n:host([disabled]) .calendar-switcher {\n pointer-events: none;\n opacity:var(--nile-opacity-50, var(--ng-opacity-50));\n}\n\n\n:host([disabled]) .day_date{\n pointer-events:none;\n}\n:host([disabled]) .day_date:not(.range-start, .selected-date, .range-end) .current__date__dot {\n background-color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n:host([disabled]) .duration_unit{\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n}\n:host([disabled]) .duration__value {\n cursor: not-allowed;\n}\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-calendar.css.js","sourceRoot":"","sources":["../../../src/nile-calendar/nile-calendar.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+nBxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * DatePicker CSS\n */\nexport const styles = css`\n :host {\n display: inline-block;\n }\n \n .base {\n background-color: var(\n --nile-colors-white-base,\n var(--ng-colors-bg-primary)\n );\n border-radius: var(--nile-radius-radius-sm, var(--ng-radius-2xl));\n width: var(--nile-width-288px, var(--ng-width-312));\n border: 1px solid\n var(--nile-colors-neutral-400, var(--ng-colors-border-secondary-alt));\n box-shadow: var(\n --nile-box-shadow-15,\n 0px 20px 24px -4px var(--ng-colors-effects-shadow-xl-01)\n ); // Need to fix the token for this\n border: var(\n --nile-spacing-spacing-none,\n 1px solid var(--ng-colors-border-secondary-alt)\n );\n -webkit-font-smoothing: var(\n --nile-webkit-font-smoothing,\n var(--ng-webkit-font-smoothing)\n );\n -moz-osx-font-smoothing: var(\n --nile-moz-osx-font-smoothing,\n var(--ng-moz-osx-font-smoothing)\n );\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .calendar-container {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n width: 100%;\n height: auto;\n text-align: center;\n background: white;\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-2xl));\n }\n\n .calendar-wrapper {\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n display: flex;\n justify-content: space-between;\n width: 100%;\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-2xl));\n }\n\n .calendar-header {\n display: flex;\n justify-content: space-between;\n padding: var(--nile-spacing-22px, var(--ng-spacing-2xl))\n var(--nile-spacing-2xl, var(--ng-spacing-2xl));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semibold)\n );\n line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n }\n\n .calendar-header__month-navigation {\n cursor: pointer;\n }\n\n /* Date CSS_START */\n\n .days_container {\n display: grid;\n padding: var(--nile-spacing-none, var(--ng-spacing-none))\n var(--nile-spacing-lg, var(--ng-spacing-lg))\n var(--nile-spacing-lg, var(--ng-spacing-lg))\n var(--nile-spacing-lg, var(--ng-spacing-lg));\n grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;\n grid-row-gap: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n .day_date,\n .day_name {\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n font-style: normal;\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n line-height: var(--nile-line-height-20px, var(--ng-line-height-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n text-align: center;\n width: 100%;\n height: var(--nile-width-32px, var(--ng-width-10));\n display: grid;\n place-items: center;\n }\n\n .day_name {\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semibold)\n );\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n }\n\n .day_date {\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n user-select: none;\n cursor: pointer;\n }\n\n .current__date__dot {\n background-color: var(\n --nile-colors-primary-600,\n var(--ng-colors-text-white)\n );\n position: absolute;\n border-radius: 50%;\n height: 5px;\n width: 5px;\n left: 25%;\n top: 90%;\n }\n\n .day_date:not(.range-start, .selected-date, .range-end) .current__date__dot {\n background-color: var(\n --nile-colors-primary-600,\n var(--ng-colors-bg-brand-solid)\n );\n }\n\n .day_date:hover {\n background-color: var(\n --nile-colors-neutral-100,\n var(--ng-colors-bg-secondary-hover)\n );\n }\n\n .filler {\n color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled));\n pointer-events: none;\n }\n\n .selected-date {\n color: white;\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs));\n background: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n }\n\n .selected-date:hover {\n background: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n }\n\n .selected-date,\n .range-start,\n .range-end {\n cursor: pointer;\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs));\n background: var(--nile-colors-blue-400, var(--ng-colors-bg-brand-solid));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-white));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-regular)\n );\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n .selected-date:hover,\n .range-start:hover,\n .range-end:hover,\n .day_date.in-range:hover {\n background: var(\n --nile-colors-blue-500,\n var(--ng-colors-bg-brand-solid-hover)\n );\n }\n\n .range-start.in-range {\n background: var(--nile-colors-blue-400, var(--ng-colors-bg-brand-solid));\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs))\n var(--nile-radius-radius-none, var(--ng-radius-none))\n var(--nile-radius-radius-none, var(--ng-radius-none))\n var(--nile-radius-radius-xs, var(--ng-radius-xs));\n color: var(--nile-colors-dark-900, var(--ng-colors-bg-primary));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-regular)\n );\n }\n\n .range-end {\n cursor: pointer;\n background: var(--nile-colors-blue-400, var(--ng-colors-bg-brand-solid));\n border-radius: var(--nile-radius-radius-none, var(--ng-radius-none))\n var(--nile-radius-radius-xs, var(--ng-radius-xs))\n var(--nile-radius-radius-xs, var(--ng-radius-xs))\n var(--nile-radius-radius-none, var(--ng-radius-none));\n color: var(--nile-colors-dark-900, var(--ng-colors-bg-primary));\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n letter-spacing: 0.2px;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-regular)\n );\n }\n\n .range-middle {\n background: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-none, var(--ng-radius-none));\n }\n\n .day_date.selected {\n background: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs));\n }\n\n .day_date.in-range:not(.range-start, .range-end, .selected-date) {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-active));\n }\n\n .selected-date {\n color: var(--nile-colors-dark-900, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-xs));\n background: var(--nile-colors-blue-400, var(--ng-colors-bg-brand-solid));\n }\n\n .not-allowed {\n color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled));\n pointer-events: none;\n }\n\n /* Date CSS_END */\n\n .calender-input {\n box-sizing: border-box;\n padding: var(--nile-spacing-none, var(--ng-spacing-none))\n var(--nile-spacing-xl, var(--ng-spacing-xl));\n width: 100%;\n justify-content: space-between;\n display: flex;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n flex-wrap: wrap;\n }\n\n .from {\n display: flex;\n justify-content: space-between;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n width: auto;\n align-items: flex-end;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n flex-wrap: nowrap;\n width: 100%;\n }\n\n .manual-input-label {\n color: var(--nile-colors-dark-500);\n font-family: Colfax-regular;\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n line-height: 12px;\n letter-spacing: 0.2px;\n }\n\n .button-container {\n width: 100%;\n display: flex;\n justify-content: end;\n gap: var(--nile-spacing-xl, var(--ng-spacing-lg));\n padding: var(--nile-spacing-xl, var(--ng-spacing-lg))\n var(--nile-spacing-spacing-xl, var(--ng-spacing-xl))\n var(--nile-spacing-spacing-xl, var(--ng-spacing-xl))\n var(--nile-spacing-spacing-xl, var(--ng-spacing-xl));\n box-sizing: border-box;\n }\n\n .calendar-config {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n nile-tab::part(base) {\n padding-bottom: 12px;\n justify-content: center;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semibold)\n );\n }\n\n .calendar-switcher {\n width: 100%;\n margin-top: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .units-wrapper {\n width: min-content;\n margin: auto;\n }\n\n .unit-container {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n :host([disabled]) .unit-container {\n user-select: none;\n -webkit-user-select: none;\n pointer-events: none;\n }\n\n .unit-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .duration-name {\n display: flex;\n align-items: center;\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semibold)\n );\n line-height: var(--nile-line-height-small, var(--ng-line-height-text-sm));\n }\n\n .duration-units {\n display: flex;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n line-height: var(--nile-line-height-small, var(--ng-line-height-text-sm));\n gap: 6px;\n }\n\n .duration__value {\n display: grid;\n place-items: center;\n width: var(--nile-width-32px, var(--ng-width-10));\n height: var(--nile-width-32px, var(--ng-width-10));\n cursor: pointer;\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-md));\n border: 1px solid\n var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n .duration__value:hover {\n background: var(--nile-colors-neutral-400, var(--ng-colors-bg-quaternary));\n }\n\n .duration__value--selected {\n background-color: var(\n --nile-colors-blue-400,\n var(--ng-colors-bg-brand-solid)\n );\n color: var(--nile-colors-dark-900, var(--ng-colors-text-white));\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semi-bold)\n );\n border: 1px solid transparent;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n .duration__value--selected:hover {\n background: var(\n --nile-colors-blue-500,\n var(--ng-colors-bg-brand-solid-hover)\n );\n font-weight: var(\n --nile-font-weight-semi-bold,\n var(--ng-font-weight-semi-bold)\n );\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n nile-input::part(input)::-webkit-inner-spin-button,\n nile-input::part(input)::-webkit-outer-spin-button {\n -webkit-appearance: none;\n }\n\n .hidden {\n display: none !important;\n }\n\n .unit-input-container {\n display: flex;\n line-height: 0;\n justify-content: space-between;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n padding: var(--nile-spacing-none, var(--ng-spacing-none))\n var(--nile-spacing-xl, var(--ng-spacing-xl))\n var(--nile-spacing-none, var(--ng-spacing-xl))\n var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .duration-input,\n .time-input,\n .manual-input {\n width: 125px;\n }\n\n .time-input::part(input),\n .manual-input::part(input) {\n padding: var(--nile-spacing-lg, var(--ng-spacing-md))\n var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n /* New Styles */\n\n nile-dropdown[open] > span[slot='trigger'] .calendar-header__caret {\n transform: rotate(180deg);\n }\n\n .calendar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 14px;\n font-weight: 600;\n line-height: 14px;\n letter-spacing: 0.2px;\n font-feature-settings: 'liga' off, 'clig' off;\n }\n\n .calendar-header__center {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-family: var(\n --nile-font-family-serif-colfax-medium,\n var(--ng-font-family-body)\n );\n }\n\n .calendar-header__trigger {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n font-size: 14px;\n font-weight: 600;\n line-height: 1;\n background: transparent;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n }\n\n .calendar-header__caret {\n width: 16px;\n height: 16px;\n transition: transform 0.2s ease;\n transform-origin: center;\n }\n\n .calendar-menu {\n max-height: 194px;\n overflow-y: auto;\n width: 100px;\n }\n\n .month-scroll-wrapper {\n max-height: 196px;\n overflow-y: auto;\n width: 100px;\n overflow-x: hidden;\n }\n\n .month-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .year-scroll-wrapper {\n max-height: 196px;\n overflow-y: auto;\n width: 65px;\n overflow-x: hidden;\n }\n\n .year-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .month-dropdown nile-menu-item::part(base) {\n padding: 0px 12px;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n .year-dropdown nile-menu-item::part(base) {\n padding: 0px 12px;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n nile-menu-item[selected] {\n background: var(--nile-colors-primary-100);\n }\n\n nile-menu-item[selected]::part(base):hover {\n background: var(--nile-colors-primary-100);\n border-radius: 0px;\n }\n\n nile-icon[disabled] {\n opacity: 0.4;\n pointer-events: none;\n }\n\n .units-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xl, var(--ng-spacing-xl));\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n width: auto;\n }\n\n .calendar-input {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n padding: var(--nile-spacing-lg, var(--ng-spacing-xl)) var(--nile-spacing-xl, var(--ng-spacing-3xl))\n var(--nile-spacing-none, var(--ng-spacing-none)) var(--nile-spacing-xl, var(--ng-spacing-3xl));\n box-sizing: border-box;\n }\n\n .manual-input {\n flex: 1;\n min-width: 120px;\n }\n\n .date-input nile-input::part(base),\n .time-input nile-input::part(base) {\n width: 100%;\n }\n\n .manual-input-label {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n }\n\n .day_date.in-range:hover:not(.range-start):not(.range-end) {\n background-color: var(\n --nile-colors-neutral-400,\n var(--ng-colors-bg-quaternary)\n );\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n nile-input.date-input::part(base),\n .from-date {\n width: var(--nile-width-150px, var(--ng-width-164));\n }\n\n nile-input.time-input::part(base),\n .from-time {\n width: var(--nile-width-99px, var(--ng-width-108));\n }\n\n .month-dropdown, .year-dropdown {\n cursor: pointer;\n }\n\n\n\n:host([disabled]) .calendar-header__month-navigation,\n:host([disabled]) .calendar-header__trigger,\n:host([disabled]) .day_date {\n cursor: not-allowed;\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n\n\n:host([disabled]) .base {\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n cursor: not-allowed;\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n:host([disabled]) .calendar-container {\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n user-select: none;\n -webkit-user-select: none;\n}\n\n:host([disabled]) .day_name {\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n:host([disabled]) nile-input::part(form-control-label) {\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n:host([disabled]) nile-select::part(form-control-label) {\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n\n\n:host([disabled]) .calendar-switcher {\n pointer-events: none;\n opacity:var(--nile-opacity-50, var(--ng-opacity-50));\n}\n\n\n:host([disabled]) .day_date{\n pointer-events:none;\n}\n:host([disabled]) .day_date:not(.range-start, .selected-date, .range-end) .current__date__dot {\n background-color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n}\n\n:host([disabled]) .duration_unit{\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n}\n:host([disabled]) .duration__value {\n cursor: not-allowed;\n}\n`;\n\nexport default [styles];\n"]}
@@ -79,7 +79,6 @@ export const styles = css `
79
79
 
80
80
 
81
81
  .card:active {
82
- border: var(--ng-border-width-2) var(--ng-border-style-solid) var(--ng-colors-border-brand);
83
82
  background: var(--ng-colors-bg-brand-primary);
84
83
  box-shadow: var(--ng-shadow-xs);
85
84
  }
@@ -90,13 +89,38 @@ export const styles = css `
90
89
  box-shadow: var(--ng-shadow-xs);
91
90
  }
92
91
 
92
+ /* on a skipOn element, hover appearance - grey */
93
+ .card--skip-active:active {
94
+ background-color: var(--ng-colors-bg-primary-hover);
95
+ box-shadow: var(--nile-box-shadow-7, var(--ng-shadow-sm));
96
+ outline: solid 1px var(--border-color);
97
+ }
98
+
99
+ /* skipOn element */
100
+ .card--skip-active:active .card__footer {
101
+ background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary-hover));
102
+ box-shadow: var(--ng-shadow-sm);
103
+ }
104
+
105
+ /* On active card, the skipOn elements will show active card color(blue) on card body*/
106
+ .card--active.card--skip-active:active {
107
+ background: var(--ng-colors-bg-brand-primary);
108
+ box-shadow: var(--ng-shadow-xs);
109
+ outline: solid var(--nile-outline-0-5px) var(--border-color);
110
+ }
111
+
112
+ /* On active card, the skipOn elements will show active card color(blue) card footer*/
113
+ .card--active.card--skip-active:active .card__footer {
114
+ background: var(--ng-colors-bg-brand-primary);
115
+ box-shadow: var(--ng-shadow-xs);
116
+ }
117
+
93
118
 
94
119
  .card:not(.card--has-footer) .card__footer {
95
120
  display: none;
96
121
  }
97
122
 
98
123
  .card--active {
99
- border: var(--ng-border-width-2) var(--ng-border-style-solid) var(--ng-colors-border-brand);
100
124
  background: var(--ng-colors-bg-brand-primary);
101
125
  box-shadow: var(--ng-shadow-xs);
102
126
  }
@@ -128,6 +152,41 @@ export const styles = css `
128
152
  pointer-events: none;
129
153
  }
130
154
 
155
+
156
+ .card--container {
157
+ display: flex;
158
+ flex-direction: column;
159
+ justify-items: stretch;
160
+ background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
161
+ outline: solid var(--nile-outline-0-5px, var(--ng-outline-0-5px)) var(--nile-card-color-border, var(--ng-colors-border-secondary));
162
+ border: solid var(--nile-outline-1px, var(--ng-outline-1px)) var(--nile-card-color-border, var(--ng-colors-border-secondary));
163
+ border-radius: var(--border-radius);
164
+ min-width: 273px;
165
+ max-width: 350px;
166
+ overflow: hidden;
167
+ box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-xs));
168
+ }
169
+
170
+ .container--hover {
171
+ box-shadow: var(--nile-box-shadow-7, var(--ng-shadow-sm));
172
+ outline: solid 1px var(--nile-card-color-border, var(--ng-colors-border-secondary));
173
+ background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary-hover));
174
+ }
175
+
176
+ .container--hover .card__footer {
177
+ background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary-hover));
178
+ box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-sm));
179
+ }
180
+
181
+ .container--disabled {
182
+ pointer-events: none;
183
+ opacity: 0.5;
184
+ }
185
+
186
+ .container--disabled .card__footer {
187
+ pointer-events: none;
188
+ }
189
+
131
190
  `;
132
191
  export default [styles];
133
192
  //# sourceMappingURL=nile-card.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-card.css.js","sourceRoot":"","sources":["../../../src/nile-card/nile-card.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwHxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Card CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n :host {\n --border-color: var(--nile-card-color-border, var(--ng-colors-border-secondary));\n --border-radius: var(--nile-radius-radius-xl, var(--ng-radius-xl));\n --padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n display: inline-block;\n }\n\n .card {\n display: flex;\n flex-direction: column;\n justify-items: stretch;\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n outline: solid var(--nile-outline-0-5px) var(--border-color);\n border: solid var(--ng-outline-1px) var(--border-color);\n border-radius: var(--border-radius);\n min-width: 273px;\n max-width: 350px;\n overflow: hidden;\n box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-xs));\n }\n\n .body__wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-xl, var(--ng-spacing-xl)) var(--nile-spacing-none, var(--ng-spacing-none)) var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .body__wrapper_nf {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-xl, var(--ng-spacing-xl)) var(--nile-spacing-xl, var(--ng-spacing-xl)) var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n .card__header {\n display: block;\n }\n\n .card__body {\n display: block;\n }\n\n .card__footer {\n margin-top: var(--nile-spacing-lg, var(--ng-spacing-lg));\n display: block;\n box-sizing: border-box;\n align-content: center;\n align-items: center;\n padding: var(--nile-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n border-top: var(--nile-border-style-none, 1px solid var(--ng-colors-border-secondary));\n height: 40px;\n }\n\n \n.card:active {\n border: var(--ng-border-width-2) var(--ng-border-style-solid) var(--ng-colors-border-brand);\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n} \n\n \n.card:active .card__footer {\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n}\n\n\n.card:not(.card--has-footer) .card__footer {\n display: none;\n }\n\n.card--active {\n border: var(--ng-border-width-2) var(--ng-border-style-solid) var(--ng-colors-border-brand);\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n}\n\n.card--active .card__footer {\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n}\n\n \n.card:not(.card--active):not(:active):hover {\n box-shadow: var(--nile-box-shadow-7, var(--ng-shadow-sm));\n outline: solid 1px var(--border-color);\n background-color: var(--ng-colors-bg-primary-hover);\n}\n\n.card:not(.card--active):not(:active):hover .card__footer {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary-hover));\n box-shadow: var(--ng-shadow-sm);\n}\n\n \n.card--disabled {\n pointer-events: none;\n opacity: 0.5;\n}\n\n.card--disabled .card__footer {\n pointer-events: none;\n}\n\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-card.css.js","sourceRoot":"","sources":["../../../src/nile-card/nile-card.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmLxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Card CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n :host {\n --border-color: var(--nile-card-color-border, var(--ng-colors-border-secondary));\n --border-radius: var(--nile-radius-radius-xl, var(--ng-radius-xl));\n --padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n display: inline-block;\n }\n\n .card {\n display: flex;\n flex-direction: column;\n justify-items: stretch;\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n outline: solid var(--nile-outline-0-5px) var(--border-color);\n border: solid var(--ng-outline-1px) var(--border-color);\n border-radius: var(--border-radius);\n min-width: 273px;\n max-width: 350px;\n overflow: hidden;\n box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-xs));\n }\n\n .body__wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-xl, var(--ng-spacing-xl)) var(--nile-spacing-none, var(--ng-spacing-none)) var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .body__wrapper_nf {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-xl, var(--ng-spacing-xl)) var(--nile-spacing-xl, var(--ng-spacing-xl)) var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n .card__header {\n display: block;\n }\n\n .card__body {\n display: block;\n }\n\n .card__footer {\n margin-top: var(--nile-spacing-lg, var(--ng-spacing-lg));\n display: block;\n box-sizing: border-box;\n align-content: center;\n align-items: center;\n padding: var(--nile-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n border-top: var(--nile-border-style-none, 1px solid var(--ng-colors-border-secondary));\n height: 40px;\n }\n\n \n.card:active {\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n} \n\n \n.card:active .card__footer {\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n}\n\n/* on a skipOn element, hover appearance - grey */\n.card--skip-active:active {\n background-color: var(--ng-colors-bg-primary-hover);\n box-shadow: var(--nile-box-shadow-7, var(--ng-shadow-sm));\n outline: solid 1px var(--border-color);\n}\n\n/* skipOn element */\n.card--skip-active:active .card__footer {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary-hover));\n box-shadow: var(--ng-shadow-sm);\n}\n\n/* On active card, the skipOn elements will show active card color(blue) on card body*/\n.card--active.card--skip-active:active {\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n outline: solid var(--nile-outline-0-5px) var(--border-color); \n}\n\n/* On active card, the skipOn elements will show active card color(blue) card footer*/\n.card--active.card--skip-active:active .card__footer {\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n}\n\n\n.card:not(.card--has-footer) .card__footer {\n display: none;\n }\n\n.card--active {\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n}\n\n.card--active .card__footer {\n background: var(--ng-colors-bg-brand-primary);\n box-shadow: var(--ng-shadow-xs);\n}\n\n \n.card:not(.card--active):not(:active):hover {\n box-shadow: var(--nile-box-shadow-7, var(--ng-shadow-sm));\n outline: solid 1px var(--border-color);\n background-color: var(--ng-colors-bg-primary-hover);\n}\n\n.card:not(.card--active):not(:active):hover .card__footer {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary-hover));\n box-shadow: var(--ng-shadow-sm);\n}\n\n \n.card--disabled {\n pointer-events: none;\n opacity: 0.5;\n}\n\n.card--disabled .card__footer {\n pointer-events: none;\n}\n\n\n.card--container {\n display: flex;\n flex-direction: column;\n justify-items: stretch;\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n outline: solid var(--nile-outline-0-5px, var(--ng-outline-0-5px)) var(--nile-card-color-border, var(--ng-colors-border-secondary));\n border: solid var(--nile-outline-1px, var(--ng-outline-1px)) var(--nile-card-color-border, var(--ng-colors-border-secondary));\n border-radius: var(--border-radius);\n min-width: 273px;\n max-width: 350px;\n overflow: hidden;\n box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-xs));\n}\n\n.container--hover {\n box-shadow: var(--nile-box-shadow-7, var(--ng-shadow-sm));\n outline: solid 1px var(--nile-card-color-border, var(--ng-colors-border-secondary));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary-hover));\n}\n\n.container--hover .card__footer {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary-hover));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-sm));\n}\n\n.container--disabled {\n pointer-events: none;\n opacity: 0.5;\n}\n\n.container--disabled .card__footer {\n pointer-events: none;\n}\n\n`;\n\nexport default [styles];\n"]}
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the BSD-3-Clause license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import { TemplateResult } from 'lit';
7
+ import { TemplateResult, PropertyValues } from 'lit';
8
8
  import NileElements from '../internal/nile-element';
9
9
  import { CSSResultGroup } from 'lit';
10
10
  /**
@@ -16,8 +16,24 @@ import { CSSResultGroup } from 'lit';
16
16
  export declare class NileCard extends NileElements {
17
17
  static styles: CSSResultGroup;
18
18
  private readonly hasSlotController;
19
+ private readonly _internals;
19
20
  active: boolean;
20
21
  disabled: boolean;
22
+ variant: 'default' | 'container';
23
+ skipOn: string;
24
+ /** Reactive states used by the `container` variant. */
25
+ private _hover;
26
+ private _active;
27
+ private _disabled;
28
+ /** Set the `hover` state on pointer enter (container variant only). */
29
+ private handlePointerEnter;
30
+ private handlePointerLeave;
31
+ private setCustomState;
32
+ private syncCustomStates;
33
+ updated(changedProperties: PropertyValues): void;
34
+ private get base();
35
+ private handlePointerDown;
36
+ private handlePointerEnd;
21
37
  render(): TemplateResult<1>;
22
38
  }
23
39
  export default NileCard;
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { __decorate } from "tslib";
8
8
  import { html, } from 'lit';
9
- import { customElement, property } from 'lit/decorators.js';
9
+ import { customElement, property, state } from 'lit/decorators.js';
10
10
  import { styles } from './nile-card.css';
11
11
  import { classMap } from 'lit/directives/class-map.js';
12
12
  import { HasSlotController } from '../internal/slot';
@@ -21,18 +21,91 @@ let NileCard = class NileCard extends NileElements {
21
21
  constructor() {
22
22
  super(...arguments);
23
23
  this.hasSlotController = new HasSlotController(this, 'footer');
24
+ this._internals = this.attachInternals();
24
25
  this.active = false;
25
26
  this.disabled = false;
27
+ this.variant = 'default';
28
+ this.skipOn = '';
29
+ /** Reactive states used by the `container` variant. */
30
+ this._hover = false;
31
+ this._active = false;
32
+ this._disabled = false;
33
+ /** Set the `hover` state on pointer enter (container variant only). */
34
+ this.handlePointerEnter = () => {
35
+ if (this.variant === 'container') {
36
+ this._hover = true;
37
+ }
38
+ };
39
+ this.handlePointerLeave = () => {
40
+ this._hover = false;
41
+ };
42
+ this.handlePointerDown = (event) => {
43
+ if (!this.skipOn)
44
+ return;
45
+ let skip = false;
46
+ try {
47
+ skip = event
48
+ .composedPath()
49
+ .some(node => node instanceof Element && node.matches(this.skipOn));
50
+ }
51
+ catch {
52
+ skip = false;
53
+ }
54
+ this.base?.classList.toggle('card--skip-active', skip);
55
+ };
56
+ this.handlePointerEnd = () => {
57
+ this.base?.classList.remove('card--skip-active');
58
+ };
59
+ }
60
+ setCustomState(name, on) {
61
+ if (on) {
62
+ this._internals.states.add(name);
63
+ }
64
+ else {
65
+ this._internals.states.delete(name);
66
+ }
67
+ }
68
+ syncCustomStates() {
69
+ this.setCustomState('hover', this._hover);
70
+ this.setCustomState('active', this._active);
71
+ this.setCustomState('disabled', this._disabled);
72
+ }
73
+ updated(changedProperties) {
74
+ super.updated(changedProperties);
75
+ if (changedProperties.has('variant') ||
76
+ changedProperties.has('active') ||
77
+ changedProperties.has('disabled')) {
78
+ const isContainer = this.variant === 'container';
79
+ this._active = isContainer && this.active;
80
+ this._disabled = isContainer && this.disabled;
81
+ if (!isContainer) {
82
+ this._hover = false;
83
+ }
84
+ }
85
+ this.syncCustomStates();
86
+ }
87
+ get base() {
88
+ return this.renderRoot?.querySelector('.card') ?? null;
26
89
  }
27
90
  render() {
28
91
  return html `
29
92
  <div
30
93
  part="base"
94
+ @mouseenter=${this.handlePointerEnter}
95
+ @mouseleave=${this.handlePointerLeave}
96
+ @pointerdown=${this.handlePointerDown}
97
+ @pointerup=${this.handlePointerEnd}
98
+ @pointerleave=${this.handlePointerEnd}
99
+ @pointercancel=${this.handlePointerEnd}
31
100
  class=${classMap({
32
- card: true,
101
+ card: this.variant !== 'container',
33
102
  'card--has-footer': this.hasSlotController.test('footer'),
34
- 'card--active': this.active,
35
- 'card--disabled': this.disabled,
103
+ 'card--active': this.variant !== 'container' && this.active,
104
+ 'card--disabled': this.variant !== 'container' && this.disabled,
105
+ 'card--container': this.variant === 'container',
106
+ 'container--hover': this._hover,
107
+ 'container--active': this._active,
108
+ 'container--disabled': this._disabled,
36
109
  })}
37
110
  >
38
111
  <div class="body__wrapper" part="body__wrapper"
@@ -62,6 +135,21 @@ __decorate([
62
135
  __decorate([
63
136
  property({ type: Boolean, reflect: true })
64
137
  ], NileCard.prototype, "disabled", void 0);
138
+ __decorate([
139
+ property({ type: String, reflect: true })
140
+ ], NileCard.prototype, "variant", void 0);
141
+ __decorate([
142
+ property({ type: String, attribute: true, reflect: true })
143
+ ], NileCard.prototype, "skipOn", void 0);
144
+ __decorate([
145
+ state()
146
+ ], NileCard.prototype, "_hover", void 0);
147
+ __decorate([
148
+ state()
149
+ ], NileCard.prototype, "_active", void 0);
150
+ __decorate([
151
+ state()
152
+ ], NileCard.prototype, "_disabled", void 0);
65
153
  NileCard = __decorate([
66
154
  customElement('nile-card')
67
155
  ], NileCard);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-card.js","sourceRoot":"","sources":["../../../src/nile-card/nile-card.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,GAGL,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAGpD;;;;;GAKG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,YAAY;IAAnC;;QAGY,sBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEhC,WAAM,GAAG,KAAK,CAAC;QACd,aAAQ,GAAG,KAAK,CAAC;IAgC/D,CAAC;IA9BC,MAAM;QACJ,OAAO,IAAI,CAAA;;;gBAGC,QAAQ,CAAC;YACf,IAAI,EAAE,IAAI;YACV,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzD,cAAc,EAAE,IAAI,CAAC,MAAM;YAC3B,gBAAgB,EAAE,IAAI,CAAC,QAAQ;SAChC,CAAC;;;gBAGM,QAAQ,CAAC;YACf,eAAe,EAAC,IAAI;YACpB,kBAAkB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3D,CAAC;;;;;;;;;qBASW,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;KAItD,CAAC;IACJ,CAAC;;AApCM,eAAM,GAAmB,MAAM,AAAzB,CAA0B;AAII;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAAe;AACd;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAAkB;AANlD,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAsCpB;;AAED,eAAe,QAAQ,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-card.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HasSlotController } from '../internal/slot';\nimport NileElements from '../internal/nile-element';\nimport { CSSResultGroup } from 'lit';\n\n/**\n * Nile icon component.\n *\n * @tag nile-card\n *\n */\n@customElement('nile-card')\nexport class NileCard extends NileElements {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'footer');\n\n @property({ type: Boolean, reflect: true })active = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n card: true,\n 'card--has-footer': this.hasSlotController.test('footer'),\n 'card--active': this.active,\n 'card--disabled': this.disabled,\n })}\n >\n <div class=\"body__wrapper\" part=\"body__wrapper\"\n class=${classMap({\n 'body__wrapper':true,\n 'body__wrapper_nf': !this.hasSlotController.test('footer')\n })}\n >\n <slot name=\"header\" part=\"header\" class=\"card__header\"></slot>\n <slot part=\"body\" class=\"card__body\"></slot>\n </div>\n\n <slot\n name=\"footer\"\n part=\"footer\"\n ?hidden=\"${!this.hasSlotController.test('footer')}\"\n class=\"card__footer\"\n ></slot>\n </div>\n `;\n }\n}\n\nexport default NileCard;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-card': NileCard;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-card.js","sourceRoot":"","sources":["../../../src/nile-card/nile-card.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { styles } from './nile-card.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HasSlotController } from '../internal/slot';\nimport NileElements from '../internal/nile-element';\nimport { CSSResultGroup } from 'lit';\n\n/**\n * Nile icon component.\n *\n * @tag nile-card\n *\n */\n@customElement('nile-card')\nexport class NileCard extends NileElements {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'footer');\n\n private readonly _internals: ElementInternals = this.attachInternals();\n\n @property({ type: Boolean, reflect: true })active = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: String, reflect: true }) variant: 'default' | 'container' = 'default';\n @property({ type: String, attribute: true, reflect: true }) skipOn = '';\n\n /** Reactive states used by the `container` variant. */\n @state() private _hover = false;\n @state() private _active = false;\n @state() private _disabled = false;\n\n /** Set the `hover` state on pointer enter (container variant only). */\n private handlePointerEnter = () => {\n if (this.variant === 'container') {\n this._hover = true;\n }\n };\n\n private handlePointerLeave = () => {\n this._hover = false;\n };\n\n private setCustomState(name: string, on: boolean) {\n if (on) {\n this._internals.states.add(name);\n } else {\n this._internals.states.delete(name);\n }\n }\n\n private syncCustomStates() {\n this.setCustomState('hover', this._hover);\n this.setCustomState('active', this._active);\n this.setCustomState('disabled', this._disabled);\n }\n\n updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (\n changedProperties.has('variant') ||\n changedProperties.has('active') ||\n changedProperties.has('disabled')\n ) {\n const isContainer = this.variant === 'container';\n this._active = isContainer && this.active;\n this._disabled = isContainer && this.disabled;\n if (!isContainer) {\n this._hover = false;\n }\n }\n this.syncCustomStates();\n }\n\n private get base(): HTMLElement | null {\n return this.renderRoot?.querySelector('.card') ?? null;\n }\n\n private handlePointerDown = (event: PointerEvent) => {\n if (!this.skipOn) return;\n let skip = false;\n try {\n skip = event\n .composedPath()\n .some(node => node instanceof Element && node.matches(this.skipOn));\n } catch {\n skip = false;\n }\n this.base?.classList.toggle('card--skip-active', skip);\n };\n\n private handlePointerEnd = () => {\n this.base?.classList.remove('card--skip-active');\n };\n\n render() {\n return html`\n <div\n part=\"base\"\n @mouseenter=${this.handlePointerEnter}\n @mouseleave=${this.handlePointerLeave}\n @pointerdown=${this.handlePointerDown}\n @pointerup=${this.handlePointerEnd}\n @pointerleave=${this.handlePointerEnd}\n @pointercancel=${this.handlePointerEnd}\n class=${classMap({\n card: this.variant !== 'container',\n 'card--has-footer': this.hasSlotController.test('footer'),\n 'card--active': this.variant !== 'container' && this.active,\n 'card--disabled': this.variant !== 'container' && this.disabled,\n 'card--container': this.variant === 'container',\n 'container--hover': this._hover,\n 'container--active': this._active,\n 'container--disabled': this._disabled,\n })}\n >\n <div class=\"body__wrapper\" part=\"body__wrapper\"\n class=${classMap({\n 'body__wrapper':true,\n 'body__wrapper_nf': !this.hasSlotController.test('footer')\n })}\n >\n <slot name=\"header\" part=\"header\" class=\"card__header\"></slot>\n <slot part=\"body\" class=\"card__body\"></slot>\n </div>\n\n <slot\n name=\"footer\"\n part=\"footer\"\n ?hidden=\"${!this.hasSlotController.test('footer')}\"\n class=\"card__footer\"\n ></slot>\n </div>\n `;\n }\n}\n\nexport default NileCard;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-card': NileCard;\n }\n}\n"]}