@shohojdhara/atomix 0.1.21 → 0.1.24

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 (115) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/NPM_PUBLISHING.md +221 -0
  3. package/README.md +50 -124
  4. package/css.d.ts +0 -0
  5. package/dist/css/atomix.css +1 -1
  6. package/dist/js/628.js +1 -0
  7. package/dist/js/atomix.react.cjs.js +1 -0
  8. package/dist/js/atomix.react.esm.js +1 -1
  9. package/dist/js/atomix.react.umd.js +1 -1
  10. package/dist/js/chunks/cjs/202.6e2b9e63a406ff01b151.js +1 -0
  11. package/dist/js/chunks/cjs/308.86b2e7ea63bf439e01b4.js +1 -0
  12. package/dist/js/chunks/cjs/54.54733c458fc7ced6d9ba.js +1 -0
  13. package/dist/js/chunks/cjs/619.8e6863cb2985a3a109af.js +1 -0
  14. package/dist/js/chunks/cjs/690.17522d562f7ebe2fa7b4.js +1 -0
  15. package/dist/js/chunks/cjs/894.6edddf7d4bf7ccb11e25.js +1 -0
  16. package/dist/js/chunks/cjs/897.74f4c88710fe45c1b9e3.js +1 -0
  17. package/dist/types/components/Breadcrumb/index.d.ts +2 -3
  18. package/dist/types/components/River/index.d.ts +1 -1
  19. package/dist/types/components/Tab/index.d.ts +2 -2
  20. package/dist/types/components/Toggle/index.d.ts +2 -2
  21. package/dist/types/components/Tooltip/index.d.ts +2 -3
  22. package/index.d.ts +3 -0
  23. package/package.json +38 -86
  24. package/src/components/Accordion/index.ts +0 -0
  25. package/src/components/AtomixLogo/index.ts +0 -0
  26. package/src/components/Button/index.ts +0 -0
  27. package/src/components/Navigation/Menu/Menu.stories.tsx +0 -0
  28. package/src/components/Navigation/Nav/Nav.stories.tsx +0 -0
  29. package/src/components/Navigation/README.md +0 -0
  30. package/src/components/Navigation/SideMenu/SideMenu.README.md +0 -0
  31. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +0 -0
  32. package/src/components/Navigation/SideMenu/SideMenu.tsx +0 -0
  33. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +0 -0
  34. package/src/components/Navigation/SideMenu/SideMenuList.tsx +0 -0
  35. package/src/components/Navigation/scripts/NavbarInteractions.ts +0 -0
  36. package/src/components/Navigation/scripts/SideMenu.ts +0 -0
  37. package/src/components/Navigation/scripts/SideMenuBundle.ts +0 -0
  38. package/src/components/Navigation/scripts/SideMenuInteractions.ts +0 -0
  39. package/src/components/Navigation/scripts/bundle.ts +0 -0
  40. package/src/components/Navigation/scripts/index.ts +0 -0
  41. package/src/components/PhotoViewer/README.md +0 -0
  42. package/src/components/index.ts +0 -0
  43. package/src/docs/atomix-component-guidelines.mdx +0 -0
  44. package/src/index.ts +10 -5
  45. package/src/layouts/index.ts +5 -0
  46. package/src/lib/README.md +0 -0
  47. package/src/lib/composables/useSideMenu.ts +0 -0
  48. package/src/lib/index.ts +6 -6
  49. package/src/styles/01-settings/_settings.animations.scss +7 -2
  50. package/src/styles/01-settings/_settings.box-shadow.scss +9 -5
  51. package/src/styles/01-settings/_settings.button.scss +5 -0
  52. package/src/styles/01-settings/_settings.card.scss +2 -1
  53. package/src/styles/01-settings/_settings.form.scss +3 -0
  54. package/src/styles/01-settings/_settings.navbar.scss +1 -0
  55. package/src/styles/01-settings/_settings.typography.scss +2 -2
  56. package/src/styles/01-settings/_settings.z-layers.scss +19 -1
  57. package/src/styles/css-modules.d.ts +308 -0
  58. package/CONTRIBUTING.md +0 -151
  59. package/NEXTJS_INTEGRATION.md +0 -389
  60. package/babel.config.js +0 -58
  61. package/dist/types/layouts/Grid/Container.d.ts +0 -38
  62. package/dist/types/layouts/Grid/Grid.d.ts +0 -37
  63. package/dist/types/layouts/Grid/GridCol.d.ts +0 -64
  64. package/dist/types/layouts/Grid/Row.d.ts +0 -38
  65. package/dist/types/layouts/Grid/index.d.ts +0 -8
  66. package/dist/types/layouts/MasonryGrid/MasonryGrid.d.ts +0 -71
  67. package/dist/types/layouts/MasonryGrid/MasonryGridItem.d.ts +0 -24
  68. package/dist/types/layouts/MasonryGrid/index.d.ts +0 -4
  69. package/dist/types/layouts/index.d.ts +0 -2
  70. package/dist/types/lib/composables/index.d.ts +0 -30
  71. package/dist/types/lib/composables/useAccordion.d.ts +0 -30
  72. package/dist/types/lib/composables/useBadge.d.ts +0 -10
  73. package/dist/types/lib/composables/useBreadcrumb.d.ts +0 -13
  74. package/dist/types/lib/composables/useButton.d.ts +0 -11
  75. package/dist/types/lib/composables/useCallout.d.ts +0 -11
  76. package/dist/types/lib/composables/useCard.d.ts +0 -8
  77. package/dist/types/lib/composables/useCheckbox.d.ts +0 -11
  78. package/dist/types/lib/composables/useDataTable.d.ts +0 -66
  79. package/dist/types/lib/composables/useDatePicker.d.ts +0 -91
  80. package/dist/types/lib/composables/useDropdown.d.ts +0 -26
  81. package/dist/types/lib/composables/useEdgePanel.d.ts +0 -15
  82. package/dist/types/lib/composables/useForm.d.ts +0 -12
  83. package/dist/types/lib/composables/useFormGroup.d.ts +0 -10
  84. package/dist/types/lib/composables/useHero.d.ts +0 -53
  85. package/dist/types/lib/composables/useInput.d.ts +0 -12
  86. package/dist/types/lib/composables/useMessages.d.ts +0 -38
  87. package/dist/types/lib/composables/useModal.d.ts +0 -40
  88. package/dist/types/lib/composables/useNavbar.d.ts +0 -59
  89. package/dist/types/lib/composables/usePagination.d.ts +0 -13
  90. package/dist/types/lib/composables/usePhotoViewer.d.ts +0 -57
  91. package/dist/types/lib/composables/usePopover.d.ts +0 -30
  92. package/dist/types/lib/composables/useProgress.d.ts +0 -38
  93. package/dist/types/lib/composables/useRadio.d.ts +0 -10
  94. package/dist/types/lib/composables/useRating.d.ts +0 -52
  95. package/dist/types/lib/composables/useRiver.d.ts +0 -107
  96. package/dist/types/lib/composables/useSelect.d.ts +0 -10
  97. package/dist/types/lib/composables/useSideMenu.d.ts +0 -28
  98. package/dist/types/lib/composables/useSpinner.d.ts +0 -10
  99. package/dist/types/lib/composables/useTextarea.d.ts +0 -10
  100. package/dist/types/lib/composables/useTodo.d.ts +0 -18
  101. package/dist/types/lib/constants/components.d.ts +0 -993
  102. package/dist/types/lib/constants/index.d.ts +0 -1
  103. package/dist/types/lib/index.d.ts +0 -6
  104. package/dist/types/lib/types/components.d.ts +0 -2050
  105. package/dist/types/lib/types/index.d.ts +0 -1
  106. package/dist/types/lib/utils/dom.d.ts +0 -26
  107. package/dist/types/lib/utils/icons.d.ts +0 -20
  108. package/dist/types/lib/utils/index.d.ts +0 -3
  109. package/dist/types/lib/utils/useForkRef.d.ts +0 -10
  110. package/examples/nextjs-example.tsx +0 -271
  111. package/implementation-guide.md +0 -505
  112. package/next.config.js +0 -90
  113. package/postcss.config.js +0 -28
  114. package/tsconfig.json +0 -74
  115. package/webpack.config.js +0 -473
@@ -0,0 +1 @@
1
+ "use strict";exports.id=202,exports.ids=[202],exports.modules={6202:function(t,e,i){i.r(e),i.d(e,{initializeSteps:function(){return l}});var s=i(188);const n={activeIndex:0,vertical:!1};class c{selector;$element;options;$items;activeIndex;constructor(t,e={}){this.selector=t||s.UT.SELECTORS.STEPS,this.$element="string"==typeof t?document.querySelector(t):t,this.options={...n,...e},this.$items=null,this.activeIndex=this.options.activeIndex||0,this._initialize()}_initialize(){this.$element&&(this._initializeElements(),this.options.vertical&&!this.$element.classList.contains(s.UT.CLASSES.VERTICAL)&&this.$element.classList.add(s.UT.CLASSES.VERTICAL),this.setActive(this.activeIndex))}_initializeElements(){this.$element&&(this.$items=this.$element.querySelectorAll(s.UT.SELECTORS.ITEM))}setActive(t){this.$items&&t>=0&&this.$items.length>t&&(this.$items.forEach(((e,i)=>{t>i?(e.classList.add(s.UT.CLASSES.ACTIVE),e.classList.add(s.UT.CLASSES.COMPLETED)):i===t?(e.classList.add(s.UT.CLASSES.ACTIVE),e.classList.remove(s.UT.CLASSES.COMPLETED)):(e.classList.remove(s.UT.CLASSES.ACTIVE),e.classList.remove(s.UT.CLASSES.COMPLETED))})),this.activeIndex=t)}next(){(this.$items?.length||0)-1>this.activeIndex&&this.setActive(this.activeIndex+1)}previous(){this.activeIndex>0&&this.setActive(this.activeIndex-1)}destroy(){}}function l(t=s.UT.SELECTORS.STEPS,e={}){const i=[],n=document.querySelectorAll(t);return n.length?(n.forEach((t=>{try{const s=new c(t,e);i.push(s)}catch(s){}})),i):i}e.default=c}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=308,exports.ids=[308],exports.modules={3308:function(e,t,s){s.r(t),s.d(t,{initializeUploads:function(){return o}});var i=s(188);const n={disabled:!1,maxSizeInMB:5,acceptedFileTypes:["application/pdf","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","image/jpeg","image/png"],multiple:!1};class l{selector;$element;$input;$button;$loader;$loaderTitle;$loaderProgress;$loaderClose;options;currentFile;dragCounter;constructor(e,t={}){this.selector=e||i.oH.SELECTORS.UPLOAD,this.$element="string"==typeof e?document.querySelector(e):e,this.options={...n,...t},this.$input=null,this.$button=null,this.$loader=null,this.$loaderTitle=null,this.$loaderProgress=null,this.$loaderClose=null,this.currentFile=null,this.dragCounter=0,this._initialize()}_initialize(){this.$element&&(this._createHiddenInput(),this.$button=this.$element.querySelector(i.oH.SELECTORS.BUTTON),this.$loader=this.$element.querySelector(i.oH.SELECTORS.LOADER),this.$loaderTitle=this.$element?.querySelector(i.oH.SELECTORS.LOADER_TITLE),this.$loaderProgress=this.$element?.querySelector(i.oH.SELECTORS.LOADER_PROGRESS),this.$loaderClose=this.$element?.querySelector(i.oH.SELECTORS.LOADER_CLOSE),this.options.disabled&&this.disable(),this._setupEventListeners())}_createHiddenInput(){if(!this.$element)return;const e=document.createElement("input");e.type="file",e.style.display="none",e.accept=this.options.acceptedFileTypes?.join(",")||"",e.multiple=!!this.options.multiple,this.$element.appendChild(e),this.$input=e}_setupEventListeners(){this.$element&&this.$input&&this.$button&&(this.$button.addEventListener("click",this._handleButtonClick.bind(this)),this.$input.addEventListener("change",this._handleFileSelect.bind(this)),this.$element.addEventListener("dragenter",this._handleDragEnter.bind(this)),this.$element.addEventListener("dragleave",this._handleDragLeave.bind(this)),this.$element.addEventListener("dragover",this._handleDragOver.bind(this)),this.$element.addEventListener("drop",this._handleDrop.bind(this)),this.$loaderClose&&this.$loaderClose.addEventListener("click",this._handleClose.bind(this)))}_handleButtonClick(e){e.preventDefault(),this.$input&&!this.options.disabled&&this.$input.click()}_handleFileSelect(e){if(!this.$input?.files?.length)return;const t=Array.from(this.$input.files);this._processFiles(t)}_handleDragEnter(e){e.preventDefault(),this.options.disabled||(this.dragCounter++,1===this.dragCounter&&this.$element?.classList.add(i.oH.CLASSES.DRAGGING))}_handleDragLeave(e){e.preventDefault(),this.options.disabled||(this.dragCounter--,0===this.dragCounter&&this.$element?.classList.remove(i.oH.CLASSES.DRAGGING))}_handleDragOver(e){e.preventDefault()}_handleDrop(e){if(e.preventDefault(),this.options.disabled)return;if(this.dragCounter=0,this.$element?.classList.remove(i.oH.CLASSES.DRAGGING),!e.dataTransfer?.files.length)return;const t=Array.from(e.dataTransfer.files);this._processFiles(t)}_handleClose(e){e.preventDefault(),this.setStatus("idle"),this.setFile(null),this.$input&&(this.$input.value="")}_processFiles(e){if(!e.length)return;const t=(this.options.multiple?e:[e[0]]).filter((e=>this._validateFile(e)));t.length&&this.options.onFileSelect&&this.options.onFileSelect(t),t.length&&(this.setFile(t[0]),this._simulateUpload(t[0]))}_validateFile(e){return e.size>1024*(this.options.maxSizeInMB||5)*1024?(this.setStatus("error",`File too large. Maximum size is ${this.options.maxSizeInMB}MB.`),!1):!(this.options.acceptedFileTypes?.length&&!this.options.acceptedFileTypes.some((t=>{if(t.endsWith("/*")){const s=t.split("/")[0];return e.type.startsWith(s+"/")}return e.type===t})))||(this.setStatus("error","File type not supported."),!1)}_simulateUpload(e){this.setStatus("loading");let t=0;const s=setInterval((()=>{t+=5,100>t?(this.setProgress(t,Math.ceil((100-t)/5)+" seconds left"),this.options.onFileUpload&&this.options.onFileUpload(e,t)):(clearInterval(s),this.setStatus("success","Upload successful"),this.options.onFileUploadComplete&&this.options.onFileUploadComplete(e))}),500)}setFile(e){this.currentFile=e,e&&this.$loaderTitle&&(this.$loaderTitle.textContent=e.name)}setProgress(e,t){if(!this.$element||!this.$loaderProgress)return;this.$element.style.setProperty(i.oH.ATTRIBUTES.PERCENTAGE,""+e);const s=this.$element.querySelector(i.oH.SELECTORS.LOADER_PAR),n=this.$element.querySelector(i.oH.SELECTORS.LOADER_TIME);s&&(s.textContent=e+"%"),n&&t&&(n.textContent=t)}setStatus(e,t){if(this.$element){switch(this.$element.classList.remove(i.oH.CLASSES.LOADING,i.oH.CLASSES.SUCCESS,i.oH.CLASSES.ERROR),e){case"loading":this.$element.classList.add(i.oH.CLASSES.LOADING);break;case"success":this.$element.classList.add(i.oH.CLASSES.SUCCESS);break;case"error":this.$element.classList.add(i.oH.CLASSES.ERROR)}t&&this.$loaderProgress&&(this.$loaderProgress.textContent=t)}}disable(){this.$element&&this.$button&&(this.$element.classList.add(i.oH.CLASSES.DISABLED),this.$button.disabled=!0,this.options.disabled=!0)}enable(){this.$element&&this.$button&&(this.$element.classList.remove(i.oH.CLASSES.DISABLED),this.$button.disabled=!1,this.options.disabled=!1)}destroy(){this.$element&&this.$input&&this.$button&&(this.$button.removeEventListener("click",this._handleButtonClick.bind(this)),this.$input.removeEventListener("change",this._handleFileSelect.bind(this)),this.$element.removeEventListener("dragenter",this._handleDragEnter.bind(this)),this.$element.removeEventListener("dragleave",this._handleDragLeave.bind(this)),this.$element.removeEventListener("dragover",this._handleDragOver.bind(this)),this.$element.removeEventListener("drop",this._handleDrop.bind(this)),this.$loaderClose&&this.$loaderClose.removeEventListener("click",this._handleClose.bind(this)),this.$input.parentNode&&this.$input.parentNode.removeChild(this.$input))}}function o(e=i.oH.SELECTORS.UPLOAD,t={}){const s=[],n=document.querySelectorAll("string"==typeof e?e:i.oH.SELECTORS.UPLOAD);return n.length?(n.forEach((e=>{try{const i=new l(e,t);s.push(i)}catch(i){}})),s):s}t.default=l}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=54,exports.ids=[54],exports.modules={5054:function(t,s,e){e.r(s),e.d(s,{initializeTabs:function(){return l}});var i=e(188);const n={navItems:i.wn.SELECTORS.NAV_ITEMS,navBtn:i.wn.SELECTORS.NAV_BTN,panels:i.wn.SELECTORS.PANELS,panelBodys:i.wn.SELECTORS.PANEL_BODIES,activeClass:i.wn.CLASSES.ACTIVE,activeIndex:i.wn.DEFAULTS.ACTIVE_INDEX};class a{selector;$element;options;$navItems;$panels;$panelBodys;constructor(t,s={}){this.selector=t||i.wn.SELECTORS.TAB,this.$element="string"==typeof t?document.querySelector(t):t,this.options={...n,...s},this.$navItems=null,this.$panels=null,this.$panelBodys=null,this._initialize()}_initialize(){this.$element&&(this._initializeElements(),this._showTab(this.options.activeIndex),this._bindEvents())}_initializeElements(){this.$element&&(this.$navItems=this.$element.querySelectorAll(this.options.navItems),this.$panels=this.$element.querySelectorAll(this.options.panels),this.$panelBodys=this.$element.querySelectorAll(this.options.panelBodys))}_bindEvents(){this.$navItems&&this.$navItems.forEach((t=>{const s=t.querySelector(this.options.navBtn);s&&s.addEventListener("click",(()=>this._handleTabClick(s)))}))}_handleTabClick(t){const s=t.dataset.tabindex;void 0!==s&&(this._hideAllTabs(),this._showTab(s))}_hideAllTabs(){this.$panels&&this.$navItems&&(this.$panels.forEach((t=>{t.style.height="0px",t.classList.remove(this.options.activeClass),t.style.opacity="0"})),this.$navItems.forEach((t=>{const s=t.querySelector(this.options.navBtn);s&&s.classList.remove(this.options.activeClass)})))}_showTab(t){this.$panels&&this.$navItems&&this.$panelBodys&&(this.$panels.forEach(((s,e)=>{if(s.dataset.tabindex==""+t){const t=this.$panelBodys?.[e];t&&(s.classList.add(this.options.activeClass),requestAnimationFrame((()=>{s.style.height=t.clientHeight+"px",s.style.opacity="1"})))}})),this.$navItems.forEach(((s,e)=>{const i=s.querySelector(this.options.navBtn);i&&i.dataset.tabindex==""+t&&i.classList.add(this.options.activeClass)})))}destroy(){this.$element&&this.$navItems&&this.$navItems.forEach((t=>{const s=t.querySelector(this.options.navBtn);s&&s.removeEventListener("click",(()=>this._handleTabClick(s)))}))}}function l(t=i.wn.SELECTORS.TAB,s={}){const e=[],n=document.querySelectorAll(t);return n.length?(n.forEach((t=>{try{const i=new a(t,s);e.push(i)}catch(i){}})),e):e}s.default=a}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=619,exports.ids=[619],exports.modules={5619:function(e,t,s){s.r(t),s.d(t,{initializeRivers:function(){return r}});var n=s(188);const i={center:!1,breakout:!1,reverse:!1,showOverlay:!0};class o{$element;options;constructor(e,t={}){this.$element=e,this.options={...i,...t},this.init()}init(){this.options.contentWidth&&this.$element.style.setProperty(n.zN.ATTRIBUTES.CONTENT_WIDTH,this.options.contentWidth),this.options.backgroundImageSrc&&this.setupBackgroundImage()}setupBackgroundImage(){if(!this.$element||!this.options.backgroundImageSrc)return;let e=this.$element.querySelector(n.zN.SELECTORS.BG);if(!e){e=document.createElement("div"),e.className=n.zN.SELECTORS.BG.replace(".","");const t=document.createElement("img");if(t.src=this.options.backgroundImageSrc,t.alt="Background",t.className=n.zN.SELECTORS.BG_IMAGE.replace(".",""),e.appendChild(t),this.options.showOverlay){const t=document.createElement("div");t.className=n.zN.SELECTORS.OVERLAY.replace(".",""),e.appendChild(t)}this.$element.firstChild?this.$element.insertBefore(e,this.$element.firstChild):this.$element.appendChild(e)}}destroy(){}}function r(e=n.zN.SELECTORS.RIVER,t={}){const s=[],i=document.querySelectorAll("string"==typeof e?e:n.zN.SELECTORS.RIVER);return i.length?(i.forEach((e=>{try{const n=new o(e,t);s.push(n)}catch(n){}})),s):s}t.default=o}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=690,exports.ids=[690],exports.modules={3690:function(e,t,s){s.r(t),s.d(t,{initializeSectionIntros:function(){return c}});var i=s(188);const n={alignment:"left",showOverlay:!1,size:"md",skeleton:!1};class o{selector;$element;options;constructor(e,t={}){this.selector=e||i.DJ.SELECTORS.SECTION_INTRO,this.$element="string"==typeof e?document.querySelector(e):e,this.options={...n,...t},this._initialize()}_initialize(){if(this.$element&&("center"!==this.options.alignment||this.$element.classList.contains(i.DJ.CLASSES.CENTER)||this.$element.classList.add(i.DJ.CLASSES.CENTER),"sm"!==this.options.size||this.$element.classList.contains(i.DJ.CLASSES.SMALL)?"lg"!==this.options.size||this.$element.classList.contains(i.DJ.CLASSES.LARGE)||this.$element.classList.add(i.DJ.CLASSES.LARGE):this.$element.classList.add(i.DJ.CLASSES.SMALL),this.options.backgroundImageSrc)){let e=this.$element.querySelector(".c-sectionintro__bg");if(!e){e=document.createElement("div"),e.className="c-sectionintro__bg";const t=document.createElement("img");if(t.className="c-sectionintro__bg-image",t.src=this.options.backgroundImageSrc,t.alt="Background",e.appendChild(t),this.options.showOverlay){const t=document.createElement("div");t.className="c-sectionintro__overlay",e.appendChild(t)}this.$element.insertBefore(e,this.$element.firstChild)}}}destroy(){if(this.$element&&(this.$element.classList.remove(i.DJ.CLASSES.CENTER),this.$element.classList.remove(i.DJ.CLASSES.SMALL),this.$element.classList.remove(i.DJ.CLASSES.LARGE),this.options.backgroundImageSrc)){const e=this.$element.querySelector(".c-sectionintro__bg");e&&this.$element.removeChild(e)}}}function c(e=i.DJ.SELECTORS.SECTION_INTRO,t={}){const s=[],n=document.querySelectorAll("string"==typeof e?e:i.DJ.SELECTORS.SECTION_INTRO);return n.length?(n.forEach((e=>{try{const i=new o(e,t);s.push(i)}catch(i){}})),s):s}t.default=o}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=894,exports.ids=[894],exports.modules={3894:function(t,s,e){e.r(s),e.d(s,{initializeTestimonials:function(){return r}});var i=e(188);const n={size:"",skeleton:!1};class o{selector;$element;options;constructor(t,s={}){this.selector=t||i.sr.SELECTORS.TESTIMONIAL,this.$element="string"==typeof t?document.querySelector(t):t,this.options={...n,...s},this._initialize()}_initialize(){this.$element&&("sm"!==this.options.size||this.$element.classList.contains(i.sr.CLASSES.SMALL)?"lg"!==this.options.size||this.$element.classList.contains(i.sr.CLASSES.LARGE)||this.$element.classList.add(i.sr.CLASSES.LARGE):this.$element.classList.add(i.sr.CLASSES.SMALL))}destroy(){}}function r(t=i.sr.SELECTORS.TESTIMONIAL,s={}){const e=[],n=document.querySelectorAll("string"==typeof t?t:i.sr.SELECTORS.TESTIMONIAL);return n.length?(n.forEach((t=>{try{const i=new o(t,s);e.push(i)}catch(i){}})),e):e}s.default=o}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=897,exports.ids=[897],exports.modules={897:function(t,e,s){s.r(e),s.d(e,{initializeToggles:function(){return l}});var n=s(188);class i{element;isOn;constructor(t){this.element=t,this.isOn=!1,this._initialize()}_initialize(){this._bindEvents(),this.element.classList.contains(n.DR.CLASSES.IS_ON)&&(this.isOn=!0)}_bindEvents(){this.element.addEventListener("click",this._handleToggle.bind(this))}_handleToggle(){this.isOn?this.turnOff():this.turnOn()}turnOn(){this.element.classList.add(n.DR.CLASSES.IS_ON),this.isOn=!0,this.element.dispatchEvent(new CustomEvent("toggle:on",{bubbles:!0}))}turnOff(){this.element.classList.remove(n.DR.CLASSES.IS_ON),this.isOn=!1,this.element.dispatchEvent(new CustomEvent("toggle:off",{bubbles:!0}))}destroy(){this.element.removeEventListener("click",this._handleToggle)}}function l(){const t=[],e=document.querySelectorAll(n.DR.SELECTORS.TOGGLE);return e.length?(e.forEach((e=>{try{const s=new i(e);t.push(s)}catch(s){}})),t):t}e.default=i}};
@@ -1,3 +1,2 @@
1
- export { Breadcrumb } from './Breadcrumb';
2
- export { default } from './Breadcrumb';
3
- export type { BreadcrumbProps, BreadcrumbItem } from './Breadcrumb';
1
+ export { default, Breadcrumb } from './Breadcrumb';
2
+ export type { BreadcrumbProps } from './Breadcrumb';
@@ -1,2 +1,2 @@
1
- export { River } from './River';
1
+ export { default, River } from './River';
2
2
  export type { RiverProps } from './River';
@@ -1,2 +1,2 @@
1
- export { Tab } from './Tab';
2
- export type { TabProps, TabItemProps } from './Tab';
1
+ export { default, Tab } from './Tab';
2
+ export type { TabProps } = './Tab';
@@ -1,2 +1,2 @@
1
- export { Toggle } from './Toggle';
2
- export type { ToggleProps } from './Toggle';
1
+ export { default, Toggle } from './Toggle';
2
+ export type { ToggleProps } = './Toggle';
@@ -1,3 +1,2 @@
1
- export { Tooltip } from './Tooltip';
2
- export type { TooltipProps } from './Tooltip';
3
- export { default } from './Tooltip';
1
+ export { default, Tooltip } from './Tooltip';
2
+ export type { TooltipProps } = './Tooltip';
package/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ // Main type definitions for @shohojdhara/atomix
2
+ export * from './dist/types/index';
3
+ export { default } from './dist/types/index';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shohojdhara/atomix",
3
- "version": "0.1.21",
4
- "description": "Atomix Design System - A modern component library for Web, React and Next.js applications with SSR support",
3
+ "version": "0.1.24",
4
+ "description": "Atomix Design System - A modern component library for web applications",
5
5
  "main": "dist/js/atomix.react.cjs.js",
6
6
  "module": "dist/js/atomix.react.esm.js",
7
7
  "unpkg": "dist/js/atomix.react.umd.js",
@@ -30,12 +30,7 @@
30
30
  "default": "./dist/css/atomix.min.css"
31
31
  },
32
32
  "./scss": "./src/styles/index.scss",
33
- "./next": {
34
- "types": "./dist/types/index.d.ts",
35
- "import": "./dist/js/atomix.react.esm.js",
36
- "require": "./dist/js/atomix.react.cjs.js",
37
- "default": "./dist/js/atomix.react.esm.js"
38
- }
33
+ "./dist/types/*": "./dist/types/*"
39
34
  },
40
35
  "typesVersions": {
41
36
  "*": {
@@ -47,10 +42,7 @@
47
42
  "dependencies": {
48
43
  "@babel/runtime-corejs3": "^7.27.6",
49
44
  "classnames": "^2.5.1",
50
- "phosphor-react": "^1.4.1",
51
- "prism-react-renderer": "^2.4.1",
52
- "react-router-dom": "^6.22.3",
53
- "uuid": "^9.0.1"
45
+ "phosphor-react": "^1.4.1"
54
46
  },
55
47
  "devDependencies": {
56
48
  "@babel/core": "^7.26.10",
@@ -58,7 +50,6 @@
58
50
  "@babel/preset-env": "^7.26.9",
59
51
  "@babel/preset-react": "^7.26.3",
60
52
  "@babel/preset-typescript": "^7.27.0",
61
- "@release-it/conventional-changelog": "10.0.1",
62
53
  "@size-limit/preset-app": "^11.0.0",
63
54
  "@storybook/addon-essentials": "^8.0.0",
64
55
  "@storybook/addon-interactions": "^8.0.0",
@@ -72,7 +63,6 @@
72
63
  "@types/node": "^20.0.0",
73
64
  "@types/react": "^18.2.0",
74
65
  "@types/react-dom": "^18.2.0",
75
- "@types/react-router-dom": "^5.3.3",
76
66
  "@typescript-eslint/eslint-plugin": "^8.34.0",
77
67
  "@typescript-eslint/parser": "^8.34.0",
78
68
  "autoprefixer": "^10.4.21",
@@ -94,14 +84,12 @@
94
84
  "html-webpack-plugin": "^5.6.3",
95
85
  "mini-css-extract-plugin": "^2.9.2",
96
86
  "npm-run-all": "^4.1.5",
97
- "polished": "^4.2.2",
98
87
  "postcss": "^8.4.24",
99
88
  "postcss-flexbugs-fixes": "^5.0.2",
100
89
  "postcss-import": "^16.1.0",
101
90
  "postcss-loader": "^8.1.1",
102
91
  "postcss-preset-env": "^10.2.3",
103
92
  "prettier": "^3.5.3",
104
- "release-it": "19.0.3",
105
93
  "rimraf": "^5.0.5",
106
94
  "sass-embedded": "^1.87.0",
107
95
  "sass-loader": "^16.0.5",
@@ -117,119 +105,83 @@
117
105
  "webpack-dev-server": "^5.2.1",
118
106
  "webpack-node-externals": "^3.0.0"
119
107
  },
120
- "peerDependencies": {
121
- "react": "^18.0.0",
122
- "react-dom": "^18.0.0"
123
- },
124
108
  "scripts": {
125
- "dev": "npm run storybook",
126
- "storybook": "storybook dev -p 6006",
127
- "build-storybook": "storybook build",
128
- "predeploy": "npm run build-storybook && node scripts/prepare-deploy.js",
129
- "deploy": "gh-pages -d deploy",
130
- "build": "npm run build:all",
131
- "build:all": "npm-run-all clean:dist build:styles build:react build:types",
109
+ "dev": "storybook dev -p 6006",
110
+ "build": "npm-run-all clean:dist build:styles build:react build:types",
132
111
  "build:react": "webpack --mode production --env target=components --env format=all",
133
112
  "build:styles": "webpack --mode production --env target=styles",
134
113
  "build:types": "npm run clean:types && tsc --emitDeclarationOnly --declaration --declarationDir dist/types && node scripts/fix-types.js",
135
114
  "build:cjs": "webpack --mode production --env target=components --env format=cjs",
136
115
  "build:esm": "webpack --mode production --env target=components --env format=esm",
137
116
  "build:umd": "webpack --mode production --env target=components --env format=umd",
138
- "clean": "npm run clean:all",
139
117
  "clean:dist": "rimraf dist",
140
118
  "clean:types": "rimraf dist/types",
141
119
  "clean:all": "npm-run-all clean:dist clean:types",
142
- "test": "npm run test:types && npm run test:lint && npm run test:format",
143
- "test:types": "tsc --noEmit",
144
- "test:lint": "eslint --ext .js,.jsx,.ts,.tsx src/",
145
- "test:format": "prettier --check 'src/**/*.{js,jsx,ts,tsx,json,css,scss}'",
146
- "test:size": "size-limit",
120
+ "storybook": "storybook dev -p 6006",
121
+ "build-storybook": "storybook build",
122
+ "predeploy": "npm run build-storybook && node scripts/prepare-deploy.js",
123
+ "deploy": "gh-pages -d deploy",
124
+ "analyze:bundle": "webpack --mode production --env target=components --env format=all --env analyze=true",
125
+ "analyze:size": "size-limit",
126
+ "analyze": "npm-run-all analyze:bundle analyze:size",
147
127
  "lint": "eslint --ext .js,.jsx,.ts,.tsx src/",
148
128
  "lint:fix": "eslint --ext .js,.jsx,.ts,.tsx src/ --fix",
149
129
  "format": "prettier --write 'src/**/*.{js,jsx,ts,tsx,json,css,scss}'",
150
130
  "format:check": "prettier --check 'src/**/*.{js,jsx,ts,tsx,json,css,scss}'",
151
131
  "typecheck": "tsc --noEmit",
152
- "analyze:bundle": "webpack --mode production --env target=components --env format=all --env analyze=true",
153
- "analyze:size": "size-limit",
154
- "analyze:all": "npm-run-all analyze:bundle analyze:size",
132
+ "test": "echo \"No tests specified\" && exit 0",
133
+ "prepublishOnly": "npm run build",
134
+ "prepack": "npm run build",
135
+ "test:publish": "npm pack --dry-run",
136
+ "publish:rc": "npm publish --tag next",
137
+ "publish:latest": "npm publish",
155
138
  "version:patch": "npm version patch",
156
139
  "version:minor": "npm version minor",
157
140
  "version:major": "npm version major",
158
- "prepack": "npm run build && npm run test",
159
- "prepublishOnly": "npm run prepack",
160
- "postpublish": "echo 'Package published successfully! 🎉'",
161
- "release:patch": "npm run version:patch && npm publish",
162
- "release:minor": "npm run version:minor && npm publish",
163
- "release:major": "npm run version:major && npm publish",
164
- "release:beta": "npm version prerelease --preid=beta && npm publish --tag beta",
165
- "release:alpha": "npm version prerelease --preid=alpha && npm publish --tag alpha",
166
- "release:rc": "npm version prerelease --preid=rc && npm publish --tag next",
167
- "pack:test": "npm pack --dry-run",
168
- "pack:local": "npm pack",
169
- "link:local": "npm link && echo 'Package linked locally. Use npm link @shohojdhara/atomix in your project to test it.'",
170
- "unlink:local": "npm unlink"
141
+ "release:patch": "node scripts/release.js patch",
142
+ "release:minor": "node scripts/release.js minor",
143
+ "release:major": "node scripts/release.js major"
171
144
  },
172
145
  "files": [
173
- "dist",
174
146
  "src",
147
+ "dist",
148
+ "index.d.ts",
149
+ "css.d.ts",
175
150
  "README.md",
176
151
  "LICENSE",
177
152
  "CHANGELOG.md",
178
- "CONTRIBUTING.md",
179
- "NEXTJS_INTEGRATION.md",
180
- "next.config.js",
181
- "css.d.ts",
182
- "examples",
183
- "implementation-guide.md",
184
- "tsconfig.json",
185
- "babel.config.js",
186
- "postcss.config.js",
187
- "webpack.config.js"
153
+ "NPM_PUBLISHING.md"
188
154
  ],
189
155
  "keywords": [
190
156
  "ui",
191
157
  "components",
192
158
  "design-system",
193
159
  "react",
194
- "nextjs",
195
- "next.js",
160
+ "javascript",
196
161
  "typescript",
197
162
  "css",
198
- "scss",
199
- "ui-library",
200
- "component-library",
201
- "design-tokens",
202
- "accessibility",
203
- "responsive",
204
- "modern",
205
- "frontend",
206
- "ssr",
207
- "server-side-rendering"
163
+ "scss"
208
164
  ],
209
165
  "repository": {
210
166
  "type": "git",
211
167
  "url": "https://github.com/liimonx/atomix.git"
212
168
  },
213
- "author": {
214
- "name": "liimonx",
215
- "email": "liimonx@shohojdhara.org",
216
- "url": "https://github.com/liimonx"
217
- },
218
- "license": "MIT",
169
+ "author": "liimonx <liimonx@shohojdhara.org>",
170
+ "license": "Apache-2.0",
219
171
  "bugs": {
220
172
  "url": "https://github.com/liimonx/atomix/issues"
221
173
  },
222
- "homepage": "https://liimonx.github.io/atomix",
174
+ "homepage": "https://github.com/liimonx/atomix#readme",
175
+ "peerDependencies": {
176
+ "react": "^18.0.0",
177
+ "react-dom": "^18.0.0"
178
+ },
223
179
  "engines": {
224
- "node": ">=16.0.0",
225
- "npm": ">=8.0.0"
180
+ "node": ">=16.0.0"
226
181
  },
227
182
  "publishConfig": {
228
183
  "access": "public",
229
- "registry": "https://registry.npmjs.org/"
230
- },
231
- "funding": {
232
- "type": "github",
233
- "url": "https://github.com/sponsors/liimonx"
184
+ "registry": "https://registry.npmjs.org/",
185
+ "scope": "@shohojdhara"
234
186
  }
235
187
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/src/index.ts CHANGED
@@ -8,13 +8,18 @@ export * from './lib';
8
8
  export * from './layouts';
9
9
 
10
10
  // Create a properly typed default export
11
+ import * as components from './components';
12
+ import { composables, utils, constants, types } from './lib';
13
+ import * as layouts from './layouts';
14
+
11
15
  const atomix = {
12
16
  // Re-export all components and utilities
13
- ...require('./components'),
14
- composables: require('./lib').composables,
15
- utils: require('./lib').utils,
16
- constants: require('./lib').constants,
17
- layouts: require('./layouts'),
17
+ ...components,
18
+ composables,
19
+ utils,
20
+ constants,
21
+ types,
22
+ layouts,
18
23
  };
19
24
 
20
25
  // Default export
@@ -1,3 +1,8 @@
1
+ // Export all layout components individually for better tree-shaking
2
+ export * from './Grid';
3
+ export * from './MasonryGrid';
4
+
5
+ // Also provide a default export for convenience
1
6
  import * as Grid from './Grid';
2
7
  import * as MasonryGrid from './MasonryGrid';
3
8
 
package/src/lib/README.md CHANGED
File without changes
File without changes
package/src/lib/index.ts CHANGED
@@ -1,11 +1,11 @@
1
- // Import and re-export as namespaces
1
+ // Import and re-export as namespaces with proper typing
2
2
  import * as composablesImport from './composables';
3
3
  import * as utilsImport from './utils';
4
4
  import * as typesImport from './types';
5
5
  import * as constantsImport from './constants';
6
6
 
7
- // Export as namespaces
8
- export const composables = composablesImport;
9
- export const utils = utilsImport;
10
- export const types = typesImport;
11
- export const constants = constantsImport;
7
+ // Export as namespaces with explicit typing
8
+ export const composables: typeof composablesImport = composablesImport;
9
+ export const utils: typeof utilsImport = utilsImport;
10
+ export const types: typeof typesImport = typesImport;
11
+ export const constants: typeof constantsImport = constantsImport;
@@ -1,2 +1,7 @@
1
- $transition-duration: 0.3s;
2
- $easing: cubic-bezier(0.23, 1, 0.32, 1);
1
+ $transition-duration: 0.3s !default;
2
+ $easing: cubic-bezier(0.23, 1, 0.32, 1) !default;
3
+
4
+ // Transition variables
5
+ $transition-base: all $transition-duration $easing !default;
6
+ $transition-fast: all 0.15s $easing !default;
7
+ $transition-slow: all 0.5s $easing !default;
@@ -5,6 +5,7 @@ $box-shadow-xs:
5
5
  0px 1px 2px 0px rgba(45, 54, 67, 0.04),
6
6
  0px 2px 4px 0px rgba(45, 54, 67, 0.08) !default;
7
7
  $box-shadow-sm: 0 2px 4px rgba(colors.$black, 0.075) !default;
8
+ $box-shadow-md: 0 4px 8px rgba(colors.$black, 0.1) !default;
8
9
  $box-shadow-lg: 0 16px 48px rgba(colors.$black, 0.175) !default;
9
10
  $box-shadow-xl: 0px 16px 64px -8px rgba(45, 54, 67, 0.14) !default;
10
11
  $box-shadow-inset: inset 0 1px 2px rgba(colors.$black, 0.075) !default;
@@ -13,16 +14,19 @@ $box-shadow-inset: inset 0 1px 2px rgba(colors.$black, 0.075) !default;
13
14
 
14
15
  $box-shadow-dark:
15
16
  0px 8px 40px -8px rgba(30, 30, 30, 0.7),
16
- 0px 4px 20px 0px rgba(30, 30, 30, 0.8);
17
+ 0px 4px 20px 0px rgba(30, 30, 30, 0.8) !default;
17
18
  $box-shadow-xs-dark:
18
19
  0px 1px 2px 0px rgba(30, 30, 30, 0.5),
19
- 0px 2px 4px 0px rgba(30, 30, 30, 0.5);
20
+ 0px 2px 4px 0px rgba(30, 30, 30, 0.5) !default;
20
21
  $box-shadow-sm-dark:
21
22
  0px 2px 4px -2px rgba(30, 30, 30, 0.5),
22
- 0px 4px 8px -2px rgba(30, 30, 30, 0.5);
23
+ 0px 4px 8px -2px rgba(30, 30, 30, 0.5) !default;
24
+ $box-shadow-md-dark:
25
+ 0px 4px 12px -2px rgba(30, 30, 30, 0.5),
26
+ 0px 6px 16px -2px rgba(30, 30, 30, 0.5) !default;
23
27
  $box-shadow-lg-dark:
24
28
  0px 8px 18px -2px rgba(30, 30, 30, 0.5),
25
- 0px 8px 24px -2px rgba(30, 30, 30, 0.5);
29
+ 0px 8px 24px -2px rgba(30, 30, 30, 0.5) !default;
26
30
  $box-shadow-xl-dark:
27
31
  0px 33px 61px -8px rgba(30, 30, 30, 0.9),
28
- 0px 8px 10px 0px rgba(30, 30, 30, 0.9);
32
+ 0px 8px 10px 0px rgba(30, 30, 30, 0.9) !default;
@@ -12,6 +12,8 @@ $btn-white-space: nowrap !default;
12
12
  $btn-icon-size: 20px !default;
13
13
  $btn-icon-size-sm: 18px !default;
14
14
  $btn-icon-size-lg: 22px !default;
15
+ $btn-letter-spacing: 0.0892857143em !default; // 1.25px/14px
16
+ $btn-text-transform: none !default;
15
17
 
16
18
  $btn-padding-y-sm: 8px !default;
17
19
  $btn-padding-x-sm: 16px !default;
@@ -28,6 +30,9 @@ $btn-focus-width: 2px !default;
28
30
  $btn-box-shadow:
29
31
  0 1px 3px rgba(0, 0, 0, 0.1),
30
32
  0 1px 2px rgba(0, 0, 0, 0.06) !default;
33
+ $btn-focus-box-shadow: 0 0 0 $btn-focus-width rgba(var(--#{$prefix}primary-rgb), 0.25) !default;
34
+ $btn-focus-outline: 2px solid var(--#{$prefix}primary) !default;
35
+ $btn-focus-outline-offset: 2px !default;
31
36
 
32
37
  $btn-disabled-color: var(--#{$prefix}disabled-text-emphasis) !default;
33
38
  $btn-disabled-bg: var(--#{$prefix}secondary-bg-subtle) !default;
@@ -20,7 +20,8 @@ $card-border-color: var(--#{config.$prefix}primary-border-subtle) !default;
20
20
  $card-border-radius: var(--#{config.$prefix}border-radius-lg) !default;
21
21
  $card-image-border-radius: $card-border-radius !default;
22
22
 
23
- $card-boxshadow: null !default;
23
+ $card-boxshadow: none !default;
24
+ $card-hover-box-shadow: none !default;
24
25
  $card-height: null !default;
25
26
 
26
27
  $card-bg: var(--#{config.$prefix}primary-bg-subtle) !default;
@@ -1,3 +1,6 @@
1
+ @use 'settings.config' as config;
2
+ @use 'settings.border-radius' as *;
3
+
1
4
  $form-width: 100% !default;
2
5
  $form-items-spacer-y: 32px !default;
3
6
  $form-items-spacer-x: 12px !default;
@@ -6,6 +6,7 @@
6
6
  $navbar-padding-x: 64px !default;
7
7
  $navbar-padding-y: 8px !default;
8
8
  $navbar-container-max-width: 1600px !default;
9
+ $navbar-height: 56px !default;
9
10
 
10
11
  // Navbar appearance
11
12
  $navbar-bg: var(--#{$prefix}body-bg) !default;
@@ -3,7 +3,7 @@
3
3
  // Font, line-height, and color for body text, headings, and more.
4
4
 
5
5
  // Font stacks with appropriate fallbacks
6
- $Roboto: 'Roboto', sans-serif;
6
+ $Roboto: 'Roboto', sans-serif !default;
7
7
 
8
8
  $helvetica-neue:
9
9
  'Helvetica Neue',
@@ -44,7 +44,7 @@ $font-weight-base: $font-weight-normal !default;
44
44
  // $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins
45
45
  // $font-size-base affects the font size of the body text
46
46
  $font-size-root: null !default;
47
- $font-size-base: 1rem; //16px
47
+ $font-size-base: 1rem !default; //16px
48
48
  $font-size-xs: $font-size-base * 0.75 !default; //12px
49
49
  $font-size-sm: $font-size-base * 0.875 !default; //14px
50
50
  $font-size-md: $font-size-base * 1.125 !default; //18px
@@ -1,3 +1,5 @@
1
+ @use 'sass:map';
2
+
1
3
  $z-layers: (
2
4
  n1: -1,
3
5
  0: 0,
@@ -6,4 +8,20 @@ $z-layers: (
6
8
  3: 3,
7
9
  4: 4,
8
10
  5: 5,
9
- );
11
+ dropdown: 1000,
12
+ sticky: 1020,
13
+ fixed: 1030,
14
+ modal: 1040,
15
+ popover: 1050,
16
+ tooltip: 1060,
17
+ drawer: 1070,
18
+ ) !default;
19
+
20
+ // Z-index variables for common components
21
+ $z-index-dropdown: map.get($z-layers, dropdown) !default;
22
+ $z-index-sticky: map.get($z-layers, sticky) !default;
23
+ $z-index-fixed: map.get($z-layers, fixed) !default;
24
+ $z-index-modal: map.get($z-layers, modal) !default;
25
+ $z-index-popover: map.get($z-layers, popover) !default;
26
+ $z-index-tooltip: map.get($z-layers, tooltip) !default;
27
+ $z-index-drawer: map.get($z-layers, drawer) !default;